いくつかのComputeEngineインスタンスをヨーロッパからアジアに移行しようとしています。これらのサーバーのユーザーのほとんどはアジアにいて、その地域のサーバーにすばやくアクセスできるため、これを行う必要があります。次のコマンドを試しています。
gcloud compute instances move asiawindows1 --zone europe-west1-d --destination-zone asia-east1-c
これを試してみると、次のエラーが発生します
サブネットワークに属するインスタンスは、リージョン間で移動できません。
これらのサーバーをアジアゾーンに手動でセットアップせずに移動するための最良の方法は何ですか?
Google CloudPlatformで以下の手順に従ってください
使用しているコマンドは、リージョン間ではなく、同じリージョンのゾーン間を移動するためのものです。
インスタンスのイメージを作成し、そのイメージを使用して別のリージョンに新しいインスタンスを作成できます。
自動移動が行われていない場合は、vmインスタンスの手動移動を試すことができます。最初にすべてのディスクをリストして、スナップショットを作成する適切なディスクを選択します。
gcloud compute disks list
リストからディスクの名前を特定し、そのスナップショットを作成します
gcloud compute disks snapshot <disk_name> --snapshot-name <snapshot_disk_name> --zone <current_zone>
これで、移動しようとしているインスタンスを削除できます。
gcloud compute instances delete <instance_name> --zone <instance_zone>
次のステップは、インスタンスを作成する新しいゾーンに作成したスナップショットからディスクを作成することです。
gcloud compute disks create <disk_name> --source-snapshot <snapshot_disk_name> --zone <new_zone_name>
次に、作成したディスクをマウントしてインスタンスを作成する必要があります。必要に応じて適切なマシンタイプを選択してください。ここでは、f1-microを使用してインスタンスを作成します。
gcloud compute instances create <instance_name> --machine-type f1-micro --zone <new_zone>
--disk name=<disk_name>,boot=yes,mode=rw
それでおしまい。
必要に応じて、スナップショットを削除できます
gcloud compute snapshots delete <snapshot_name>