【てらふぉーむ】

Terraform とは?

💡 インフラを「コードで書いて」ボタン1つで構築
📌 このページのポイント
Terraform — Infrastructure as Code のフロー HCLコード resource "aws_ec2" type = "t3.micro" ami = "ami-xxx" {'}'} Plan 差分を確認 + 追加: 1 - 削除: 0 Apply 変更を実行 ✓ 適用完了 クラウド EC2 VPC / S3 State ファイル — 現在の状態を記録・管理 マルチクラウド AWS / GCP / Azure 統一的に管理 コードでインフラを定義し、Plan→Applyで安全にプロビジョニング
Terraformのイメージ
ひよこ ひよこ

Terraformの基本的な流れは?

ペンギン先生 ペンギン先生

①main.tfにインフラをHCLで記述(resource "aws_instance" "web" { ami = "..." })、②terraform initでプラグイン初期化、③terraform planで何が作成/変更/削除されるか確認、④terraform applyで実際に構築。このplan→applyの2段階でミスを防ぐんだよ

ひよこ ひよこ

stateファイルって何?

ペンギン先生 ペンギン先生

Terraformが「今のインフラの状態」を記録するJSONファイルだよ。次にapplyするとき、コードとstateの差分だけを適用する。stateはS3+DynamoDBでリモート管理するのがベストプラクティス。stateを壊すとインフラとの同期が取れなくなるから、慎重に扱う必要があるよ

ひよこ ひよこ

モジュールって何?

ペンギン先生 ペンギン先生

再利用可能なTerraformの部品だよ。「VPC+サブネット+セキュリティグループ」をモジュールにまとめれば、複数環境(本番/ステージング/開発)で同じ構成を簡単に作れる。Terraform Registryに公式・コミュニティモジュールが公開されているから、車輪の再発明をせずに済むよ

ひよこ ひよこ

Terraformの代替は?

ペンギン先生 ペンギン先生

AWS CloudFormationAWS専用、YAML/JSON)、PulumiTypeScript/Python等でインフラを書ける)、CDK(AWS CDK、TypeScriptCloudFormationを生成)が主要な代替だよ。マルチクラウドならTerraform、AWSオンリーならCDK、プログラミング言語で書きたいならPulumiが選択肢だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Terraform」って出てきたら「コードでクラウドインフラを構築・管理するツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Terraform」 = テラフォーム
💬 Terraform(惑星改造)が語源。クラウドという「惑星」をコードで思い通りに「改造」するイメージだよ
← 用語集にもどる