Terraformとは?わかりやすく解説【IaC・HCL・terraform apply・AWS連携】2026年版

Terraform(テラフォーム)はインフラをコードで定義・管理するIaCツール。HCL記法でAWS・GCP・Azureを統一管理できます。基本コマンド・Stateファイル・AnsibleとTerraformの使い分けを解説。

更新日: 2026-06-08 / IT Career Lab 編集部

Terraformとは何か(一言で)

Terraform(テラフォーム)とは、インフラをコードで定義・管理するIaC(Infrastructure as Code)ツールです。HashiCorp社が開発し、HCL(HashiCorp Configuration Language)という独自記法でAWS・GCP・Azureなど複数のクラウドを統一的に管理できます。「どのリソースを作るか」をコードで宣言すると、Terraformが現在の状態との差分を計算して適用します。

Terraformの基本コマンド4つ

terraform init — 作業ディレクトリを初期化。プロバイダープラグインをダウンロードする。
terraform plan — 実際に変更を加える前に、現在のStateとの差分を確認する。いわば「ドライラン」。
terraform apply — planの内容を実際にクラウドに適用する。確認プロンプトが出る。
terraform destroy — Terraformで管理しているリソースをすべて削除する。本番環境での実行は慎重に。

Terraformの主要概念

Provider

AWS・GCP・Azureなどを操作するプラグイン。providerブロックで宣言。

Resource

実際に作成するインフラリソース。EC2・S3・RDSなどをresourceブロックで定義。

State

現在の管理状態を記録するterraform.tfstateファイル。差分計算の基準となる。

Module

再利用可能なTerraformコードの単位。VPCやEKSクラスタなどを共通化できる。

TerraformとAnsibleの使い分け

ツール主な用途向いている作業
Terraformインフラのプロビジョニングサーバー・ネットワーク・DBの作成・変更
Ansibleミドルウェアの設定管理OS設定・ソフトウェアインストール・デプロイ

現場では両者を組み合わせて使うことが多く、「TerraformでVMを作り、AnsibleでミドルウェアをセットアップしてCI/CDでデプロイ」というパターンが一般的です。

よくある質問

AWSプロバイダーを設定し、provider "aws" { region = "ap-northeast-1" } のように記述します。その後 terraform init でプロバイダーをインストールし、resourceブロックでEC2やS3などのリソースを定義してterraform applyで適用します。AWSのアクセスキーはIAMロールまたは環境変数で設定するのが安全です。

チーム開発ではローカルではなくS3(AWS)やGoogle Cloud Storageなどのリモートバックエンドに保存し、DynamoDBなどでStateのロックを管理するのが推奨です。ローカル保存だとGitにコミットしてしまうリスクや複数人での競合が発生します。

CloudFormationはAWSに特化したIaCツールでAWSサービスとの親和性が高い一方、マルチクラウドには対応していません。TerraformはAWS・GCP・Azureなど複数のクラウドプロバイダーを同一のHCL構文で管理できるため、マルチクラウド環境ではTerraformが有利です。

関連用語・ページ

☸️

Kubernetesとは?

Terraform+EKSで管理されることが多い

🚀

CI/CDとは?

Terraformの自動適用にCI/CDを使う

☁️

クラウドとは?

TerraformはAWS/GCP/Azure全対応

ITエンジニアの転職

スキルを転職で年収アップにつなげる

ITエンジニア向け転職サービス2強を並行利用するのが最も効果的です。

Direct typeでスカウトを受取る → レバテックキャリアに相談する →

※どちらも完全無料。登録だけで市場価値を確認できます。