~まずはとりあえずやってみよう~
みなさん、こんにちは。@prsdnt_hanage と申します。
オンプレからクラウドに移行したいと思っているそこのあなた!朗報です!
GCEではオンプレ環境をそのまま簡単にインポートできる VM-Migration Service がありますので紹介していきます!
本編は3回に分けて、
- 第1回 / まずはとりあえずやってみよう
- 第2回 / 詳しい移行設計ポイントと手順
- 第3回 / 移行時のパフォーマンスと懸念点
でお送りします。
早速ですが、第一回目「まずはとりあえずやってみよう」を説明してきます。
目次
VM-Migration Service について
簡単にいうと、オンプレマシンにあるデバイス(HDDなど)のイメージをそのまま GCE のイメージにコピーして、任意のマシンスペック上でインスタンスとして動作させてしまうという優れものです。この移行サービス自体は無料で使えます。(ただし移行先GCEインスタンスを生成することにより料金が発生します)
※公式ドキュメントは[こちら]
まずは、アーキテクチャをみてみましょう。
※赤で囲んでいるのは移行元マシン、緑で囲んでいるのは移行先 GCE インスタンス
VM-Migation Service は [CloudEndure](https://www.cloudendure.com/) という VM-Migration サービスが使用されており、
- 移行元マシンに Agent をインストールすると、GCEインスタンスへの移行の意思があることが伝えられます。
- CloudEndure Management Server は 移行元マシンのデバイスイメージをコピーするために CloudEndure Replication Server を GCE 上に立ち上げます。
- CloudEndure Replication Server へ移行元デバイスイメージの初期コピーが完了すると、CloudEndure Management Server に通知され、GCE インスタンスとして立ち上げることができるようになる
という仕組みです。
CloudEndureとしての移行元マシンの対応OSは以下の通りです。
- Microsoft Windows Server 2008 R2 64 bit
- Microsoft Windows Server 2012 R2 64 bit
- Microsoft Windows Server 2016 64 bit
- SUSE Linux (SLES) 11 or above
- Debian Linux 8
- Kali Linux 2.0
- Ubuntu 12.04 or above
- Red Hat Enterprise Linux (RHEL) 5.0 or above
- CentOS 6.0 or above
- Oracle Linux 6.0 or above
※GCPではDebian Linux 8/Ubuntu 16.04 でのみ確認済。
論よりなにより証拠で移行をやってみる!
先ずは取り急ぎ、どれ程簡単に移行出来るものか試して見ましょう。
~検証環境~
移行元マシンは CentOS7 を vagrant で1台立ち上げて用意しました。上記の一覧にあるOSならなんでも大丈夫なハズです。勿論EC2やAzure等他のクラウド上のマシンでも大丈夫です!では、移行手順の解説をします。GCPのプロジェクトは作成済みの想定です。未だの場合は[こちら]から。
1.GCP上で Credential 設定をする
GCP 上で Account / Credential の設定をします。
「1.Compute Engine」→「2.VM インスタンスメニュー」→「3.VMのインポート」をクリックします。
サインイン画面が出てきますので、サインインします。
Account → GCP Credential で、プロジェクトIDと秘密鍵を指定します。
秘密鍵は「IAMと管理」→「API認証情報」→「認証情報」→「認証情報を作成」→「サービスアカウントキー」→「json形式」で取得できます。
「Replication Settings」タブで移行先のゾーンとネットワークを選択します。
2.Agent を移行元マシンにインストールする
コマンドは 「Live Migration」のページに書いてあります。
今回は
# download wget -O ./installer_linux.py https://gcp.cloudendure.com/installer_linux.py # install sudo python ./installer_linux.py \ --no-prompt \ --token={{ gcp_vm_migration_token }} \ --devices=/dev/sda
としました。
※私の環境では終了するまで約3分かかりました。
Agent のインストールが完了すると、GCP 上で各種設定やディスク生成/デバイスコピーが自動的に開始されます。
この間に移行元デバイスに変更があったとしても大丈夫です。変更を自動的に検知して同期コピーが実施されます。(GCE のスナップショットが増えていきます)
“Continuous Data Protection” と表示されれば同期完了です。
※移行元デバイス容量 40GB で約40分かかりました。
3.移行先のGCEインスタンスを立ち上げる
いよいよ同期された内容で GCE インスタンスを立ち上げます。
立ち上げるホストを選択し、「CUTOVER」ボタンを押します。
最新のスナップショットをもとに、ディスク作成/インスタンス生成がされます。
しばらくすると、{{ 移行元マシン名 }}-xxxxxxxx という名前でインスタンスが生成されています。
ssh ログインできるか確かめます。
ssh -l {{ 移行元マシンにログインするユーザ名 }} {{ 移行先GCEインスタンスの外部IP }}
ログインできたらこれで移行ができていることになります。
※GCEのSSHブラウザログインはできません。
これで、オンプレからGCEへの移行完了です!簡単でしたね!
総括・感想
本当に簡単で
- GCP上でCredential 設定をする
- Agent を移行元マシンにインストールする(2行コマンド)
- GCE インスタンスを選択して立ち上げる(ボタンをポチっとな)
の3ステップだけで簡単に移行できてしまいました!
みなさんも是非、挑戦してみてください!
次回は、「詳しい移行設計ポイントと手順」について紹介します。
それでは良いインフラライフを!