4.5K Views
November 03, 22
スライド概要
こちらのイベントでLT発表しました。
https://rakus.connpass.com/event/259685/
Datadogの設定をTerraformで 書いてGit管理した話 1
自己紹介 Name:ユータ Occupation:SRE Twitter:@Y0u281 (オーでなくゼロです) Twitter ブログ:https://zenn.dev/yuta28 2
目次 ● 背景 ● Datadog ○ Terraform ○ GitHub Actions ● よかったこと ● まとめ ● 宣伝 3
背景 ● 今まで ○ メトリクス:Mackerel ○ ログ :OpenSearch OpenSearchに移行した経緯はこちらをご覧ください CloudWatch LogsからOpenSearchへログ集約を移行した - CUEBiC TEC BLOG (hatenablog.com) 4
背景 ● 監視から可観測 5
Datadog やりたいこと ● SLO作成 ● 監視設定をコード管理 6
Terraform ● 公式でDatadogモジュールを提供 ● モニタリング、SLOの設定ができる ● ダッシュボード作成もできるが… 7
GitHub Actions 8
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/configure-aws-credentials@v1 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
GitHub Actions mainにマージしたら自動 Apply PRしてPlanがうまくいくか確認 10
Datadog 11
Datadog ログをOpenSearchからDatadogへ集約 FluentdのプラグインにDatadog対応 12
よかったこと ● ぐちゃぐちゃだったモニタリング設定がIaCできれいに整えられた ● GitHub Actionsで楽々CI/CD ● SLOの設定ができた 13
まとめ ● モニタリングもIaC ● モニタリングも GitHub Actionsで自動化 14
ありがとうございました 弊社のテックブログもご覧ください↓ 15