最終更新 2026年3月5日 最終更新者 administrator
IaCはInfrastracture as Codeのことで、日本語に翻訳すると「コードとしてのインフラ」になり、プログラムのようなソースコードでAWSなどのサービス等を管理することを指します。
この記事では、AWSで使えるIaCツールとその使い方について紹介します。
- AWS CloudFormation
- Terraform
- Pulumi
CFn、Terraform、Pulumi、各ツールの違い
CFn、Terraform、Pulumiにおける各ツールの違いを表にまとめました。
| CloudFormation | Terraform | Pulumi | |
| 有償・無償 | 一部の機能は課金されるがほとんど大部分の機能は無料 | 有償のものもあるが無償で十分使える | 複数名のユーザーで使用する場合は課金が必要 |
| ライセンス | 無料 | OSS | OSS |
| 対応プラットフォーム | AWSのみ | マルチクラウド | マルチクラウド |
| 構文 | YAMLまたはJSON | HCL(HashiCorp Configuration Language) | YAML,JavaScript,Python, Go,.NET,Java,TypeScriptなど |
| 特徴 | AWS公式のツールなので、CDKとも連携しやすくAWS関連の開発者向けツール | AWS以外のサービスも無償で使えるプランで十分に管理が可能 | 様々な構文に対応 |
AWS CloudFormationの概要

AWS CloudFormation(エーダブリューエス クラウドフォーメーション)は、AWSが公式に提供しているIaCツールです。JSONもしくはYAMLの形式でAWSのサービスを管理します。
https://aws.amazon.com/jp/cloudformation
AWS CloudFormationはCFnなどと略して表記します。
一部の機能には課金がかかりますが、原則AWS CloudFormationでAWSのサービスを操作するのに課金は発生しません。
CloudFormationの詳細は以下の記事で詳しく調べてまとめています。
AWS Cloud Formationの使い方
AWS CloudFormationの使い方については以下別記事にてまとめます。
※準備中
Terraform(テラフォーム)の概要

Terraform(テラフォーム)はHashiCorpが開発しているAWS以外のクラウドサービスでも使用が可能なIaCツールです。
https://developer.hashicorp.com/terraform
Terraformの使い方
Terraformの詳細な使い方については以下の別記事にてまとめて紹介します。
Pulumiの概要

Pulumiは、TypeScript、Python、Go、C#、Java、YAMLといった様々なプログラム言語で、AWS、Google Cloud、Azureなど様々なクラウド環境を管理することができるツールです。
DSLとの格闘はもう終わり。TypeScript、Python、Go、C#、Java、YAMLでインフラストラクチャを記述できます。AWS、Azure、Google Cloud、Kubernetes、そして
数千ものプロバイダーにデプロイできます。Apache 2.0オープンソースエンジンがすべてを支えています。
https://www.pulumi.com/product
まとめ
IaCでクラウドを管理することで、わかりやすくどこを変更したかなどが管理しやすくなります。小規模な個人開発であればIaCによる管理は不要かもしれませんが、大規模開発においてはIaCに関する技術的な理解は必須です。
AWS CloudFormationはAWSの公式ドキュメントや個人記事なども充実しているため、活用して技術を理解しましょう。
Terraformに関しても、AWS以外にGCPなどの管理もできる上、インターネット上に記事も大量にあるため、自分で調べるなどして理解を深めることが重要です。

