$30 off During Our Annual Pro Sale. View Details »

Terraform Plan/Apply結果の自動通知

Terraform Plan/Apply結果の自動通知

Kohei Yamamoto

June 10, 2022
Tweet

Other Decks in Programming

Transcript

  1. Terraform Plan/Apply結果の 自動通知 2022-06-08

  2. 自己紹介 山本 晃平 (Kohei Yamamoto) • Web接客プラットフォームを提供する株式会社Sprocketのバックエンドエンジニア • 言語: Go,

    Scala, Python, Terraform • インフラ、ミドルウェア: Kubernetes, BigQuery, Dataflow, Apache Kafka • バックエンド技術を広く浅く学んでいます。 • 趣味: 合気道 • Twitter: @yamamocket
  3. トピック • Terraformとは何か • Terraform Plan/Apply結果をどう通知しているか • 結果通知を導入にあたった経緯 • 通知の実現方法の詳細

  4. Terraformとは何か • インフラリソースをコードで管理するIaCを実現するツール • Planコマンド: インフラの変更差分を表示 • Applyコマンド: インフラの変更差分を適用 •

    CodeBuildを利用してTerraform Plan/ApplyをCI/CDに組み込んで いる
  5. Terraform Plan結果の通知 • GitHubのコメントとしてPlan結果を投稿

  6. Terraform Apply結果の通知 • Terraform Applyが成功したかどうかをSlackに通知

  7. 結果通知を導入に当たった経緯 結果通知がないとき

  8. 結果通知を導入に当たった経緯 結果通知がないとき つら い!
 つら い!


  9. 結果通知を導入に当たった経緯 結果通知があるとき

  10. Plan通知の詳細 • tfnotifyというOSSツールを使用 • GitHubへのコメントだけでなく、Slackへの投稿なども可能 • 使い方 ◦ terraform plan

    | tfnotify plan • 投稿のテンプレートは設定ファイルから指定可能
  11. Apply通知の詳細 • EventBridgeとLambdaで実装 • CodeBuildの実行結果イベントにより、Lambdaを発火し、Slackの Webhook URLへポスト

  12. まとめ・所感 • Terraform Plan/Applyをどのように通知しているかを紹介 • 特にPlanをGitHubコメントとして投稿することでTerraform開発体験 が飛躍的に良くなった。 ◦ 今までAWSコンソールへいちいちログインするのが煩わしかっ た。

    • Applyの通知により、PRをマージした後GitHubへ再訪する必要がな くなった。