フォーム読み込み中
2022年8月5日掲載
Google Cloudの移行マネージャは、既存の環境、オンプレミス・クラウドで動かしているサーバOSをGoogle Cloud上の仮想マシンへ移行してくれるプラットフォームです。
今回はGoogle Cloudの移行マネージャを使って、AWS上にあるEC2インスタンスのWindows Server 2019をGoogle Cloud Compute Engineに移行してみます。
AWS EC2上に構築されたWindows Server 2019をGoogle Cloud Compute Engine(VM)に移行する際のシステム構成は以下の図の通りです。
移行先のGoogle Cloud環境には、移行されるサーバ以外に、移行マネージャ、Velostrate-edge等のサーバが自動で作成されます。
AWSのように、Google Cloud外の既存の環境、オンプレミス・クラウドと連携しながらGoogle Cloudの移行マネージャを利用して移行する場合、閉域のネットワーク接続が必要ですので、この接続環境の手順もあわせて紹介します。
また、AWS EC2上に構築されたWindows Server 2019のライセンスはGoogle Cloud Compute Engine(VM)上のWindows Server 2019へ移植することができないため、ここはGoogle Cloudらパブリッククラウドが提供しているライセンスを利用する必要があります。
まずはじめにAWSとGoogle Cloudを接続するためのVPNを構成します。
それぞれの環境で以下のセグメントのVPCとSubnetを作成します。
◆AWS
◆Google Cloud
Google CloudでVPN接続用グローバルIPを作成します。
AWSで仮想プライベートゲートウェイを作成します。
AWSでカスタマーゲートウェイを作成します。
AWSでSite-to-Site VPN接続を作成します。ルーティングの設定は静的を選びます。
CiscoのConfigの場合、以下の青文字の部分が必要です。
crypto keyring keyring-vpn-0ff2aee376779cd64-0 local-address Google CloudのグローバルIP pre-shared-key addressAWSのグローバルIPkey事前共有鍵exit
※AWSのVPNは2本のトンネルの設定がありますが、今回検証のため、1本のみ接続します。
Google CloudのVPN接続を設定します。
ルートベースを選びます。
AWSでGoogle Cloudセグメント行きのルートを追加します。
※Google Cloudは自動で追加されますので、追加不要です。
以上、VPN接続の設定が完了しました。
Google CloudのFirewallを設定します。
$ gcloud services enable iam.googleapis.com $ gcloud services enable cloudresourcemanager.googleapis.com $ gcloud services enable compute.googleapis.com $ gcloud services enable storage-component.googleapis.com $ gcloud services enable logging.googleapis.com $ gcloud services enable monitoring.googleapis.com
◆構成スクリプトの実行
プロジェクトID及び名前は適宜に変更してください。
$ cd /google/migrate/gce/previous-versions/4.9 $ python3 velostrata_sa_roles.py -p certain-frame-338210 -d linmigr
移行マネージャを作成します。
※構成スクリプトを実行する際、最新バージョン:4.9しか選べません。コンソールの移行マネージャのバージョンは4.11.9、バージョンが一致しないので、ロールが足りないエラーが表示されます。今回は3つロールを追加します。
$ gcloud projects add-iam-policy-binding certain-frame-338210 --member serviceAccount:"velos-manager-linmigr@certain-frame-338210.iam.gserviceaccount.com" --role "roles/cloudmigration.inframanager" --no-user-output-enabled --quiet $ gcloud projects add-iam-policy-binding certain-frame-338210 --member serviceAccount:"velos-manager-linmigr@certain-frame-338210.iam.gserviceaccount.com" --role "roles/cloudmigration.storageaccess" --no-user-output-enabled --quiet $ gcloud projects add-iam-policy-binding certain-frame-338210 --member serviceAccount:"velos-cloud-extension-linmigr@certain-frame-338210.iam.gserviceaccount.com" --role "roles/cloudmigration.storageaccess" --no-user-output-enabled --quiet
移行マネージャが作成され、 https://172.16.1.2 でアクセスできるようになりました。
以下のリンクからAWS CloudFormationの構成をダウンロードします。
https://cloud.google.com/migrate/compute-engine/docs/4.11/resources/downloads
IAMユーザにVelosMgrGroupを追加し、アクセスキー/シークレッドを作成します。
作成したアクセスキーとシークレッドは後程の設定に利用しますので、メモっておきます。
以下のリンクから移行対象サーバにAgentをダウンロードし、インストールします。
https://cloud.google.com/migrate/compute-engine/docs/4.11/resources/downloads
管理者権限でPowerShellを起動して以下のコマンドを実行します。
$ Import-Module Velostrata.PowerShell
$ Connect-VelostrataManager
□ Server:移行マネージャのIP
□ Username:移行マネージャ作成時のUsername
□ Password:移行マネージャ作成時のPassword
$ Get-help Connect-VelostrataManager
移行マネージャにアクセスします。
移行マネージャはプライベートIPアドレスしか持っていませんので、移行マネージャと通信できるWindows端末からアクセスさせる必要があります。今回の環境は移行対象サーバからアクセスさせています。
TARGET CLOUDを設定します。
AWSの移行対象サーバのタグに上記のLabelの設定が必要です。
30分程待ってたら、Google Cloudコンソールで2台のサーバが自動で作成されました。
2台のサーバのFirewallにて以下のHTTP/HTTPSの通信を許可します。
MIGRATION WAVESを設定します。
Migrate_Runbook.csvが作成されます。
2ヵ所修正が必要です。
Waveを作成します。
WARNのエラーが出ていますが、問題なく移行が完了しました。
【注意】
移行が開始されると移行対象サーバがシャットダウンされます。
30分くらいでGoogle Cloudコンソールでサーバが作られました。
ログインできました。
Google CloudのFirewallはタグを使って転送ルールを作成することができます。
移行マネージャを作成する際、タグを忘れてしまいますと、ルールに引っかからなく、
以下のような443通信エラーが発生します。
Runbookを作成する際のTagsとAWSの移行対象サーバのTagが一致しないと、対象サーバが
引っかからなく、csvの中身が空白になってしまいます。
今回、Google Cloudの移行マネージャをご紹介しました。Google Cloudは閉域接続して作業する必要があります。作業ごとにStep-by-stepで進む必要があり、細かい部分もありますが、その分オンプレミス等さまざまな環境からGoogle Cloudへシームレスにマイグレーションすることができます。もちろん、Alibaba Cloud、AWS、Azureにも同様のマイグレーションサービスがありますので、こちらも参考にしてみるといいでしょう。
条件に該当するページがございません