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

Datadogのmonitorを Terraform管理に爆速で 移行する

kuro
May 29, 2024

Datadogのmonitorを Terraform管理に爆速で 移行する

kuro

May 29, 2024
Tweet

More Decks by kuro

Other Decks in Programming

Transcript

  1. どっちの方法がいい? - datadog_monitorとして管理する。 - Terraform管理に移行するのが少し時間かかりそう。 - コメントを書くことができる。 - jsonに比べると見やすい。 -

    datadog_monitor_jsonとして管理する。 - Terraform管理に移行するのがすぐ終わる。 →ほぼjsonをUI画面からコピーするだけ。 - jsonなのでコメントを書けない。 - 量が多くなると管理しにくそう、見にくい。
  2. 愚直な移行方法 1. 空のリソースをtfファイルに定義 resource "datadog_monitor" "hoge" { } 2. terraform

    import datadog_monitor.hoge 123456みたいなコマンドを叩く →Datadogの場合は、IDはmonitorのURLに含まれる数字 3. terraform state show datadog_monitor.hogeでstateを確認 4. stateを参考に、空のリソースを埋める。 5. terraform planで実際のリソースとの差分を確認。  →大量にmonitorがある場合かなり時間がかかりそう。。。
  3. 2. terraform plan -generate-config-out=〇〇を使う 少し手のかかるポイント - こちらもmodule構成のものをいきなり自動生成できない。 - 不要な項目までtfファイルに反映される。 -

    importブロックをあらかじめ定義する必要がある。 → terrafomerでimportしたリソース名を修正するより、importブロックを 定義する方が少し楽?
  4. 参考文献 - Terraform Datadog monitor resources - datadog_monitor_json | Resources

    | DataDog/datadog | Terraform - Command: import | Terraform | HashiCorp Developer - GitHub - GoogleCloudPlatform/terraformer: CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code - Import - Generating Configuration | Terraform | HashiCorp Developer - Refactoring | Terraform | HashiCorp Developer