概要

Migrate to Virtual MachinesはMigrate for Compute Engineの後継(名称変更)にあたるサービスとなります。
version5以降はMigrate to Virtual Machines、v4.xはMigrate for Compute Engineと表記されます。
を利用すると、VMware、Microsoft Azure、Amazon EC2 などのソース プラットフォームから仮想マシン(VM)を Compute Engine に移行できます。
複数のデータセンターやクラウド間で多くのアプリケーションを移行可能となります。

Migrate to Virtual Machinesを利用することの利点

  • 最小限のダウンタイムで移行を実施可能
  • エージェントレスで移行可能
  • オンプレミス、AWS、Azure等の環境から移行可能
    • v5でAWSが正式サポートされたため、v5での移行方法を解説します。
    • v4は2023年中にはサポート終了のため、可能であればv5を選択してください。
    • Azureはプレビュー版のみとなります。

Migrate to Virtual Machinesのバージョンによる違い


https://cloud.google.com/migrate/virtual-machines/docs/5.0/concepts/comparison?hl=ja

移行ステップ

移行手順をステップに分けて記載します。

  • AWS-Google
    Cloud 間でVPNを設定する
  • 移行先のGoogle Cloud環境を設定する
  • 移行用のAWS環境を設定する
  • Migrate to Virtual Machinesをセットアップする
  • 移行作業(移行準備)
  • 移行作業(テスト移行)
  • 移行作業(本番移行)
  • 所感

公式ドキュメントにもステップが記載されております。
以下をご参照ください。
https://cloud.google.com/migrate/virtual-machines/docs/5.0/how-to?hl=ja

1. AWS-Google Cloud 間でVPNを設定する。

以下記事を参照し、VPN設定を行います。

概要Google Cloud - AWS間でVPN接続を設定する手順を記載します。Google Cloud - AWS間VPNの利点クラウド間の通信経路をセキュアな通信網で構築VPN利用前提ツールの利用の準備手順1. 【AWS】仮想プライベートゲートウェイの作成VPC > 仮想プライベートゲートウェ...

※VPN設定ははversion4.xまでは必須でしたが、v5からはインターネット間で移行可能となりました。
 ただし、移行に関しては、安定性、信頼性を求められる作業のため、VPN設定を行う前提で記載します。

2.移行先のGoogle Cloud環境を設定する

2-1.【Google Cloud】関連サービスの有効化
以下のプロジェクトを有効化します。

2-2.【Google Cloud】サービスアカウントを作成する
IAMと管理 > サービスアカウント > サービスアカウントの作成を押下します。

大項目 項目
サービスアカウントの詳細 サービスアカウント名 任意の名前
サービスアカウントID 自動入力または任意のID
サービスアカウントの説明 任意の説明
このサービス アカウントにプロジェクトへのアクセスを許可する ロールを選択 VM Migration 管理者

3. 移行用のAWS環境を設定する

3-1. 【AWS】移行用のIAMポリシーを作成する
移行対象のAWSアカウントに以下のポリシーでIAMポリシーを作成します。
作成するポリシーは以下のとおりです。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeVolumes",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeSnapshots",
                "ec2:CreateTags",
                "ec2:CreateSnapshots",
                "ec2:StopInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ebs:GetSnapshotBlock",
                "ec2:DeleteSnapshot",
                "ec2:DeleteTags"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/m2vm-resource": "snapshot"
                }
            }
        }
    ]
}

3-2.【AWS】IAMユーザを作成する
任意の名前でIAMユーザを作成します。
– ポリシーは2-1で作成したポリシーを付与
– IAMキーの払い出しを行う。(後ほど利用するため、アクセスキー、シークレットキーは保存する)

3-3.【AWS】EC2にタグ付けを行う(オプション)
必要に応じてEC2にタグ付けを行います。
こちらな任意のキー・バリューで設定可能です。
特定のキー・バリューを持つEC2を対象に移行が可能となります。

4. Migrate to Virtual Machinesをセットアップする

4-1. 【Google Cloud】Migrate to Virtual Machinesのダッシュボードを開く

4-2. 【Google Cloud】ソースの追加
AWSソースを追加しますをクリックし、権限情報を追加します。

4-3.【Google Cloud】 ターゲットの追加

ターゲット > 追加から導入先のターゲットプロジェクトを追加します。

4-4. 【Google Cloud】ソースVMリストに対象のVMが表示されることを確認します。

5. 移行作業(移行準備)

5-1. 【Google Cloud】対象の仮想マシンに対し、「移行を追加」を選択する

対象確認のポップアップに対し、確認を押下します。

5-2.【Google Cloud】移行タブにて、対象の仮想マシンが移行対象となっていることを確認する

5-3.【Google Cloud】レプリケーションを開始を選択し、データ同期を行う

5-4.【Google Cloud】レプリケーションのステータスが有効(アイドル状態)であることを確認する

5-5.【Google Cloud】ターゲットの詳細を編集にて、ターゲットの詳細を追加する

大項目 項目
General インスタンス名 任意のインスタンス名
プロジェクト 対象のプロジェクト
ゾーン 対象のゾーン
ラベル 任意のラベル(オプション)
Machine configuration マシンタイプシリーズ 移行後のマシンタイプを選択
マシンタイプ 移行後のマシンタイプを選択
ホストメンテナンス時 VMインスタンスを移行(推奨)
自動再起動 オン(推奨)
メタデータ 任意のメタデータを追加(オプション)
Networking ネットワーク 移行先のネットワークを選択
サブネットワーク 移行先のサブネットワークを選択
外部IP 任意の外部IPを選択
内部IP 任意の内部IPを選択(自動採番化)
ホスト名 任意のホスト名を入力(既にホスト名がある場合、移行時に引き継ぎ)
Addmitional configuration サービスアカウント 空白
ディスクタイプ 任意のディスクタイプを選択
ライセンス ライセンス引き継ぎが必要な場合、こちらからライセンス持ち込みを実施
sole tenancy(単一テナンシーを使う場合のみ) ノードアフィニティのラベル 必要に応じて入力
構成 必要に応じて入力
Replication policy スケジュール 特にしていない場合、デフォルトのスケジュール




6. 移行作業(テスト移行)

6-1. 【Google Cloud】テストクローンを実施する
テストクローンは既存AWS環境に影響を与えることなく、移行作業を実施出来ます。

カットオーバーとテストクローン > テストクローンを選択します。

ポップアップに対し、確認を押下します。

6-2. 【Google Cloud】テストクローンが進捗していることを確認する

7. 移行作業(本番移行)

7-1. 【Google Cloud】カットオーバーを実施する
※カットオーバーに際しては、AWS側の停止を伴うため、必要に応じて業務調整等が必要となります。
※テストクローンのインスタンスが残っている場合、カットオーバーに失敗するため、名前の変更または削除等でテストクローンを修正してください。

7-2. 【Google Cloud】カッドオーバーが進んだことを確認する

7-3.カットオーバーされたことを確認する

以上でAWS→Google Cloudへの移行は完了となります。

8. 所感

以前のバージョンでも移行は出来ましたが、Migrate to Virtual MachinesはUIがGoogle Cloud側に統合され、F/Wの設定等も少なくすむため、
かなり移行設定の手間が楽になりました。
また、テストクローンは本番ワークロードに影響与えることなく実施出来ることから、事前にテストを行い、安全性・動作性を担保した上で、カットオーバーが出来るため、本番利用でも使いやすいと感じます。
クラウド間移行を検討する場合、本サービスをまず第一に検討してみてはいかがでしょうか?