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

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

YouYou
November 02, 2022

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

YouYou

November 02, 2022
Tweet

More Decks by YouYou

Other Decks in Programming

Transcript

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

  2. Name:ユータ Occupation:SRE Twitter:@Y0u281 (オーでなくゼロです) ブログ:https://zenn.dev/yuta28 自己紹介 Twitter 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ワークフロー 9 - name: Terraform Format run:

    terraform fmt -check continue-on-error: true - 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 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 ↗
  10. GitHub Actions 10 PRしてPlanがうまくいくか確認 mainにマージしたら自動 Apply

  11. Datadog 11

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

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

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

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