Terraform の認定試験「HashiCorp Certified: Terraform Associate (003)」に合格した
Terraform の理解を証明できる HashiCorp 公式の認定試験「HashiCorp Certified: Terraform Associate (003)」に合格した❗️やったー👏 試験問題に関係する内容は NDA を厳守するため書かず,今回は「試験紹介(普及のため!)」と「勉強方法」をまとめたいと思う.この記事を読んで興味を持って受験する人が増えたら良いなぁ〜と \( 'ω')/🟣...
View ArticleGitHub Actions と AWS を OIDC で連携するときに自動的に証明書の検証をしてくれるようになった
今まで GitHub Actions から AWS を OIDC (OpenID Connect) で連携する場合にサムプリントを取得して ID プロバイダを作る必要があった💡しかし,2023年6月27日に GitHub Changelog でサムプリントを2種類設定するという記事が公開されて対応することになったけど,2023年7月6日から AWS...
View ArticleStep CI で API のテストを自動化しよう
API のテストを自動化するなら Step CIが便利❗️ちょうど導入するかどうか検証をしていて,とても良かったので紹介も兼ねてまとめたいと思う📝Step CI は API として REST 以外に GraphQL や gRPC などもサポートしていて,実行方法としては CLI や GitHub Actions 以外に Jest など多くのサービスとの連携もサポートしている👏 また OpenAPI...
View ArticleBranch Deploy Action: GitHub Actions でブランチデプロイと IssueOps を試す
The GitHub Blog の記事 Enabling branch deployments through IssueOps with GitHub Actionsを読んで「branch deployments(ブランチデプロイ)」というデプロイ戦略を知った💡プルリクエストを...
View ArticleTerraform で Amazon ECR のライフサイクルポリシーを設定する
Terraform で Amazon ECR リポジトリのライフサイクルポリシーを設定するときに aws_ecr_lifecycle_policyリソースのドキュメントを読むとヒアドキュメントを使った例が載っている📝個人的にはヒアドキュメントを使いたくなく,他の実装案を考えながら試してみた❗️aws_ecr_repository | Resources | hashicorp/aws |...
View Articleどのようなキャリアパスで組織に貢献するか /「スタッフエンジニア」を読んだ
2023年5月に出版された「スタッフエンジニア」を読んだ❗️エンジニアのキャリアパスとその役割などがうまく整理されていて良かった.そして,スタッフエンジニア(日本語にすると最上級エンジニア?)に限らず,組織に貢献しどう信頼を勝ち得るのか?という振る舞いもうまく言語化されていた.自分自身のキャリアパスや得意不得意などを振り返りながら読めたのも良くて,今後の行動指針のプラスになった✌️また本書の後半では...
View ArticleTFLint: Terraform の Linter を活用しよう
Terraform を使うときに記法やお作法を共通化してベストプラクティスに近付けるために TFLintを導入すると便利❗️最近 TFLint を導入する機会があったので作業ログをまとめる📝github.comTFLint をセットアップするTFLint のセットアップは macOS だと Homebrew を使えば簡単〜今回は TFLint v0.47.0を前提にする.$ brew install...
View Articleなぜプロダクトマーケティングが重要なのか /「LOVED」を読んだ
書籍「LOVED」を読んだ📕どうしたらプロダクトを通して市場とユーザーのニーズに応えられるのか.どうしたらプロダクトを認知してもらえるのか.本書は「プロダクトマーケティング」というテーマで,理論・アプローチ・事例まで学べる刺激的な一冊だった.と同時に本書を読んだだけで満足するのではなく,実際にプロダクト(もしくは何かしらプロダクトのようなもの)でアプローチを実践をすることで学びを深められる一冊でもあ...
View ArticleALB の設定項目 routing.http.drop_invalid_header_fields.enabled を有効化する
Application Load Balancer (ALB) の設定項目 routing.http.drop_invalid_header_fields.enabledを有効化すると不正な HTTP ヘッダーをターゲットに転送せず ALB で自動的に削除できるようになる💡 HTTP ヘッダー名は正規表現 [-A-Za-z0-9]+で表現する必要があって,例えば _を HTTP...
View Articletfsec: Terraform のセキュリティスキャンを活用しよう
Terraform コードを書きながらセキュリティ観点の警告を把握できるため tfsecを導入すると便利❗️tfsec では AWS, Microsoft Azure, Google Cloud などさまざまなプロバイダをサポートしている👏 最近 AWS プロバイダを前提に tfsec を導入する機会があって,個人的に検証した作業ログをまとめる📝aquasecurity.github.ioまた...
View ArticleCloudWatch Alarm を SNS 経由で PagerDuty に通知する
Amazon CloudWatch Alarm で検出したアラームを PagerDutyに通知する仕組みを Terraform で構築する機会があって,検証用に実装した Terraform コードをまとめておく.設定自体は難しくなくて Amazon CloudWatch Alarm→ Amazon SNS Topic→...
View ArticleTrivy の Misconfiguration Scanning で Terraform の設定ミスを検出しよう
Trivy の「Misconfiguration Scanning」は Terraform をサポートしていて(AWS CloudFormation もサポートしている👏),Terraform コードのセキュリティ課題や設定ミスを検出できる❗️Trivy を活用した Terraform のスキャンを試した作業ログをまとめる📝aquasecurity.github.iotfsec から Trivy へ...
View Articleシステムの信頼性に焦点を置く SRE /「SRE サイトリライアビリティエンジニアリング」を読んだ
今更ながら「SRE サイトリライアビリティエンジニアリング」を読んだ❗️出版された2017年にすぐ購入してパラパラとは読んだけど,当時の僕の経験値だと深くまで理解できなかったり,590ページという厚さに圧倒されたりもして,書評記事を書けず積読してしまっていた📕 最近 Site Reliability Engineering...
View Articlecurl で Cognito User Pool のトークンエンドポイントにリクエストを送信する
Cognito User Pool の「トークンエンドポイント」からトークンを取得するリクエスト要件は以下のドキュメントにまとまっている📝 検証のために curl...
View ArticleAWS Backup で Amazon EC2 インスタンスをバックアップする構成を Terraform で構築する
AWS Backup で Amazon EC2 インスタンスをバックアップする構成を Terraform で構築する検証をしたので簡単にまとめておこうと思う💡 設定によっても異なるけど今回は大きく以下のリソースを使って構築した.aws_backup_vault | hashicorp/awsaws_backup_plan | hashicorp/awsaws_backup_selection |...
View ArticleTerraform で Amazon ECR の基本スキャンをレジストリレベルで設定する
Amazon ECR で Basic scanning(基本スキャン)を使う場合に「リポジトリレベル」の設定は現在推奨されてなく,マネジメントコンソール上だと リポジトリレベルの ScanOnPush 設定は非推奨となり、レジストリレベルのスキャンフィルターが優先されます。のように警告が表示される🚨 現在は「レジストリレベル」での設定をする必要がある💡Terraform だと...
View ArticleSLO をベースとしたアプローチをどう組織の文化にするのか /「SLO サービスレベル目標」を読んだ
2023年7月に出版された「SLO サービスレベル目標」を読んだ❗️SLI / SLO をベースにサービスを運用するプラクティスが紹介されていて,SLI / SLO / エラーバジェットとは?という話から,検討・計測・文化まで,サービスの信頼性と向き合うためのノウハウが凝縮されていた📕 読む前は SLO をテーマに 432 ページ!?...
View ArticleAthena で ALB アクセスログの time フィールドを Asia/Tokyo (JST) に変換する
Amazon Athena で Application Load Balancer (ALB) のアクセスログを検索するときにタイムスタンプ timeのタイムゾーンは UTCになっている💡検索するときに JSTに変換したい❗️と思う場面があって,最近クエリを作っていたため,今後すぐに再利用できるようにクエリサンプルをメモしておこうと思う \( 'ω')/サンプル: SELECT単純に timeを...
View Article正式リリースになった AWS SAM CLI の Terraform サポート機能を試す
2023年9月5日に AWS SAM CLI の Terraform サポート機能が GA (正式リリース)になった👏Amazon API Gateway や AWS Lambda 関数などサーバーレス関連のコンポーネントは Terraform で統一的に管理しつつも,AWS SAM CLI の開発支援機能(sam local invokeコマンドや sam local...
View ArticleGoss: サーバー設定の検証を自動化しよう
歴史的経緯 (?) によって構成ドリフト状態(Infrastructure as Code 本参照)になっている Amazon EC2 インスタンスが複数台あって,まずはサーバーの期待値を宣言して自動テストもしくは自動検証をする仕組みを作りたいなぁーと考えていた💡今までの経験としては,2014-2016年頃によく使っていて,過去にブログ記事を書いていたりもする...
View Article