使用しているシステムには、現在の Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスで使用できる量よりも多くの CPU またはメモリが必要です。インスタンスタイプを変更する前に実行する必要がある手順を知りたいです。
簡単な説明
Amazon EC2 Linux インスタンスをワークロードに合わせて最適化するには、インスタンスタイプを変更してください。インスタンスタイプを変更すると、ワークロードの次の設定を変更できます。
- CPU コアの数
- RAM の容量
- 割り当てられたインスタントストアスペースの量
- Amazon Elastic Block Store (Amazon EBS) の最適化
- 強化されたネットワーク
- GPU コア
- FPGA
- 機械学習アクセラレーター
**注:**インスタンスとデータのバックアップを維持するのがベストプラクティスです。インフラストラクチャを変更する前に、AMIを作成 するか、EBSボリュームのスナップショットを作成してください。
解決策
現在のインスタンスタイプが新しいインスタンスタイプと互換性があることを確認する
インスタンスタイプまたはインスタンスファミリーを変更する前に、現在のインスタンスタイプと新しいインスタンスタイプに互換性があるかを確認してください。互換性の問題の一覧については、「インスタンスタイプを変更する際の互換性」を参照してください。
互換性を確認したら、Amazon EBS-backed インスタンスのインスタンスタイプを変更できます。
インスタンスを停止する
インスタンスタイプを変更する前に、インスタンスを停止する必要があります。
重要:
- インスタンスがインスタンスストアベースの場合や、データを含むインスタンスストアボリュームがある場合、インスタンスを停止するとデータは失われます。あるインスタンスのストアベースのインスタンスから別のインスタンスのストアベースのインスタンスに移行する場合は、インスタンスを移行する必要があります。詳細については、「インスタンスストアベースのインスタンスのインスタンスタイプの変更」を参照してください。
- インスタンスが Amazon EC2 Auto Scaling グループの一部である場合、インスタンスを停止するとインスタンスが終了する可能性があります。Amazon EMR、AWS CloudFormation、または AWS Elastic Beanstalk を使用してインスタンスを起動した場合、そのインスタンスは AWS Auto Scaling グループの一部である可能性があります。このシナリオでのインスタンスの終了は、Auto Scaling グループのインスタンススケールイン保護設定によって異なります。インスタンスが Auto Scaling グループの一部である場合は、](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html)解決手順を開始する前に Auto Scaling[ グループから一時的にインスタンスを削除します。
- Elastic IP アドレスを使用していない場合は、インスタンスを停止して起動すると、インスタンスのパブリック IP アドレスが変更されます。外部トラフィックをインスタンスにルーティングする場合は、パブリック IP アドレスの代わりに Elastic IP アドレスを使用するのがベストプラクティスです。Amazon Route 53 を使用している場合は、パブリック IP が変更されたときに](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-editing.html)Route 53 の DNS レコードを更新[ しなければならない場合があります。
**Amazon EC2 コンソールを使用してインスタンスを停止する **
-
インスタンスを停止すると、すべてのインスタンスストアボリュームのデータが消去されます。インスタンスを停止する前に、必要なデータがインスタンスストアボリュームから Amazon EBS や Amazon S3 などの永続ストレージにコピーされていることを確認します。
-
Amazon EC2 コンソールを開きます。
-
[インスタンス] を選択し、インスタンスを選択します。
-
[インスタンスの状態] を選択し、[インスタンスの停止]を選択します。[インスタンスの停止] オプションが使用できない場合、インスタンスはすでに停止しているか、そのルートデバイスがインスタンスストアボリュームであるかのどちらかです。
-
確認を求められたら、[停止] を選択します。インスタンスが停止するまでに数分かかることがあります。
**コマンドラインインターフェイスを使用してインスタンスを停止する **
次のコマンドのいずれかを実行します。これらのコマンドラインインターフェイスの詳細については、「 Amazon EC2 へのアクセス」を参照してください。
**注:**AWS CLI コマンドを実行したときにエラーが発生した場合は、AWS CLI の最新バージョンを使用しているかを確認してください。
強化されたネットワーク
拡張ネットワーキングをサポートするインスタンスに変換する場合は、必要なドライバーをすべてインストールし、現在のインスタンスで拡張ネットワーキングを有効にします。詳細については、 「Linux の拡張ネットワーク」を参照してください。
Nitro ベースのインスタンスタイプ
インスタンスを Nitro ベースのインスタンスタイプに変更する場合は、次のアクションを実行してください。
- インスタンスに NVMe モジュールと ENA モジュールがインストールされていることを確認します。
- /etc/fstab にリストされているすべてのブロックデバイスが NVMe ブロックデバイス名 (/dev/nvme1、/dev/nvme2 など) と互換性があるかを確認してください。
- Amazon EBS ボリュームはこれらのインスタンスタイプに NVMe デバイスとして公開され、デバイス名は停止または開始イベント時に変更されます。ボリュームのミスマッチを避けるには、** UUID またはラベル** ファイルシステムを使用してファイルシステムをマウントします。
これらのチェックを自動化するには、NitroInstanceChecks スクリプトを実行します。詳細については、「Linux インスタンスのタイプを Nitro ベースのインスタンスタイプに変更した後に Linux インスタンスが起動しないのはなぜですか?」を参照してください。「NitroInstanceChecks スクリプトの実行」セクションの指示に従ってください。
スクリプトを実行して必要な更新を行った後、/etc/udev/rules.d/70-persistent-net.rules の** DRIVERS** エントリが ? もしくは ENA に設定されているか確認します。
テキストエディタを使用してファイルにアクセスします。次の例では、vi エディタを使用しています。
vi /etc/udev/rules.d/70-persistent-net.rules
正しいエントリは次のように表示されます。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0
現世代のインスタンスでのネットワーク
現世代のインスタンスは、仮想プライベートクラウド (VPC) でのみ起動します。現在のインスタンスが EC2-Classic インスタンスの場合は、そのインスタンスを VPC 内の Linux インスタンスに移行します。
EC2 アーキテクチャの混合
インスタンスのソース AMI が特定のアーキテクチャ向けに構築されている場合、作成できるのは同じアーキテクチャのインスタンスタイプに制限されます。特定のアーキテクチャ向けに構築された AMI の例には、32 ビット (i386)、64 ビット (x86\ _64)、または 64 ビット ARM (arm64) などがあります。これは、インスタンスが mac1 インスタンスタイプ用に作成された AMI を実行している場合にも当てはまります。これらのイメージをインスタンスタイプ間で移動することはできません。
関連情報
インスタンスのステータスチェック
Amazon EC2 の価格
ネットワークパフォーマンスを最大限に引き出すには、EC2 インスタンスを第 6 世代インスタンスに移行する前に何をする必要がありますか?