Slide 1

Slide 1 text

Terraform で Datadog のアラートを 一元管理! @kouzyunJa

Slide 2

Slide 2 text

自己紹介 ● 名前 ○ こうじゅん ● 現職 ○ ファインディ株式会社 プロダクト開発部 SREチーム ● 経歴 ○ 1995年生まれの大阪出身 ○ 私大文系 ➔ コワーキングスペース運営会社 ➔ SES1社目 ➔ SES2社目 ➔ 現職 ● X ○ kouzyunJa ● TechBull ○ 1年半ほど前からジョイン ○ 1on1やブログ執筆 ● 趣味 ○ Music🎸 ■ UVERworld、アジカン、04 Limited Sazabys、とか。

Slide 3

Slide 3 text

ファインディに転職したブログ書いてます! https://techbull.cloud/archives/1755

Slide 4

Slide 4 text

LTの概要 ● TerraformでDatadogのアラートを一元管理する ● アラートの手動管理の課題、コード化すべき理由 ● TerraformでDatadogのアラートをコード化する実装方法 ● まとめ ※今回は、AWSリソースのアラート設定に絞って話します!

Slide 5

Slide 5 text

Datadogについて ● DatadogはSaaS型の運用監視ツール ● インフラ監視、アプリケーションパフォーマンス監視、ログ管理、SLO監視など 幅広い監視が可能 ● AWSなどのクラウド環境と統合し、メトリクスを可視化 ● アラートの設定もできる

Slide 6

Slide 6 text

Terraformについて ● Terraformはインフラ構成をIaCで管理できるツール ● HCL(HashiCorp Configuration Language)で記述 ● AWSやDatadogのリソースもコードで書ける

Slide 7

Slide 7 text

Terraformについて Terraform と Cloudformationの違いについて ● マルチクラウド対応 ○ TerraformはAWS/Google Cloud/Azureなどマルチクラウド環境を管理で きるが、CloudFormationはAWS専用 ● 言語の違い ○ TerraformはHCL、CloudFormationはJSON/YAMLを使用 ● 実行方法の違い ○ TerraformはCUIのみ操作可能だが、CloudFormationはCUIだけでなく GUI(AWSコンソール)でも操作可能

Slide 8

Slide 8 text

アラートの手動管理の課題と、コード管理すべき理由 ● コンソール(GUI)での設定管理は設定ミスが発生しやすい ● 手動更新が煩雑で、設定漏れや管理漏れが起きる ● バージョン管理ができておらず、誰が変更したのか不明になる ● アラーム一覧.xlsx のドキュメントで頑張って管理して運用していく

Slide 9

Slide 9 text

アラートの手動管理の課題と、コード管理すべき理由 Terraformを導入すると ● コード化で手作業の設定ミスが防げる ● すべてのアラートをコードで一括管理 ● Gitを導入してバージョン管理が可能になる ● アラーム一覧.xlsxのドキュメントとさよなら!

Slide 10

Slide 10 text

Terraformでアラートをコード化する実装方法 1. AWSインテグレーション、Datadogプロバイダーの設定 2. Terraformでアラート定義を記述 3. 通知設定 4. CI/CDを導入

Slide 11

Slide 11 text

AWS integration、Datadog Providorの設定 AWS Integrationの設定 ● AWSとDatadogを統合して、メトリクスを取得できるようにする ● DatadogがAWSのメトリクスを取得できるようにIAMロールを作成 AWS Cloud integration

Slide 12

Slide 12 text

AWS integration、Datadog Providorの設定 AWS Integrationの設定 ● AWS Integration自体もTerraformで設定できる ● APIキーとApplicationキーを作成し、TerraformのProvidor設定に記述

Slide 13

Slide 13 text

Terraformでアラート定義を記述 Terraformのdatadog_monitorリソースを使ってアラート定義を記述

Slide 14

Slide 14 text

通知設定 ● DatadogでSlack Integrationの設定を入れれば、Slack通知ができる ● @slack-[Channel] をmessageに記述すると、指定したSlackチャネルへ通知

Slide 15

Slide 15 text

CI/CDを導入 ● GitHub Actionsを使い、Terraformリソースの変更にCI/CDを導入 ● アラートの変更をプルリク経由でレビュー&適用できる User GitHub GitHub Actions Terraform Datadog

Slide 16

Slide 16 text

まとめ ● Terraformでアラートを一元管理し、手動更新を不要に ● バージョン管理ができ、誰が何を変更したか追える ● 手動設定ミスを防ぎ、運用コストと負担を削減 ● チーム全体でアラートの変更をレビューしながら管理できる

Slide 17

Slide 17 text

ありがとうございました!!