2023-01-01から1年間の記事一覧
2023年7月に出版された「SLO サービスレベル目標」を読んだ❗️ SLI / SLO をベースにサービスを運用するプラクティスが紹介されていて,SLI / SLO / エラーバジェットとは?という話から,検討・計測・文化まで,サービスの信頼性と向き合うためのノウハウが…
Amazon ECR で Basic scanning(基本スキャン)を使う場合に「リポジトリレベル」の設定は現在推奨されてなく,マネジメントコンソール上だと リポジトリレベルの ScanOnPush 設定は非推奨となり、レジストリレベルのスキャンフィルターが優先されます。 の…
AWS Backup で Amazon EC2 インスタンスをバックアップする構成を Terraform で構築する検証をしたので簡単にまとめておこうと思う 設定によっても異なるけど今回は大きく以下のリソースを使って構築した. aws_backup_vault | hashicorp/aws aws_backup_pla…
Cognito User Pool の「トークンエンドポイント」からトークンを取得するリクエスト要件は以下のドキュメントにまとまっている 検証のために curl でトークンエンドポイントにリクエストを送信する機会があって,今後再利用できそうだからコマンドの雛形を残…
今更ながら「SRE サイトリライアビリティエンジニアリング」を読んだ❗️ 出版された2017年にすぐ購入してパラパラとは読んだけど,当時の僕の経験値だと深くまで理解できなかったり,590ページという厚さに圧倒されたりもして,書評記事を書けず積読してしま…
Trivy の「Misconfiguration Scanning」は Terraform をサポートしていて(AWS CloudFormation もサポートしている),Terraform コードのセキュリティ課題や設定ミスを検出できる❗️Trivy を活用した Terraform のスキャンを試した作業ログをまとめる aquase…
Amazon CloudWatch Alarm で検出したアラームを PagerDuty に通知する仕組みを Terraform で構築する機会があって,検証用に実装した Terraform コードをまとめておく.設定自体は難しくなくて Amazon CloudWatch Alarm → Amazon SNS Topic → PagerDuty のよ…
Terraform コードを書きながらセキュリティ観点の警告を把握できるため tfsec を導入すると便利❗️ tfsec では AWS, Microsoft Azure, Google Cloud などさまざまなプロバイダをサポートしている 最近 AWS プロバイダを前提に tfsec を導入する機会があって,…
Application Load Balancer (ALB) の設定項目 routing.http.drop_invalid_header_fields.enabled を有効化すると不正な HTTP ヘッダーをターゲットに転送せず ALB で自動的に削除できるようになる HTTP ヘッダー名は正規表現 [-A-Za-z0-9]+ で表現する必要が…
書籍「LOVED」を読んだどうしたらプロダクトを通して市場とユーザーのニーズに応えられるのか.どうしたらプロダクトを認知してもらえるのか.本書は「プロダクトマーケティング」というテーマで,理論・アプローチ・事例まで学べる刺激的な一冊だった. と…
Terraform を使うときに記法やお作法を共通化してベストプラクティスに近付けるために TFLint を導入すると便利❗️ 最近 TFLint を導入する機会があったので作業ログをまとめる github.com TFLint をセットアップする TFLint のセットアップは macOS だと Hom…
2023年5月に出版された「スタッフエンジニア」を読んだ❗️ エンジニアのキャリアパスとその役割などがうまく整理されていて良かった.そして,スタッフエンジニア(日本語にすると最上級エンジニア?)に限らず,組織に貢献しどう信頼を勝ち得るのか?という…
Terraform で Amazon ECR リポジトリのライフサイクルポリシーを設定するときに aws_ecr_lifecycle_policy リソースのドキュメントを読むとヒアドキュメントを使った例が載っている 個人的にはヒアドキュメントを使いたくなく,他の実装案を考えながら試して…
The GitHub Blog の記事 Enabling branch deployments through IssueOps with GitHub Actions を読んで「branch deployments(ブランチデプロイ)」というデプロイ戦略を知った プルリクエストを main ブランチにマージしてから本番環境にデプロイするのでは…
API のテストを自動化するなら Step CI が便利❗️ ちょうど導入するかどうか検証をしていて,とても良かったので紹介も兼ねてまとめたいと思う Step CI は API として REST 以外に GraphQL や gRPC などもサポートしていて,実行方法としては CLI や GitHub A…
今まで GitHub Actions から AWS を OIDC (OpenID Connect) で連携する場合にサムプリントを取得して ID プロバイダを作る必要があったしかし,2023年6月27日に GitHub Changelog でサムプリントを2種類設定するという記事が公開されて対応することになった…
Terraform の理解を証明できる HashiCorp 公式の認定試験「HashiCorp Certified: Terraform Associate (003)」に合格した❗️やったー 試験問題に関係する内容は NDA を厳守するため書かず,今回は「試験紹介(普及のため!)」と「勉強方法」をまとめたいと思…
コンテナイメージを zstd (Zstandard) で圧縮するとどのぐらいサイズを小さくできるのかに興味があって試してみた❗️今回は BuildKit(docker buildx コマンド)で zstd 圧縮をする.zstd 自体の詳細は以下のドキュメントなどを読むと良さそう docs.docker.co…
Terraform Cloud で管理してるステート (.tfstate) に terraform import コマンドで既存リソースを追加する機会があったので小ネタだけどまとめておく❗️流れとしては以下のブログ記事にもまとまっていて参考になる support.hashicorp.com 今回は Terraform v…
モブプログラミング中の Git Handover を実現するために mob コマンドをよく使っている.mob start と mob next でドライバーを交代できるのは便利で mob コマンドに関しては前に紹介記事を書いた kakakakakku.hatenablog.com 普段はターミナルで mob コマン…
2023年6月17日(3日前✨)にリリースされた AWS EventBridge Terraform module の最新バージョン v2.3.0 で Amazon EventBridge Scheduler がサポートされた モジュールを使えば多少ではあるけど記述量を抑えることができて,特に IAM Role まわりは楽になる…
2023年6月8日にリリースされた Amazon SQS の新しい API 3種類によって,Amazon SQS のデッドレターキュー (DLQ: Dead Letter Queue) に移動されたメッセージを "元のキュー" や "別のキュー" に戻す「DLQ 再処理」を AWS CLI / AWS SDK などから実行できる…
もっと Go を学びたくて学習コンテンツを探しているぞーという人におすすめできる「Gophercises」を紹介する❗️計20種類あるエクササイズ(どれも楽しい)をほぼ全て動画を観ながら写経して,とにかく楽しかったのでまとめることにした 動画を観ながらコード…
Amazon EventBridge Scheduler から Amazon ECS Task を定期的に実行する構成を Terraform で構築する機会があったのでまとめておく❗️Amazon EventBridge Scheduler とても便利 \( 'ω')/ tf ファイル 最初に完成形の tf ファイルを載せておく❗️今回は Amaz…
Terraform で ALB (Application Load Balancer) を構築するときに「アクセスログ」を Amazon S3 に流す設定をすると,以下のように InvalidConfigurationRequest というエラーが出る場合がある⚡️エラーをよく読むと Please check S3bucket permission と書い…
Amazon ECS で FireLens (Fluent Bit) を使ってログをルーティングするときに Fluent Bit の「設定ファイル」を書いて挙動をカスタマイズしたくなる場面は多くある.そして FireLens は設定ファイルタイプ config-file-type として s3 と file をサポートし…
AWS Modernization Workshop の「AWS Modernization Workshop with HashiCorp Terraform Cloud」を実施した❗️Terraform Cloud を使って AWS を操作する流れを一通り学べるので,特に Terraform や Terraform Cloud 入門者におすすめ.例えば "今までは AWS C…
Terraform Cloud で AWS を操作するときにアクセスキー(AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY)を使いたくなく,Terraform Cloud の「Dynamic Provider Credentials」を使って OpenID Connect (OIDC) と連携する仕組みを構築したので,ポイントをま…
AWS Amplify Hosting に GitHub からフロントエンドアプリケーションをデプロイする構成を AWS CloudFormation で構築する機会があった.AWS Amplify Hosting はコンソールだと比較的簡単にデプロイできるけど,今回は AWS CloudFormation と GitHub の Pers…
メール配信プラットフォーム「Mailtrap」を使うと,開発中にメールをテストしたり,実際にメールを配信したり,メール関連の悩みを幅広く解決できる❗️ちょうどメール関連のテスト戦略を設計していて,気になっていた Mailtrap の Email Testing を試してみた…