Webアプリケーション開発を想定したAWSリソースのTerraform習作
- AWSアカウントエイリアス
- AWSアカウントパスワードポリシー
- AWS SecurityHub
- AWS GuardDuty
- AWS Config
- AWS CloudTrail
- AWS ResourceGroup
- ...and more
terraform/ # IaC
├── environments # 環境別
│ └── dev # development
│ └── modules # dev用module
│ └── stg # staging
│ └── modules # stg用module
│ └── prd # production
│ └── modules # prd用module
├── global # AWSアカウント共通リソース
│ └── modules # 共通リソース用module
└── modules # 汎用module
└── service # service用module
- Terraform 0.12.28
~/.aws/credentials
[terraform-aws-iac]
region = ap-northeast-1
aws_access_key_id = AWS_ACCESS_KEY_ID
aws_secret_access_key = AWS_SECRET_ACCESS_KEYcd terraform/global
terraform initcd terraform/environments/dev
terraform initcd terraform/global
terraform plan
terraform applycd terraform/environments/dev
terraform plan
terraform applyterraform fmtterraform fmt -check
echo $? # 0:差分なし or 3:差分ありterraform fmt -diff -check # -checkを付けないとフォーマットされるので注意cd terraform
terraform fmt -recursiveterraform validate