Datadogの設定をTerraformで書いてGit管理した話1
View Slide
Name:ユータOccupation:SRETwitter:@Y0u281 (オーでなくゼロです)ブログ:https://zenn.dev/yuta28自己紹介Twitter2
目次 ● 背景● 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 Actions8
GitHub ActionsTerraform用のGitHub Actionsワークフロー9- name: Terraform Formatrun: terraform fmt -checkcontinue-on-error: true- name: Terraform Validaterun: terraform validate -no-color- name: Terraform Planif: github.event_name == 'pull_request'run: terraform plan -no-color -input=false- name: Terraform Applyif: github.ref == 'refs/heads/main' && github.event_name == 'push'run: terraform apply -auto-approve -input=falseenv:#Datadog APP key & API keyTF_VAR_datadog_api_key: ${{ secrets.DATADOG_API_KEY }}TF_VAR_datadog_app_key: ${{ secrets.DATADOG_APP_KEY }}# OIDC certificated Terraform- name: Configure AWSuses: aws-actions/[email protected]with:role-to-assume: ${{ secrets.AWS_ROLE_ARN }}aws-region: ap-northeast-1↗
GitHub Actions10PRしてPlanがうまくいくか確認mainにマージしたら自動 Apply
Datadog11
DatadogログをOpenSearchからDatadogへ集約FluentdのプラグインにDatadog対応12
よかったこと● ぐちゃぐちゃだったモニタリング設定がIaCできれいに整えられた● GitHub Actionsで楽々CI/CD● SLOの設定ができた13
まとめ14● モニタリングもIaC● モニタリングもGitHub Actionsで自動化
ありがとうございました弊社のテックブログもご覧ください↓15