EC2のインスタンスタイプの変更方法

パフォーマンス不足やコスト最適化のためにインスタンスタイプを変更する場合があるかと思います。 今回はそんな場合にどうやってインスタンスタイプを変更するかを整理しました。
2023.11.02

用語整理

まず初めに簡単に用語の整理を行なっておきます。

  • EC2: AWSの仮想サーバーを提供するサービス
  • インスタンス: 仮想サーバー
  • インスタンスタイプ: 仮想サーバの性能の類型

つまるところ、サーバーのスペックを変更するにはインスタンスタイプの変更を行う必要があるということです。

以下ではこのインスタンスタイプの変更手順について説明していきます。

手順

インスタンスの停止

インスタンスタイプを変更するためにはまず初めにインスタンスを「停止」する必要があります。 EC2のコンソール画面よりインスタンスタイプを変更したいインスタンスを選択してから、インスタンスの停止を実行します。

インスタンスを停止するとサーバー内で動作しているソフトウェアも停止してしまうので、停止のタイミングには気をつけましょう。

また、この時間違って「インスタンスを終了」を選ばないように気をつけてください。 「インスタンスを終了」選択した場合インスタンスが削除されてしまいます。

ステータスが「停止済み」になるまで待機します。

インスタンスタイプの変更

インスタンスタイプを変更したいインスタンスを選択してから、「インスタンスタイプの変更」をクリックします。

すると以下のような画面に遷移します。

ここではどのインスタンスタイプに変更したいかを選びます。 今回はt3.nanoからt3.smallに変更します。 「適用」ボタンを押すとインスタンスタイプの変更が行われます。

インスタンスタイプが希望通りに変更されていることを確認します。

インスタンスの開始

先ほどインスタンスを停止してしまっていたので、最後に再度開始してインスタンスタイプの変更は終わりです。

Compute Optimzerの利用

Compute Optimizerを有効化している場合は、変更先のインスタンスをCompute Optimizerで調べるのが便利です。

ただ、互換性がないものをサジェストされる可能性があるので注意してください。

自分で選ぶ場合

以下の動画がインスタンスタイプの選択について分かりやすいかと思います。

費用込みで変更先のインスタンスタイプを探したい場合は以下のページが便利です。※1

以下のような画面でリージョン(地域)を選ぶとそこで利用可能なインスタンスタイプがリストアップされます。

インスタンスタイプ変更に関する注意点

インスタンスタイプを変更するにあたって注意点があります。 EC2では任意のインスタンスタイプに変更できるわけではありません。

インスタンスタイプの互換性を意識する必要があります。

インスタンスタイプは以下のような命名規則になっています。

例えばインスタンスサイズの変更のみだったら互換性がある場合が多いです。※2

例: m6i.large -> m6i.xlarge

もう少し詳細な注意点について

色々と項目がありますが、現行のインスタンスタイプから現行のインスタンスタイプへの変更で重要になりそうなポイントをリストアップしてみました。

項目 注意すべき点 補足
アーキテクチャ CPUのアーキテクチャの互換性 同じCPUアーキテクチャを選択するようにしましょう NG例: m6i(x86) -> m6g(ARM)
ネットワークカード アタッチできるネットワークカードの上限数 複数のネットワークカードをアタッチしている場合は同じく複数アタッチ可能なものを選ぶ必要があります
拡張ネットワーク SR-IOVへの対応 T2系への変更、またはT2系から変更する場合には注意しましょう
NVMe NVMeドライバーのインストール NVMeに対応していないインスタンスタイプからNVMeに対応しているインスタンスタイプに変更する場合はNVMeドライバをインストールする必要があります
ボリューム数 EBSボリュームの上限数 インスタンスタイプ毎にアタッチできるEBSボリュームの上限数が異なります。複数のEBSボリュームをアタッチしている場合は上限数に注意しましょう

終わりに

EC2では即座にサーバースペックを変更することが可能です。 日々変化するビジネス要件に追従していくだけの柔軟性がAWSにはあると思います。

注釈

  • ※1: こちらはオンデマンドインスタンスの料金です。
    • Savings Planやリザーブドインスタンスについてはこちらから確認できます。
    • Amazon EC2 料金
  • ※2: ネットワークカードやEBSのボリューム数の上限など完全に互換でない場合があるので注意してください。