Terraformで最新のCentOS 7のAMI IDを取得してEC2を構築する
はじめに
以前、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が使用されていることが確認できました。
さいごに
非常に簡単に実現できました。どなたかの参考になれば幸いです。