[Google Compute Engine]VMインスタンスを別のプロジェクトに移行する方法
業務でGoogle Compute Engine上にDevOps環境を構築した時のメモです。
クライアント(顧客)が正式なプロジェクトを作成するのに手続き等で時間がかかるため、仮のプロジェクトを作成してそちらで環境構築を進めていました。
正式なプロジェクトが作成された段階で、そこで一からまた環境構築し直すのでなく環境構築済みのVMインスタンスを丸ごと持ってくれば余計な工数を削減することができます。
調べた手順をまとめました。
VMインスタンスをプロジェクトAからプロジェクトBに移行する
- 移行したいVMインスタンスのスナップショットを作成する。
- スナップショットから新しいVMインスタンスを作成する。この時「インスタンスを削除する際にブートディスクを削除する」のチェックを外す。
- 作成したVMインスタンスを削除する(ブートディスクが残ります)。
- 残ったブートディスクからイメージを作成する。コマンドは以下。
gcloud compute images create --source-disk=
- 作業者のアカウントをプロジェクトBのメンバーとして招待する。
- プロジェクトBに切り替える。
gcloud config set project
- 4で作成したイメージからVMインスタンスを作成する。
gcloud compute instances create --image --image-project
- 作業者のアカウントをプロジェクトBのメンバーから削除する(必要であれば)。
- 以上です。
参考にさせて頂いたサイト
https://cloud.google.com/sdk/gcloud/reference/compute/images/create
https://takipone.com/gce-create-image/
http://qiita.com/thangnv/items/da4e719efd83471a3ca8