Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

    View Slide

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

    View Slide

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

    View Slide

  4. 背景
    ● 今まで

    ○ メトリクス:Mackerel

    ○ ログ   :OpenSearch

    OpenSearchに移行した経緯はこちらをご覧ください

    CloudWatch LogsからOpenSearchへログ集約を移行した - CUEBiC TEC BLOG (hatenablog.com)
    4

    View Slide

  5. 背景
    ● 監視から可観測
    5

    View Slide

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

    View Slide

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

    View Slide

  8. GitHub Actions
    8

    View Slide

  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/[email protected]
    with:
    role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
    aws-region: ap-northeast-1

    View Slide

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

    View Slide

  11. Datadog
    11

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide