
マネジメントコンソールの AMI 選択画面から確認できない古いバージョンの RHEL AMI から EC2 インスタンスを起動する方法
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
困っていた内容
オンプレで稼働している古いバージョン(RHEL7.4など)のサーバを AWS へ移行する必要があるが、マネジメントコンソールの AMI 選択画面では同じバージョンの AMI を確認することができない。
該当バージョンを使用した EC2 インスタンスを起動する方法があれば教えてください。
実際の状況
EC2 コンソールから AMI を選択して「パブリックイメージ」を選んだ後に、検索バーで公式の Red Hat Enterprise Linux AMI を識別する「所有者=309956199498」を入力し、「RHEL-7.4」と入力したが何もヒットしない。
どう対応すればいいの?
原因
AWS はバージョンが古く、非推奨となった AMI を EC2 コンソール経由で選択できないようにします。
・AMI ユーザーは、非推奨の AMI をは EC2 コンソール経由で選択できなくなります。例えば、非推奨の AMI は、インスタンスの起動ウィザードの AMI カタログに表示されません。AMI 所有者の EC2 コンソール上には、非推奨の AMI が引き続き表示されます。
・AMI ユーザーで、非推奨となった AMI の ID がわかっている場合は、API、CLI、または SDK により、非推奨の AMI を使用しながらインスタンスの起動を継続することができます。
対応方法
AWS CLI の describe-images コマンドを使用して、対象バージョンとなる(非推奨の) RHEL AMI の AMI ID を確認し、その AMI ID を run-instances コマンドで使用して EC2 インスタンスを起動します。
実際に EC2 インスタンスを起動させてみた
① describe-images コマンドを使用する
describe-images
コマンドを使用して希望する条件の AMI の検索をかけます。
今回は以下の条件でコマンドを実行して AMI 名と AMI ID をテキスト形式で返却するようにします。
- 所有者: 309956199498(※ 公式の RHEL)
- 非推奨のものも含める
- リージョン: 東京
- ルートデバイスタイプ: EBS
- アーキテクチャ: x86_64
- バージョン: RHEL-7.4
aws ec2 describe-images --owners 309956199498 \
--include-deprecated \
--region ap-northeast-1 \
--filters Name=root-device-type,Values=ebs Name=architecture,Values=x86_64 \
--output text \
--query 'Images[].[Name,ImageId]' \
| grep RHEL-7.4
コマンド結果は次のようになりました。
RHEL-7.4_HVM_GA-20170808-x86_64-2-Hourly2-GP2 ami-30ef0556
RHEL-7.4_HVM_Beta-20170518-x86_64-1-Hourly2-GP2 ami-31261f56
RHEL-7.4_HVM-20180122-x86_64-1-Hourly2-GP2 ami-36f09350
RHEL-7.4_HVM_GA-20170724-x86_64-1-Hourly2-GP2 ami-3901e15f
RHEL-7.4_HVM-20180103-x86_64-2-Hourly2-GP2 ami-eb50cd8d
② run-instances コマンドを使用する
上記で返却された結果にある ami-36f09350 をrun-instances
コマンドで使用します。
今回はインスタンスタイプとして t2.micro を選んでいます。
aws ec2 run-instances --image-id ami-36f09350 \
--instance-type t2.micro \
--key-name キーペア名 \
--region ap-northeast-1
コマンドを実行して少しすると EC2 コンソールで対象の AMI を使用した EC2 インスタンスが起動されました。
注記
-
非推奨の AMI ではサポート期限やセキュリティ更新の問題がありますため、検証や移行などの用途でどうしても古いバージョンの AMI を使って EC2 インスタンスを立ち上げる必要がある場合にのみ、上記の対応方法をご使用いただければと存じます。
-
describe-images
コマンドで返却される利用可能な AMI のリストは随時変更される可能性がございます。