Terraform環境構築からAmazon linuxの最新イメージを立てるまでのメモ

前提

  • aws configureでアクセスキーなどの設定を済ましている。

Terraformのインストール

$ brew install terraform

tfenvのインストール

$ brew install tfenv

そして怒られ

Error: Cannot install tfenv because conflicting formulae are installed.
Please `brew unlink terraform` before continuing.

言われたとおりunlinkを実行

$ brew unlink terraform

再実行

$brew install tfenv

うまく行ったっぽいので、いろいろ設定。 設定は、実践Terraformに合わせる。

$ tfenv use 0.12.5
$ echo 0.12.5 > .terraform-version
$ tfenv install

定義ファイル書く

data>aws_ssm_parameter>amzn2_am>value名前空間をたどっていくとAMI IDが取得できる。

provider aws {
  region = "ap-northeast-1"
}

# create ami amazon linux 2 latest version
data aws_ssm_parameter amzn2_ami {
  name = "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2"
}

# get ami id from Systems Manager Parameter Store
resource aws_instance tftest {
  ami           = data.aws_ssm_parameter.amzn2_ami.value
  instance_type = "t2.micro"
}

Terraform initとapply

$ terraform init
$ terraform apply

applyにあたって合意を求められるのでyes

  Enter a value: yes

apply完了

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

コンソールで確認

f:id:hagityann224:20200629172920p:plain
居てる

参考資料

dev.classmethod.jp

aws.amazon.com