Terraformで最新のAmazon Linux 2のAMI IDを取得してEC2を構築する

2019.10.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Terraformで最新のAmazon Linux 2のAMI IDを取得してEC2を構築する方法をご紹介したいと思います。

前提

次のバージョンのTerraformを使用しています。

$ terraform --version
Terraform v0.12.12
+ provider.aws v2.33.0

解説

Amazon Linux2の最新AMI IDはこちらの記事にある通り、パラメータストアから取得することができます。コードの5〜7行目で同じことをしています。

取得したAMI IDを10行目で使用しています。簡単ですね。

最新のAMI IDが使用されているかを確認したいので、EC2の設定は必要最小限になっています。

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

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

resource aws_instance demo {
  ami = data.aws_ssm_parameter.amzn2_ami.value
  instance_type = "t2.micro"
}

起動してみる

terraform applyでインスタンスを作成し、コンソールから確認してみます。記事執筆時点で最新のAMI IDが使用されていることが確認できました。

さいごに

他のOSについても機会があれば記事にしたいと思います。

どなたかの参考になれば幸いです。