Terraform Plan/Apply結果の自動通知
by
Kohei Yamamoto
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Terraform Plan/Apply結果の 自動通知 2022-06-08
Slide 2
Slide 2 text
自己紹介 山本 晃平 (Kohei Yamamoto) ● Web接客プラットフォームを提供する株式会社Sprocketのバックエンドエンジニア ● 言語: Go, Scala, Python, Terraform ● インフラ、ミドルウェア: Kubernetes, BigQuery, Dataflow, Apache Kafka ● バックエンド技術を広く浅く学んでいます。 ● 趣味: 合気道 ● Twitter: @yamamocket
Slide 3
Slide 3 text
トピック ● Terraformとは何か ● Terraform Plan/Apply結果をどう通知しているか ● 結果通知を導入にあたった経緯 ● 通知の実現方法の詳細
Slide 4
Slide 4 text
Terraformとは何か ● インフラリソースをコードで管理するIaCを実現するツール ● Planコマンド: インフラの変更差分を表示 ● Applyコマンド: インフラの変更差分を適用 ● CodeBuildを利用してTerraform Plan/ApplyをCI/CDに組み込んで いる
Slide 5
Slide 5 text
Terraform Plan結果の通知 ● GitHubのコメントとしてPlan結果を投稿
Slide 6
Slide 6 text
Terraform Apply結果の通知 ● Terraform Applyが成功したかどうかをSlackに通知
Slide 7
Slide 7 text
結果通知を導入に当たった経緯 結果通知がないとき
Slide 8
Slide 8 text
結果通知を導入に当たった経緯 結果通知がないとき つら い! つら い!
Slide 9
Slide 9 text
結果通知を導入に当たった経緯 結果通知があるとき
Slide 10
Slide 10 text
Plan通知の詳細 ● tfnotifyというOSSツールを使用 ● GitHubへのコメントだけでなく、Slackへの投稿なども可能 ● 使い方 ○ terraform plan | tfnotify plan ● 投稿のテンプレートは設定ファイルから指定可能
Slide 11
Slide 11 text
Apply通知の詳細 ● EventBridgeとLambdaで実装 ● CodeBuildの実行結果イベントにより、Lambdaを発火し、Slackの Webhook URLへポスト
Slide 12
Slide 12 text
まとめ・所感 ● Terraform Plan/Applyをどのように通知しているかを紹介 ● 特にPlanをGitHubコメントとして投稿することでTerraform開発体験 が飛躍的に良くなった。 ○ 今までAWSコンソールへいちいちログインするのが煩わしかっ た。 ● Applyの通知により、PRをマージした後GitHubへ再訪する必要がな くなった。