🙄
【Terraform】0からAWSにアプライするまで
AWSコンソールでの操作
IAM>ユーザー>ユーザーの作成
画面下部の”次へ”を押下
”ポリシーを直接アタッチする”を選択して”AdministratorAccess”にチェックを入れ、画面下部の”次へ”を押下
あとは特に設定項目なく、作成できた気がする。
IAM>ユーザー>(作成したユーザー)
セキュリティ認証情報タブから”コンソールアクセスを有効化”する。
同タブ”アクセスキー”をから”アクセスキーを作成”を押下
サードパーティーサービスを選択して画面下部の”次へ”を押下
適当な説明を入力して作成
このタイミング以外ではアクセスキーを取得できないらしいので必ずどこかに控えるor CSVデータをダウンロードする
ターミナルでの操作
AccessKeyID
export AWS_ACCESS_KEY_ID=<さっき取得したやつ>
SecretAccessKey
export AWS_SECRET_ACCESS_KEY=<さっき取得したやつ>
コーディング
ここでは、backend.tfにS3とかの諸々の設定を書くことにした。(terrafromは同一ディレクトリ内全部実行するから必ずしもbackend.tfである必要はない。)
backend.tf
terraform{
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
backend "s3" {
bucket = "terraform-montblanc-test-tfstate"
key = "terraform.tfstate"
region = "ap-northeast-1"
}
}
provider "aws" {
region = "ap-northeast-1"
}
あとは任意のリソースをコーディングしてこちらのコマンド
terraform init
terraform plan
terraform apply
Error: failed to get shared config profile, my-profile
このエラーに丸2日間悩まされました()
backend.tfで直接アクセスキーとシークレットキー書き込むとか色々あるらしいんですけど、
これ以外うまくいきませんでした。ターミナルで打ってください。
呪文
aws configure --profile profile-name
AWS Access Key ID [None]: アクセスキー
AWS Secret Access Key [None]: シークレットキー
Default region name [None]: 自分が使うRegion
Default output format [None]: (そのままEnter)
参考文献
Discussion