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_KEY
cd terraform/global
terraform init
cd terraform/environments/dev
terraform init
cd terraform/global
terraform plan
terraform apply
cd terraform/environments/dev
terraform plan
terraform apply
terraform fmt
terraform fmt -check
echo $? # 0:差分なし or 3:差分あり
terraform fmt -diff -check # -checkを付けないとフォーマットされるので注意
cd terraform
terraform fmt -recursive
terraform validate