IaCの概要とAWSで使えるIaCツールの使い方まとめ

最終更新 2026年3月5日 最終更新者 administrator

IaCはInfrastracture as Codeのことで、日本語に翻訳すると「コードとしてのインフラ」になり、プログラムのようなソースコードでAWSなどのサービス等を管理することを指します。

この記事では、AWSで使えるIaCツールとその使い方について紹介します。

  • AWS CloudFormation
  • Terraform
  • Pulumi

CFn、Terraform、Pulumi、各ツールの違い

CFn、Terraform、Pulumiにおける各ツールの違いを表にまとめました。

CloudFormationTerraformPulumi
有償・無償一部の機能は課金されるがほとんど大部分の機能は無料有償のものもあるが無償で十分使える複数名のユーザーで使用する場合は課金が必要
ライセンス無料OSSOSS
対応プラットフォームAWSのみマルチクラウドマルチクラウド
構文YAMLまたはJSONHCL(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など様々なクラウド環境を管理することができるツールです。

https://www.pulumi.com

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などの管理もできる上、インターネット上に記事も大量にあるため、自分で調べるなどして理解を深めることが重要です。