search
LoginSignup
16

More than 5 years have passed since last update.

posted at

updated at

GCPのプロジェクト間でインスタンスを移行する

最近GCPのプロジェクト間でインスタンスを移行する作業を行いました。
その時の手順について記載します。

前提

  • gcloudコマンドがインストールされていること。
  • 移行元・移行先両方のプロジェクトに対し、編集者以上の権限があること。

手順

移行するインスタンスのスナップショットを作成する。

gcloud compute disks snapshot [移行元インスタンス名] \
  --zone [移行元インスタンスのゾーン] \
  --snapshot-names [作成するスナップショット名] \
  --project [移行元プロジェクトID]

作成したスナップショットからディスクを作成する。

gcloud compute disks create [作成するディスク名] \
  --zone [作成するディスクのゾーン] \
  --source-snapshot [作成したスナップショット名] \
  --project [移行元プロジェクトID]

作成したディスクからイメージを作成する。

gcloud compute images create [作成するイメージ名] \
  --source-disk [作成したディスク名] \
  --source-disk-zone [作成したディスクのゾーン] \
  --project [移行元プロジェクトID]

作成したイメージから移行先でインスタンスを作成する。

gcloud compute instances create [移行先インスタンス名] \
  --zone [移行先インスタンスのゾーン] \
  --image [作成したイメージ名] \
  --image-project [移行元プロジェクトID] \
  --project [移行先プロジェクトID]

以上でインタンスを別のプロジェクトに移行することができます。
実際の作業では、イメージ作成後にTerraformを利用してインスタンスを作成しました。

後片付け

不要であれば、作成したスナップショット・ディスク・イメージは削除します。

スナップショットを削除する。

gcloud compute snapshots delete [作成したスナップショット名] \
  --project [移行元プロジェクトID]

ディスクを削除する。

gcloud compute disks delete [作成したディスク名] \
  --zone [作成したディスクのゾーン] \
  --project [移行元プロジェクトID]

イメージを削除する。

gcloud compute images delete [作成したイメージ名] \
  --project [移行元プロジェクトID]

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
16