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

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

Avatar for kuro kuro
May 29, 2024

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

Avatar for kuro

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