はじめに
Amazon EventBridge Schedulerで意図したEC2を落とすことができるかが心配になりました。
本番環境で動いているEC2を間違って落としてしまうのは嫌なので。
ということで、落とし上げをするためだけのEC2を構築することにしました。とはいうものの、試験するだけなので、安いEC2を使いたいです。探したら、t4g.nanoがありました。
使い回しのterraformを使うと、「アーキテクチャが違うよ!」とエラーメッセージが出たので、動いたterraformを書きます。
terraform
Amazon Linux 2023を使用します。dataで最新のarmのAMIを取得します。
valuesの箇所でarm64
を指定するのがポイントです。
# Amazon Linux 2023 の最新版AMIを取得
data "aws_ami" "amzlinux2" {
most_recent = true
owners = ["amazon"]
filter {
name = "name"
values = ["al2023-ami-2023*-arm64"]
}
}
続いて、以下のように書きます。amiは上で取得したAMIのIDをセットします。
instance_typeに"t4g.nano"というt4シリーズのarmアーキテクチャのインスタンスを指定している箇所です。
# EC2作成(スケジュールでの起動・停止対象)
resource "aws_instance" "schedule-ec2" {
ami = data.aws_ami.amzlinux2.id
instance_type = "t4g.nano"
availability_zone = "ap-northeast-1a"
subnet_id = aws_subnet.private-subnet-1a.id
associate_public_ip_address = false
tags = {
Name = "yamada-poc-ec2"
Stop = "Night"
Stop = "Weekend"
}
}