この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
以前、CLIにてCentOS 7の最新AMI IDを取得する方法をご紹介しましたが、今回はTerraformで最新のCentOS 7のAMI IDを取得してEC2を構築する方法をご紹介したいと思います。
前提
次のバージョンのTerraformを使用しています。
$ terraform --version
Terraform v0.12.12
+ provider.aws v2.33.0
解説
5〜13行目: 見たままですが、以前にご紹介したCLIと同じ条件になっています。most_recent
が便利ですね。
16行目: 取得したAMI IDを10行目で使用しています。簡単ですね。
最新のAMI IDが使用されているかを確認したいので、EC2の設定は必要最小限になっています。
provider aws {
region = "ap-northeast-1"
}
data aws_ami centos7_ami {
most_recent = true
owners = [ "aws-marketplace" ]
filter {
name = "product-code"
values = [ "aw0evgkw8e5c1q413zgy5pjce" ]
}
}
resource aws_instance demo {
ami = data.aws_ami.centos7_ami.id
instance_type = "t2.micro"
}
起動してみる
terraform apply
でインスタンスを作成し、コンソールから確認してみます。記事執筆時点で最新のAMI IDが使用されていることが確認できました。
さいごに
非常に簡単に実現できました。どなたかの参考になれば幸いです。