Datadogの設定をTerraformで書いてGit管理した話

1.1K Views

November 03, 22

スライド概要

こちらのイベントでLT発表しました。
https://rakus.connpass.com/event/259685/

profile-image

インターネットメディアでWebメディアサイトのサーバー構築やインフラ運用改善を担当しているSREです。 ブログでまとめたLTスライドをアップロードします。

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Datadogの設定をTerraformで 書いてGit管理した話 1

2.

自己紹介 Name:ユータ Occupation:SRE Twitter:@Y0u281 (オーでなくゼロです) Twitter ブログ:https://zenn.dev/yuta28 2

3.

目次 ● 背景 ● Datadog ○ Terraform ○ GitHub Actions ● よかったこと ● まとめ ● 宣伝 3

4.

背景 ● 今まで ○ メトリクス:Mackerel ○ ログ :OpenSearch OpenSearchに移行した経緯はこちらをご覧ください CloudWatch LogsからOpenSearchへログ集約を移行した - CUEBiC TEC BLOG (hatenablog.com) 4

5.

背景 ● 監視から可観測 5

6.

Datadog やりたいこと ● SLO作成 ● 監視設定をコード管理 6

7.

Terraform ● 公式でDatadogモジュールを提供 ● モニタリング、SLOの設定ができる ● ダッシュボード作成もできるが… 7

8.

GitHub Actions 8

9.

GitHub Actions Terraform用のGitHub Actionsワークフロー - name: Terraform Format run: terraform fmt -check continue-on-error: true env: #Datadog APP key & API key TF_VAR_datadog_api_key: ${{ secrets.DATADOG_API_KEY }} TF_VAR_datadog_app_key: ${{ secrets.DATADOG_APP_KEY }} # OIDC certificated Terraform - name: Configure AWS uses: aws-actions/[email protected] with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ap-northeast-1 ↗ - name: Terraform Validate run: terraform validate -no-color - name: Terraform Plan if: github.event_name == 'pull_request' run: terraform plan -no-color -input=false - name: Terraform Apply if: github.ref == 'refs/heads/main' && github.event_name == 'push' run: terraform apply -auto-approve -input=false 9

10.

GitHub Actions mainにマージしたら自動 Apply PRしてPlanがうまくいくか確認 10

11.

Datadog 11

12.

Datadog ログをOpenSearchからDatadogへ集約 FluentdのプラグインにDatadog対応 12

13.

よかったこと ● ぐちゃぐちゃだったモニタリング設定がIaCできれいに整えられた ● GitHub Actionsで楽々CI/CD ● SLOの設定ができた 13

14.

まとめ ● モニタリングもIaC ● モニタリングも GitHub Actionsで自動化 14

15.

ありがとうございました 弊社のテックブログもご覧ください↓ 15