1クール続けるブログ

とりあえず1クール続けるエンジニアの備忘録

apacheのmod_cacheでお手軽キャッシュ機構

ユースケース 下記のような条件下にあるが、どうしてもキャッシュを使ってみたい場合に、mod_cacheは有効なのではというお話。 Amazon CloudFrontやAkamaiなどのCDNが諸事情によって使えない場合 お金をこれ以上かけられない ログを特定のフォーマットで出力…

システム監視の基礎についてまとめてみる

今度、社内でシステムの監視について話す機会があるので、自分用にまとめてみました。 参考にした書籍は「入門監視」「Site Reliability Engineering」「k8sで実践するクラウドネイティブDevOps」です。 SRE Workbookの方も読んで後で追記したい。 監視の定…

【読書メモ】 k8sで実践するクラウドネイティブDevOps

読書メモ www.oreilly.co.jp ↑の書籍の自分用読書メモ 現在の知識からの差分もしくは知っていても整理できていなかった部分を中心に 途中、自分で調べた補足なども入っているので本の内容でない部分もあり chapterごとに気になった点 3つの革命 クラウドの創…

【AWS Re:Inventレポート】CON334-R1 - [REPEAT 1] Running high-security workloads on Amazon EKS

Running high-security workloads on Amazon EKS 5日目にして初めてセッションに参加しました。 セッション参加して思ったこととしては、まず前を取ることが重要だなと感じました。英語読むスピードはどうしても日本語より遅くなってしまうので、追いきれな…

【AWS Re:Inventレポート】CMP318-R1 - [REPEAT 1] Kubernetes on Spot Instances: Optimize for scale and cost

Kubernetes on Spot Instances: Optimize for scale and cost 今まで受けてきたKubernetes系のWorkshopはカテゴリがContainerでしたが、今回はComputeです。最終日はセッション1つだけなので、Workshopとしては最後になります。どうやらEKSでも使用しているW…

【AWS Re:Inventレポート】CON206-R2 - [REPEAT 2] Management and operations for Amazon EKS

Management and operations for Amazon EKS 朝はDr. Werner VogelsのKeynoteを開始から1時間位みてきました。Firecrackerはcontainerdをベアメタルサーバごとに共通化させていて、それもオープンソースとして開発しているなど、非常に面白かったです。Fargat…

【AWS Re:Inventレポート】CON208-R1 - [REPEAT 1] Build your microservices application on AWS Fargate

Build your microservices application on AWS Fargate Fargateの初心者向けセッションです。 選ぶときに興味のあるトピックであれば、レベル関係なく受けようと思っていたのが良くなかったです。このセッションが4日間で受けたWorkshopのどれよりも簡単で少…

【AWS Re:Inventレポート】DOP201-R2 - [REPEAT 2] DevOps essentials: Introductory workshop on CI/CD practices

DevOps essentials: Introductory workshop on CI/CD practices お米食べたい気持ちが最高潮に達してしまった3日目2つ目のワークショップです。 AWSのCodeシリーズを使ったWorkshopです。CodeBuild/CodeDeployは使ってみたほうがいいんだろうなとは昔から思…

【AWS Re:Inventレポート】AIM223-R4 - [NEW LAUNCH!] [REPEAT 4] AWS DeepComposer: Get started with generative AI

AWS DeepComposer: Get started with generative AI 火曜のKeynoteの後に見たら偶然予約できました。おそらく新セッションが出てくるタイミングでUnreservedされた座席があったのだと思います。Walk-Upの列はとんでもないことになっていました。 正直、機械…

【AWS Re:Inventレポート】HAC301-R1 - AWS GameDay: Main event countdown (PM)

AWS GameDay: Main event countdown (PM) 2日目の午後からは、GameDayに参加してきました。 午前中は何をしていたかというとAndy JessyのKeynoteを見てきました。プレゼンの合間に生バンドの演奏が挟まり、それぞれのトピックのトレンドを象徴するかのような…

【AWS Re:Inventレポート】CON209-R - [REPEAT] Using AWS App Mesh to monitor and control your first containerized app

Using AWS App Mesh to monitor and control your first containerized app 1日目としては3回目のWorkshopになります。Walk-Upで着いたのが30分前くらいだったのですが、すんなり入れました。Bellagioが会場だったのですが、セッションが少ない会場の一つだ…

【AWS Re:Inventレポート】CON203-R1 - [REPEAT 1] Getting started with Kubernetes on AWS

Getting started with Kubernetes on AWS 去年のWorkshopの資料を見たことがあったので、行くか迷ったんですが、1年経ってアップデートがあるかも…?であったり復習としてはちょうど良いのではないかという気持ちで参加いたしました。 資料を見る限りでも135…

【AWS Re:Inventレポート】SVS201-R - [REPEAT] Build a serverless web app for a theme park

SVS201-R - [REPEAT] Build a serverless web app for a theme park セッション会場(MGM)まで 初日の朝8時半に滞在先のTreasure Islandを出て、Mirageのシャトルバス乗り場に向かいました。 Mirageのシャトルバス乗り場は北口にあり、前日に行ったVenetianに…

AWS Summit 2019 Day2に参加してきました

幕張で開催されたAWS Summit2019にDay2から参加してきました!各セッションの感想を書いていきたいと思います。 セッションの他にもブース等回ろうと思っていましたが時間がなく、認定者ラウンジにちょっと立ち寄ったのみでした。ラウンジでは自撮りブースと…

AWSソリューションアーキテクト アソシエイトに合格したので試験の雰囲気や勉強方法について書きます

