IaC(Infrastructure as Code)を始めるとき、最初に迷うのが「AWS CDKとTerraform、どちらを使うか」です。2026年10月時点の公式情報で両者を比べ直し、ブログにまとめました。
この記事で分かること
- 2025〜2026年に何が変わったか(CDKTFの終了、IBMによるHashiCorp買収など)
- CDKとTerraformの根本的な違い
- 10の軸での比較表
- どんなチームにどちらが向くか
- AIエージェントにIaCを書かせるときの注意点
一番大きな違い
- CDK: TypeScriptなどのコードを実行して、CloudFormationのテンプレートを作る。状態はAWSが管理し、失敗したら自動で元に戻る
- Terraform: HCLで「こうなっていてほしい」と宣言し、今の状態と比べて差分を反映する。状態(stateファイル)は自分で管理し、失敗すると途中まで作られた状態が残る
初心者向けの判断基準
- AWS以外(Datadog、GitHubなど)もコードで管理したい → Terraform
- アプリ開発者がAWSだけのインフラを書く → CDK
- stateファイルを管理したくない → CDK
- TypeScriptでTerraformを書けるCDKTFは2025年12月に終了したので、新しく選ばない
AIに書かせるときの注意
- 人が見るべきなのはコードではなく、
terraform planやcdk diff、change set の差分 - AIに許すのは差分の作成までにして、適用は人が差分を見てから行う
- HashiCorpとAWSの公式MCPサーバーが使えるが、古い記事にあるawslabs版のCDK・CloudFormation・Terraform用MCPサーバーは2026年4月に削除された
筆者が実際にTerraformで構築したときにハマった例(App RunnerのCREATE_FAILEDからの復旧)も載せています。
※2026年10月時点の公開情報に基づきます。
記事本文はこちら
https://shinichi.noguchi.jp.net/blog/2026-10-03-cdk-vs-terraform.html