クラウドインフラを
コードで書けるようになる。
HCL の書き方、AWS の代表リソース定義、GitHub での運用までを一貫して学べる構成。 初学者がつまずきやすい順番と勘所を、公式ドキュメントと実運用ベースで体系化しました。
HCL(HashiCorp Configuration Language)
Terraform の設定言語そのもの。書き方の文法と考え方を順に。
はじめに ─ Terraform と HCL
IaC とは何か、なぜ HCL を使うのか。
基本構文(block / argument)
HCL のたった 2 種類の文法を理解する。
値(variable / local / output)
3 種類の値の使い分けとベストプラクティス。
型(string〜object・optional)
Terraform の型システムを正確に。
resource と data
作るもの(resource)と参照するもの(data)。
式と関数
三項演算子・for 式・splat・組み込み関数。
反復構築(count / for_each / dynamic)
「数だけ作る」「集合から作る」「ブロックを動的に作る」。
モジュール
再利用とディレクトリ分割。
state とワークフロー
terraform init / plan / apply、リモート backend、state 操作。
lock ファイルと依存管理
.terraform.lock.hcl の役割とコミット運用。
デバッグとトラブルシュート
terraform console、TF_LOG、エラー集。
provisioners と最終手段
非推奨の機能と、その代替案。
check / precondition / postcondition
plan で守るアサーションと継続監視。
AWS リソース定義
AWS プロバイダで頻出のリソース/属性/組み合わせを章ごとに。
プロバイダと認証
required_providers、profile、assume_role、default_tags。
VPC とネットワーク
VPC / Subnet / IGW / NAT / Route Table / SG。
EC2 とコンピュート
aws_instance、AMI 検索、key_pair、user_data。
S3 とストレージ
S3 バケットの「分離型」モダンスタイル、aws_s3_object。
IAM
role / policy / instance_profile / policy_document。
RDS / DynamoDB
aws_db_instance と aws_dynamodb_table。
Lambda / API Gateway
サーバーレス API の最小構成。
CloudFront / Route 53 / ACM
独自ドメインの静的サイトを作る一式(このサイト自身の構成)。
CloudWatch / SNS / SQS
ログ・メトリクス・アラーム・キュー。
ECS / ECR / ALB
Fargate でコンテナを動かす。
データソース集
caller_identity / region / availability_zones / ami など。
KMS(暗号化キー管理)
カスタマー管理キー、自動ローテーション、キーポリシー。
Secrets Manager / SSM
機密値の保管と自動回転、データ駆動の設定。
EBS / EFS
ブロックストレージとファイルシステムの使い分け。
VPC Endpoints / PrivateLink
VPC から AWS API へプライベート接続。
Auto Scaling Group / Launch Template
EC2 の自動スケールとローリング更新。
EventBridge
cron スケジュール、イベント駆動、Scheduler。
AWS Backup
横断的バックアップ計画と Vault Lock。
Azure
azurerm プロバイダ向け章を準備中。
Coming soon
Azure Resource Manager (azurerm) プロバイダの章は順次公開予定です。
GCP
google プロバイダ向け章を準備中。
Coming soon
Google Cloud Platform (google) プロバイダの章は順次公開予定です。
GitHub × Terraform 運用
共同作業の土台と CI/CD、モジュール公開/自動更新まで。
Git 基本コマンド
add / commit / push / pull / branch / merge を 1 ページで。
標準リポジトリ構成
modules/ と envs/ を使った Terraform 用ディレクトリ構成。
.gitignore と機密管理
state や .tfvars を絶対にコミットしない方法。
pre-commit フック
fmt / validate / tflint / trivy を commit 前に自動実行。
GitHub Actions × Terraform
PR で plan、main マージで apply の標準ワークフロー。
OIDC で AWS にキーレス認証
アクセスキーを secrets に入れない、推奨パターン。
ブランチ保護 / CODEOWNERS / Environments
本番 apply に人間ゲートを置く設定。
PR レビューの進め方(IaC 観点)
plan の差分・破壊的変更・コストの見方。
ブランチ戦略
GitHub Flow / Trunk-Based / Git Flow の比較。
モジュールバージョニング
semver と Git tag で安全にモジュールを共有。
Dependabot / Renovate
provider と module の自動更新 PR。
コミット規約(Conventional Commits)
1 行ルールで CHANGELOG とリリース自動化。
Reusable workflows / Composite actions
CI/CD の DRY 化、組織内共有。