EC2 インスタンスタイプ変更時に互換性があるか確認する方法を教えてください
困っていること
EC2 インスタンスのタイプを変更したいのですが、異なるインスタンスタイプ間に互換性があるか、どのように確認すればよいですか?
どう解決すればいいの?
AWS マネジメントコンソールまたは AWS CLI を使用して、インスタンスタイプ間の互換性を確認できます。
AWS マネジメントコンソールでの確認方法
- 既存のインスタンスを選択し、「アクション」→「インスタンスの設定」→「インスタンスタイプを変更」を選択すると、互換性のあるインスタンスタイプの一覧が表示されます。
- 「EC2」→「インスタンスタイプ」メニューから、比較したいインスタンスタイプを検索し、それぞれの詳細情報(仮想化タイプ、アーキテクチャ、ENAサポート、NVMeサポートなど)を見比べることができます。
AWS CLIでの確認方法
以下のコマンドを実行することで、各インスタンスタイプの詳細な情報を取得できます。
aws ec2 describe-instance-types --instance-types <インスタンスタイプ>
実行例:
下記コマンドで互換性に関連する項目のみ出力して比較できます。
変更したいインスタンスタイプを指定してコマンドを実行してみてください。
aws ec2 describe-instance-types --instance-types <インスタンスタイプ1> <インスタンスタイプ2> --query "InstanceTypes[].[InstanceType, Hypervisor, SupportedVirtualizationTypes[0], ProcessorInfo.SupportedArchitectures[0], NetworkInfo.EnaSupport, InstanceStorageInfo.NvmeSupport]" --output table
実行結果:
$ aws ec2 describe-instance-types --instance-types i4i.2xlarge i3en.3xlarge --query "InstanceTypes[].[InstanceType, Hypervisor, SupportedVirtualizationTypes[0], ProcessorInfo.SupportedArchitectures[0], NetworkInfo.EnaSupport, InstanceStorageInfo.NvmeSupport]" --output table
--------------------------------------------------------------------
| DescribeInstanceTypes |
+--------------+--------+------+---------+------------+------------+
| i4i.2xlarge | nitro | hvm | x86_64 | required | required |
| i3en.3xlarge| nitro | hvm | x86_64 | required | required |
+--------------+--------+------+---------+------------+------------+
コマンドの出力結果から、AWS ドキュメントに記載の互換性を判断するための以下の項目を比較できます。
Hypervisor
: ハイパーバイザーの種類 (例:nitro
,xen
)supported-virtualization-type
: 仮想化タイプ (例:hvm
,paravirtual
)ProcessorInfo.SupportedArchitectures
: CPUアーキテクチャ (例:x86_64
)NetworkInfo.EnaSupport
: ENA (Elastic Network Adapter) のサポート状況InstanceStorageInfo.NvmeSupport
: NVMe のサポート状況
上記の結果から、仮想化タイプが両方とも hvm であることや、アーキテクチャが x86_64 であること、ENA がサポートされていること、NVMe がサポートされていることが確認できます。
これらの観点を確認することで、インスタンスタイプ変更の互換性があるか調査することができます。
参考資料
describe-instance-types — AWS CLI Command Reference
インスタンスタイプ変更の互換性 - Amazon Elastic Compute Cloud
Amazon EC2 で Xen ベースのワークロードを Nitro ベースに移行する | AWS re:Post
EC2 Windows インスタンスを Nitro ベースのインスタンスタイプに移行する - Amazon Elastic Compute Cloud