何番煎じかも分からない記事にはなってしまいますが、こういう人もいるぞという材料にしていただければ幸いです。 当日・結果 準備 自分のプロフィール 勉強方法 黒本を読む わからない箇所をBlackBeltやDevelopers.ioで確認する 模試を受けてみる 復習がて…

ローカル開発環境(apache/tomcat)をコンテナ化+SSL化

ローカルのapache+tomcatで動いているアプリケーションをdockerに乗っけてみました。 SSL込みで設定していきました。Docker for Macを使用しています。 成果物をこちらのリポジトリにあげておきます。 github.com Apache httpd.confの作成 鍵の作成 httpd-ss…

SpinnakerのPipeline Expressionsで他stageの情報を取ってくる

SpinnakerのPipeline Expressions KubernetesやAmazon ECSを絡めたCI/CDでは既にデファクト感のあるSpinnakerですが、日本語の記事が少ないのと公式ドキュメント自体も不足はしてないのですが若干物足りない部分があります。KubernetesのBlue/Green Deployを…

試して理解 Linuxのしくみ 読みました 1章~3章

gihyo.jp 上記を読んだので学んだことをアウトプットしたいと思います。大学の授業で低レイヤのことを学んできませんでした。そのため、本書でLinuxに関して体系的に学べたの非常に良かったです。 本書の中で手を動かすパートに関しては、C言語やPythonの代…

Go言語によるWebアプリケーション開発まとめ・感想 チャットアプリ編

オライリー出版のGo言語によるWebアプリケーション開発を読んだ感想 チャット部分編 オライリーから出版されているGo言語によるWebアプリケーション開発を読みました。1章から3章までがWebsocketを使用したチャットアプリケーション開発となるのですが、そ…

Kubernetes完全ガイド読んだ感想・まとめ

青山さんのKubernetes完全ガイド読みました インプレスさんより出版されているKubernetes完全ガイドを読みました。今まで行き当たりばったりでKubernetesを学んできた自分にとって、ものすごく学びが多かったですし、体系だった知識に整理できた一冊でした。…

GKEのマスターノードVerが上がったので変更点まとめる

2018年8月20日からGKEのマスターノードのVersionが1.8.xは1.9.7に、1.9.xは1.10.6に上がりました。 ノードの自動アップグレードをonにしているクラスターは何もしなくても、ワーカーノードのVersionも上がってることかと思います。 ただ、バージョン上がると…

Goの並行処理解説ブログを参考に少しソースを書き換えてみて理解を深める

Goの並行処理について書かれたブログ medium.com このブログがイラスト付きで本当に可愛くGoの平行処理の基礎を教えてくれて良いんです。 このブログを参考に整理してみる このブログはある一つの例を取って、並行処理に記述しています。それは鉱物の発見・…

CurlでGCSにファイルをアップロードする

gsutilがどうしても使えないけどGCS使いたい 例えば、KubernetesのPostStartとかPrestopでGCSからダウンロード/アップロードするとか。 Dockerfile内でGCS使わなくてはいけなくなった。でもそれだけのためにRUNして後でお片づけするのも時間ちょっと増えるし…

docker参照コマンドチートシート

よく使うDockerコマンド 調査系のみ コンテナの基本情報を絞って表示 docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}' NAMES IMAGE STATUS r1 redis Up 25 minutes コンテナのIPアドレス一覧 docker ps -q | xargs docker inspect --format…

ECSでnode exporterのネットワーク関係のメトリクスが取れない

ネットワークのメトリクス大事ですよね 障害が発生したときなどに、何が起因なのか切り分ける場合などにネットワークのメトリクスはとても大事になると思います。 例えば、TCPのコネクションなどはデータベースとの接続を見るときとかに役に立ちますよね。 n…

pod(Kubernetes)のlifecycle.prestopの挙動

コンテナ削除時すぐにコンテナをSTOPされると困ることありません? 例えば….? ApacheやNginxなどのWebサーバはSIGTERMが送られても、処理中のコネクションがCloseされないまま終了してしまう。 理想としては、残っている接続済みのコネクションを終了してか…

インフラ初心者がAWS(Amazon ECS)についてまとめてみた

AWS

前提となる知識の理解 以下の資料を読んで理解を深めた。 アマゾン ウェブ サービスの概要 20180411 AWS Black Belt Online Seminar Amazon EC2 リージョンとアベイラビリティーゾーン - Amazon Elastic Compute Cloud AWSにおけるマルチアカウント管理の手…

dokkuのソースコードでシェルスクリプトを勉強する

5月からの仕事がアプリケーション側でなくインフラ側になったので、急遽シェルスクリプトの勉強。powershellはちょいちょい扱ってはいたけども、Invoke-RestMethod(Linuxでのcurlコマンド)でjson取ってきて加工するみたいなことしかやってこなかったため知…

Effective Java 読書メモ 2章

英語版のEffective Java 第3版が出ていたので、日本語版が出るまでの繋ぎに。 もし読み終わっても出る気配が無かったら英語版買ってなんとか解読するしか。 コンストラクタの代わりにstaticファクトリーメソッドを活用する コンストラクタが複数で、渡す引…

黒べこ本(kotlin)でSpring Boot入門メモ③ (DI・バリデーション)

DIとは DIはDependency Injectionのことで日本語では依存性の注入と言われる。Springのドキュメントでは基本的には、類似の意味を持つIoC(Inversion of Control)という言葉が使われている。DIは、オブジェクトが依存関係を定義する処理となる。以下に挙げる…