こんにちは、近藤(りょう)です!
AWS Application Migration Service(AWS MGN)を使用して AWS に移行する場合や、オンプレミスで稼働しているサーバをリホストする時に、同じRHELのバージョンを継続して利用したいことがあります。
マネジメントコンソール上では旧バージョンの OS を確認できないことがありますが、AWS CLI を利用することで 旧バージョン(非推奨となった AMI)の情報(AMI ID等)を確認し、旧バージョンの OSを起動することができます。
今回は、その時の実施方法についてご紹介させていただきます。
非推奨のAMI 確認方法
以下、AWS CLI を実行します。
■ 実行コマンド
$ aws ec2 describe-images --owners 309956199498 \ --include-deprecated \ --query 'sort_by(Images, &CreationDate)[*].[CreationDate,Name,ImageId]' \ --filters "Name=name,Values=RHEL-7.4*" \ --region ap-northeast-1 --output table
- 補足
- 309956199498:RHEL アカウント
- RHEL-7.4*:確認するOSバージョン
- ap-northeast-1:東京リージョン
■ 出力結果
------------------------------------------------------------------------------------------------- | DescribeImages | +---------------------------+---------------------------------------------------+---------------+ | 2017-05-18T18:52:06.000Z | RHEL-7.4_HVM_Beta-20170518-x86_64-1-Hourly2-GP2 | ami-31261f56 | | 2017-07-24T15:55:34.000Z | RHEL-7.4_HVM_GA-20170724-x86_64-1-Hourly2-GP2 | ami-3901e15f | | 2017-08-08T15:45:51.000Z | RHEL-7.4_HVM_GA-20170808-x86_64-2-Hourly2-GP2 | ami-30ef0556 | | 2018-01-04T02:34:27.000Z | RHEL-7.4_HVM-20180103-x86_64-2-Hourly2-GP2 | ami-eb50cd8d | | 2018-01-22T17:41:59.000Z | RHEL-7.4_HVM-20180122-x86_64-1-Hourly2-GP2 | ami-36f09350 | +---------------------------+---------------------------------------------------+---------------+
- 参考資料
- Red Hat Enterprise Linux Images (AMI) Available on Amazon Web Services (AWS) - Red Hat Customer Portal
$ aws ec2 describe-images --owners 309956199498 --query 'sort_by(Images, &CreationDate)[].[CreationDate,Name,ImageId]' --filters "Name=name,Values=RHEL-8" --region us-east-1 --output table
- Red Hat Enterprise Linux Images (AMI) Available on Amazon Web Services (AWS) - Red Hat Customer Portal
出力結果にある AMI IDは 非推奨となったAMIのため、マネージメントコンソール上で検索しても見つかりません。
非推奨となった AMI はマネジメントコンソールから表示されなくなりますが、AMI の ID がわかっている時に限り API、CLI または SDK を使用して非推奨の AMI を起動することができます。
- 参考資料
- AMI を非推奨にする - Amazon Elastic Compute Cloud
AMI ユーザーは、非推奨の AMI をは EC2 コンソール経由で選択できなくなります。例えば、非推奨の AMI は、インスタンスの起動ウィザードの AMI カタログに表示されません。AMI 所有者の EC2 コンソール上には、非推奨の AMI が引き続き表示されます。
AMI ユーザーで、非推奨となった AMI の ID がわかっている場合は、API、CLI、または SDK により、非推奨の AMI を使用しながらインスタンスの起動を継続することができます。
- AMI を非推奨にする - Amazon Elastic Compute Cloud
起動テンプレート作成
EC2 の起動テンプレートの作成方法については、AWS CLI を使い慣れている方が多いと思いますので非推奨となった AMI ID を使用する起動テンプレートを作成する方法(または 起動テンプレート変更)をご紹介します。
※実行方法は、適宜読み替えまたは公式ドキュメントを参考にしてください。
起動テンプレートを作成するには、次のコマンドを使用します。
詳細は create-launch-template を参照してください。
$ aws ec2 create-launch-template \ --launch-template-name MyLaunchTemplate \ --version-description "Version 1" \ --launch-template-data '{ "ImageId": "★対象のAMI★", "InstanceType": "t2.micro", "KeyName": "Mykeypair", "SecurityGroupIds": ["sg-xxxxxxxxxxxx"], "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Name", "Value": "MyInstance" } ] } ] }'
起動テンプレート変更(新しいバージョン作成)するには、次のコマンドを使用します。
詳細は create-launch-template-version を参照してください。
$ aws ec2 create-launch-template-version \ --launch-template-id ★起動テンプレートID★ \ --version-description "description" \ --launch-template-data '{ "ImageId": "★対象のAMI★" }'
■ 起動テンプレートを確認する
非推奨となったAMIを指定できたことを確認できました。
もちろんも起動できます。
なお、非推奨となったAMIは AWS CLIで実行した場合のみ表示されます。
まとめ
RHELになりますが 非推奨となった AMI を確認し、起動する方法をご紹介いたしました。
ただし、旧バージョンの利用にはサポート期限やセキュリティのリスクが伴うため、これらの点を十分に考慮した上でどうしても必要な場合に限り利用を検討してくださいませ。