https://qiita.com/momotaro98/items/24cec11fc050c014057f
ISUCON環境をAWS上に構築するterraformモジュール郡
専用鍵がなければ以下のようにして鍵を生成する。
ssh-keygen -t rsa -b 4096 -C "isucon key" -f isucon_id_rsa
公開鍵をisucon_id_rsa.pub
の名前で以下の場所に置く。
modules/credential/isucon_id_rsa.pub
terraformで構築後、以下のようにEC2へSSHできる。
ssh -i path/isucon_id_rsa ubuntu@public-domain
terraform.tfvars.json
=> .gitignoreしている。 利用者がファイルをローカル上で作成する必要がある。variables.tf
=> デフォルト値を指定している。
terraform.tfvars.json
の例
{
"access_cidr_blocks": "256.256.256.256/32"
}
standalone_ami_owner
=> AMIの所有者。standalone_ami_nameと組み合わせる。standalone_ami_name
=> AMI所有者が持つAMI名。先頭文字として検索し重複するAMIがある場合は最新が利用される。�terraform.tfvars.json
で指定しておく必要あり。access_cidr_blocks
=> EC2に指定するセキュリティグループのInboundで許可するIPアドレス。自身のインターネット環境でのグローバルIPなど指定してください。ec2_members
=> 立ち上げるEC2を指定。現状はすべてのEC2は上記の同じAMIがあてられる。
初回
terraform init
初回以降
terraform plan
terraform apply
terraform destroy
ファイルフォーマット、バリデーション
terraform fmt
terraform validate