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 の追加をご覧ください。
始める前に
- このガイドのコマンドラインの例を使用する場合は、次の操作を行います。
- Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新します。
- デフォルトのリージョンとゾーンを設定します。
- このガイドの API の例を使用する場合は、API アクセスを設定します。
- VM を停止する方法を理解しておきます。
- マシンタイプについて理解しておきます。
- VM がエフェメラル外部 IP アドレスを使用する場合、VM のマシンタイプを変更すると、IP アドレスが変更される可能性があります。IP アドレスを維持するには、静的外部 IP アドレスに昇格させます。
料金への影響
請求される料金はマシンタイプごとに異なるため、マシンタイプを変更する際は、料金への影響を確認してください。たとえば、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
Google Cloud Console で、[VM インスタンス] ページに移動します。
[名前] 列で、マシンタイプを変更する VM の名前をクリックします。
[VM インスタンスの詳細] ページで、次の手順を行います。
- VM が実行されている場合は、[停止] をクリックして VM を停止します。
- VM を編集するには、[ 編集] をクリックします。
[マシンの構成] セクションで、使用するマシンタイプを選択するか、カスタム マシンタイプを作成します。
変更を保存するには、[保存] をクリックします。
gcloud
gcloud compute instances stop
コマンドを使用して VM を停止します。gcloud compute instances stop VM_NAME
VM_NAME
は、変更するマシンタイプを含む VM に置き換えます。マシンタイプを変更するには、
gcloud compute instances set-machine-type
コマンドを使用します。gcloud compute instances set-machine-type VM_NAME \ --machine-type NEW_MACHINE_TYPE
NEW_MACHINE_TYPE
は、VM の新しいマシンタイプに置き換えます。マシンタイプは次のいずれかになります。-
例:
e2-standard-2
-
たとえば、4 個の vCPU と 2 GB のメモリを持つカスタム マシンタイプを設定するには、
--machine-type e2-custom-4-2048
を指定します。
-
API
instances.stop
メソッドを使用して VM を停止します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
次のように置き換えます。
PROJECT_ID
: プロジェクト IDZONE
: VM を含むゾーンVM_NAME
: 変更するマシンタイプを含む VM。
マシンタイプを変更するには、
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-2
-
たとえば、4 個の vCPU と 2 GB のメモリを持つカスタム マシンタイプを設定するには、
--machine-type e2-custom-4-2048
を指定します。
-
より小さなマシンタイプへの移行
リソースが多いマシンタイプからリソースが少ないマシンタイプに移行する場合(たとえば、e2-standard-8
マシンタイプから e2-standard-2
マシンタイプへの移行など)、ハードウェアのリソースに関する問題やパフォーマンスの制限が発生する可能性があります。これは、小さいマシンタイプのほうが性能が低いためです。新しいマシンタイプで、VM で現在実行中のアプリケーションまたはサービスをサポートできることを確認してください。または、小さいマシンタイプで実行できるようサービスやアプリケーションを更新してください。
マシンタイプを変更する前に、サイズ適正化の推奨事項を確認します。Compute Engine の推奨サイズについては、VM インスタンスのマシンタイプに関する推奨事項の適用をご覧ください。
おすすめの方法
スナップショットを使用して、定期的に永続ディスクデータのバックアップを取ることをおすすめします。マシンタイプを変更する前に、永続ディスクデータのスナップショットを取ることを検討してください。新しいマシンタイプで既存の VM 上のデータをサポートできることを確認する場合、永続ディスクのスナップショットを取り、それを使用して新しいマシンタイプで 2 番目の VM を起動し、VM が正常に起動することを確認します。
2 番目の永続ディスクを VM にアタッチする場合は、そのディスクを /etc/fstab
ファイルに追加して、VM の再起動時に自動的にマウントされるようにしてください。
次のステップ
- マシンタイプに関する推奨事項を確認する。
- マネージド インスタンス グループについて学習する。
- スケーラブルで復元性が高いアプリのためのパターンを学習する。