自由気ままに書いちゃおう

好きなことをつらつらと・・・

【AWS】古いAMI-IDでEC2を起動する

今回は古い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を使用する際は、サポート期限やセキュリティの問題に注意が必要です。

以上です。