


年末にGoogle Cloud Architect認定試験を受けてきました

会社ブログも地味に書いております

※2017/07/16追記:こちらの記事は内容をアップデートして会社の技術ブログに転載しました。今後は以下のURLを参照してください。
https://blog.interstellar.co.jp/2017/07/gcp-disk-image/
ここ最近Amazon Web Service(AWS)とGoogle Cloud Platform(GCP)を行ったり来たりしております。
もうちょっとだけ手順を簡略化した方法があったので、以下に新しく改訂版として書きなおしました。
[GCP] Google Cloud Platformでディスクイメージを他のプロジェクトに移す方法(改訂版)
説明の便宜上、コピー元のプロジェクトをmaster-disk-prj、コピー先のプロジェクトをcopy-disk-prjとしておきます。
$ gcloud config set project copy-disk-prj
ついでにゾーンも設定しておきましょう。
$ gcloud config set compute/zone asia-east1-a
$ gcloud compute instances create instance-tmp --machine-type f1-micro --image master-disk-image --image-project master-disk-prj
これでコピー元のイメージを使用して、コピー先で新しいインスタンスが起動します。
単純にコピー元のイメージを使用したインスタンスを立てたいだけならこれで終わりなんですが、これをコピー先の方にイメージとして保存するにはもう一手間必要です。
せっかく作成したインスタンスですが、削除します。この削除の際にディスクだけ残すようにします。
$ gcloud compute instances delete instance-tmp --keep-disks boot
ディスクが残っているか念のため確認します。
$ gcloud compute disks list
NAME ZONE SIZE_GB TYPE STATUS
instance-tmp asia-east1-a 10 pd-standard READY
この残っているディスクを使用して、以下のコマンドでイメージを作成します。
$ gcloud compute images create copy-image --source-disk instance-tmp
以上でコピーは終わりです。
とりあえず今のところこれが一番簡単そうな気がしますが、もし直接イメージをコピーする方法があったら教えて下さい。
最初良くわからなくて試した方法がこれです。
時間がかかる上、とってもめんどくさいのであえてやる人はいないと思いますが …。
本来GCP以外にイメージを持ち出したり、逆に外部からイメージをインポートするための方法を利用します。
参考になるドキュメントは以下の2つ。