VM インスタンスのマシンタイプの変更

VM にローカル SSD がなく、マネージド インスタンス グループ(MIG)の一部でない場合は、停止した後に VM のマシンタイプを変更できます。

既存のマシンタイプが VM で実行するワークロードに適していない場合は、その VM のマシンタイプを変更します。ワークロードの変化に合わせて、VM のマシンタイプを変更して、vCPU の数とメモリを調整できます。たとえば、セットアップ、開発、テスト中に小さいマシンで VM を起動し、本番環境ワークロードの準備ができたら、より大きいマシンタイプを使用するように VM を変更できます。

ローカル SSD がなく、MIG の一部ではない VM の場合は、次のリソースに影響を与えることなくマシンタイプを変更できます。

  • VM の SSH 認証鍵
  • VM 構成(VM メタデータなど)
  • VM の永続ディスクデータ(インストールされたアプリケーションやアプリケーション データなど)

MIG 内の VM のマシンタイプを変更する必要がある場合は、MIG の更新についてご覧ください。

VM にローカル SSD がある場合、強制的に停止しない限り、VM を停止してマシンタイプを変更することはできず、ローカル SSD のデータはすべて失われます。詳細については、ローカル SSD の追加をご覧ください。

始める前に

料金への影響

請求される料金はマシンタイプごとに異なるため、マシンタイプを変更する際は、料金への影響を確認してください。たとえば、e2-standard-2 マシンタイプの費用は e2-micro マシンタイプより高くなります。

マシンタイプを変更すると、VM の継続利用割引に影響する可能性があります。継続利用割引は、同じリージョンの異なるカテゴリごとに個別に計算されます。新しいマシンタイプが別のカテゴリになるようにマシンタイプを変更した場合、VM の次の実行時間は新しいカテゴリの継続利用割引にカウントされます。

たとえば、n2-standard-2 マシンタイプの VM が半月稼働しているとします。このマシンタイプを m1-ultramem-40 に変更することにします。変更すると、Compute Engine はメモリ最適化 vCPU とメモリのカテゴリの継続利用割引を適用して、VM の実行時間を計測するようになります。

請求書には、マシンタイプの変更を行う前から n2-standard-2 マシンタイプに適用されている継続利用割引と、VM が月の残り 25% 以上の間 m1-ultramem-40 で実行されていれば、別途 m1-ultramem-40 に適用された継続利用割引が記載されます。

マシンタイプの変更

マシンタイプを変更できるのは停止した VM だけです。VM が停止しているとみなされるのは、VM が TERMINATED 状態にあるときのみです。実行中の VM のマシンタイプは変更できません。

このタスクに必要な権限

このタスクを行うには、次の権限が必要です。

  • VM に対する compute.instances.setMachineType

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [名前] 列で、マシンタイプを変更する VM の名前をクリックします。

  3. [VM インスタンスの詳細] ページで、次の手順を行います。

    1. VM が実行されている場合は、[停止] をクリックして VM を停止します。
    2. VM を編集するには、[ 編集] をクリックします。
    3. [マシンの構成] セクションで、使用するマシンタイプを選択するか、カスタム マシンタイプを作成します。

    4. 変更を保存するには、[保存] をクリックします。

gcloud

  1. gcloud compute instances stop コマンドを使用して VM を停止します。

    gcloud compute instances stop VM_NAME
    

    VM_NAME は、変更するマシンタイプを含む VM に置き換えます。

  2. マシンタイプを変更するには、gcloud compute instances set-machine-type コマンドを使用します。

    gcloud compute instances set-machine-type VM_NAME \
        --machine-type NEW_MACHINE_TYPE
    

    NEW_MACHINE_TYPE は、VM の新しいマシンタイプに置き換えます。マシンタイプは次のいずれかになります。

API

  1. instances.stop メソッドを使用して VM を停止します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID

    • ZONE: VM を含むゾーン

    • VM_NAME: 変更するマシンタイプを含む VM。

  2. マシンタイプを変更するには、instances.setMachineType メソッドを使用します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
    

    リクエストの本文で、更新した machineType を指定します。

    {
        machineType: "zones/MACHINE_TYPE_ZONE/machineTypes/NEW_MACHINE_TYPE"
    }
    

    次のように置き換えます。

    • MACHINE_TYPE_ZONE: マシンタイプを含むゾーン

    • NEW_MACHINE_TYPE: VM の新しいマシンタイプ

      マシンタイプは次のいずれかになります。

より小さなマシンタイプへの移行

リソースが多いマシンタイプからリソースが少ないマシンタイプに移行する場合(たとえば、e2-standard-8 マシンタイプから e2-standard-2 マシンタイプへの移行など)、ハードウェアのリソースに関する問題やパフォーマンスの制限が発生する可能性があります。これは、小さいマシンタイプのほうが性能が低いためです。新しいマシンタイプで、VM で現在実行中のアプリケーションまたはサービスをサポートできることを確認してください。または、小さいマシンタイプで実行できるようサービスやアプリケーションを更新してください。

ベスト プラクティス

スナップショットを使用して、定期的に永続ディスクデータのバックアップを取ることをおすすめします。マシンタイプを変更する前に、永続ディスクデータのスナップショットを取ることを検討してください。新しいマシンタイプで既存の VM 上のデータをサポートできることを確認する場合、永続ディスクのスナップショットを取り、それを使用して新しいマシンタイプで 2 番目の VM を起動し、VM が正常に起動することを確認します。

2 番目の永続ディスクを VM にアタッチする場合は、そのディスクを /etc/fstab ファイルに追加して、VM の再起動時に自動的にマウントされるようにしてください。

次のステップ