今回は古いAMI IDを利用してEC2を起動する方法について調べる機会がありましたので、備忘も兼ね記事にしております。
やりたかったこと
AWSマネージメントコンソールから、最新ではないAMI-ID(ここでは、AmazonLinux2023を想定)を指定してEC2を起動したい
背景
AmazonLinux2023のパッケージのバージョンアップを検証するために、古いAMI-IDでEC2を起動したかった
結論
AWSマネージメントコンソールからは、最新版のAmazonLinux2023のAMI-IDしか表示することが出来ない仕様になっていた。
ただし、AWS CLIを使えば出来ます。
古いAMI-IDでEC2を起動する(AWS CLI利用)
1.AmazonLinux2023で利用可能なAMI-IDの一覧を取得します。
aws ec2 describe-images --owners amazon --filters "Name=name,Values=al2023-ami-2023*" --query "reverse(sort_by(Images, &Name))[].[Name,ImageId,CreationDate]" --output table --include-deprecated
出力結果の抜粋は以下のとおりです。
Name | AMI ID | Creation Date |
---|---|---|
al2023-ami-2023.3.20240122.0-kernel-6.1-x86_64 | ami-05a03e6058638183d | 2024-01-20T00:07:15.000Z |
al2023-ami-2023.3.20240122.0-kernel-6.1-arm64 | ami-0fca7292592ff239f | 2024-01-20T00:07:44.000Z |
... | ... | ... |
al2023-ami-2023.0.20230222.1-kernel-6.1-x86_64 | ami-06b9a1f1f27895002 | 2023-02-24T05:02:33.000Z |
al2023-ami-2023.0.20230222.1-kernel-6.1-arm64 | ami-0371c963054703d24 | 2023-02-24T05:02:36.000Z |
2.表示されているAMI-IDを利用して以下コマンドを実行します。
※ すべてのパラメータを指定する必要はありませんが、備忘も兼ねているのでタグのパラメータ等はつけてます。
aws ec2 run-instances --image-id 手順1で見つけたAMI-IDを入力 --instance-type t3.micro --key-name 適当 --security-group-ids 適当 --subnet-id 適当 --iam-instance-profile Name="適当" --associate-public-ip-address --region ap-northeast-1 --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=test-ec2},{Key=Patch,Value=yes}]'
注意点
非推奨のAMIを使用する際は、サポート期限やセキュリティの問題に注意が必要です。
以上です。