このドキュメントでは、Migrate to Virtual Machines を使用して Google Cloud への仮想マシン(VM)の移行を設計する際に考慮する必要があるベスト プラクティスについて説明します。Migrate to Virtual Machines は、移行元の環境から Google Cloud に VM を移行する際に役立ちます。移行元の環境として、オンプレミス環境、プライベート ホスティング環境、または別のクラウド プロバイダで実行されているケースを想定しています。
このドキュメントで説明するベスト プラクティスは次の領域をカバーしています。
- 移行元の環境の評価
- 基盤の構築
- VM の移行
- 移行の問題のトラブルシューティング
評価に関するベスト プラクティス
このセクションでは、移行評価フェーズで発生しうる一般的な問題に対処するためのベスト プラクティスについて説明します。Google Cloud への移行の設計で説明したように、評価フェーズでは、移行元の環境、Google Cloud に移行するワークロード、各ワークロードをサポートする VM を評価します。
できるだけ早くワークロードを担当するチームを関与させる
移行の最初の段階で、環境、ワークロード、VM を担当するすべてのチームを関与させてインタビューを行い、移行元の環境に関する情報を収集します。たとえば、移行の技術要件を評価するために、開発チーム、運用チーム、セキュリティ チーム、移行するワークロードに関連する基幹業務の関係者やステークホルダーから情報を収集します。また、移行の規制要件を評価するため、法務部門とコンプライアンス チームにもインタビューに参加してもらいます。
このベスト プラクティスは、予期しない移行要件と依存関係に起因する不測の事態や想定外の問題を回避するのに役立ちます。
環境の複雑さを分析する
移行元の環境と VM を評価するときは、移行の複雑さに影響する要因を評価します。各ワークロードの複雑さを評価する基準とデータポイントを決定します。移行の複雑さが増すと、移行の完了にさらなる時間と労力を要することもあります。たとえば、次の点を考慮してください。
- 更新するオペレーティング システムで VM を移行する必要がありますか。
- サポートされていないオペレーティング システムで VM を移行する必要がありますか。
- ベアメタルまたは物理サーバーを移行する必要はありますか。
- 特定のハイパーバイザに対する依存関係があるか。
- Migrate to Virtual Machines でサポートされていないハイパーバイザから移行する必要があるか。
- 移行したくない(または移行できない)テクノロジーまたはサービスがあるか。
- 移行する VM の数はどのくらいか。
- これらの VM に他のアプリケーション、システム、VM への依存関係があるか。
- 移行チームに Google Cloud の経験があるか。
- 移行チームに Migrate to Virtual Machines の経験があるか。
- セキュリティとガバナンスにどのような要件があるか。
- クラウドにリソースをデプロイする戦略はあるか。
- 変更できないハードコード構成がワークロードに存在するか。
- ワークロードには、ライセンスが必要なオペレーティング システムまたはその他のソフトウェアが必要か。
このプロセスでは、VMware ホストと VMware vCenter インスタンスが、移行する VM と同じネットワークに存在している必要があります。ネットワークに VMware ホストがない場合は、次のいずれかのオプションを選択して、Migrate to Virtual Machines がサポートする移行元の環境に VM を移行することをおすすめします。
- VMware HCX を使用する VMware VM を Google Cloud VMware Engine に移行する。
- サポートされている非 VMware VM を VMware HCX OS Assisted Migration を使用して VMware 環境に移行する。
大量のトランザクションまたはリクエストをサポートするワークロードを移行する場合は、移行元と移行先の環境の間で変更が同期される速度を評価します。移行中の速度は、ワークロードが変更を生成する速度よりも遅くなる可能性があります。このような場合は、これらのタイプのワークロードに別途データの移行方法を検討することをおすすめします。たとえば、時間単位ごとに大量のトランザクションをサポートするデータベースを移行する場合、トランザクションがターゲット環境に伝播される速度は、同期を完了するのに十分な速度ではない可能性があります。この場合、移行先の環境の VM がデータの同期を完了できなくなり、移行ウェーブを完了できなくなる可能性があります。
このベスト プラクティスは、移行の難易度の見積もり、および移行プロジェクトのステークホルダーの期待のマネジメントに役立ちます。
現在の環境を分析して移行先の環境のサイズを調整する
完全な移行計画のドラフトを作成するには、移行元の環境から移行する各 VM について、移行先の環境の VM のマシンタイプを定義します。Google Cloud への移行: ワークロードの評価と調査の説明のように、移行元の環境の各 VM のプロビジョニング済みリソースに関する情報と、それらのリソースの使用率に関する情報を収集することをおすすめします。
このベスト プラクティスは、ワークロードに関する詳細な分析情報を得るのに役立ちます。
移行計画を分析する
移行計画の分析を開始する前に、Migrate to Virtual Machines のアーキテクチャを理解するため、次のドキュメントを一読することをおすすめします。
このドキュメントで説明するコンセプトを理解したら、移行計画を分析して、スケジュール、所要時間、労力、費用に関する情報を収集します。単一の値ではなく、加重の中央値と加重平均値を使用して、各移行 Wave の後に分析結果を絞り込むことをおすすめします。
たとえば、移行計画の分析後に次の値を決定できます。
- 予想される移行時間
- 時間単位あたりの移行予定 VM 数
- 移行にかかる総費用
- VM あたりの移行費用
- 利用可能なネットワーク スループット
- バックアップと障害復旧に使用するツール、移行先の環境との互換性
移行計画を分析する際には、アプリケーションのすべてのデプロイ環境を考慮してください。ワークロードに複数のデプロイ環境が必要な場合は、分析を行う際に、それらの環境と各環境の違いを考慮してください。たとえば、ワークロードを開発、品質保証、本番環境にデプロイする場合、分析の結果、これらの環境で VM の数が異なることがわかる場合があります。これらの違いを考慮し、移行の期限を守るために、移行計画の調整が必要になることもあります。
経験を積みながら移行計画を調整する
移行計画を確立し、計画の実装を開始した後は、アプリと VM、Google Cloud、Migrate to Virtual Machines の移行経験を積みましょう。移行中は、この知識を活用して定期的に移行計画を見直して、調整や改善を行います。反復処理ごとに少なくとも 1 回は移行計画を修正します。現実的な目標を設定できていないことや、予期しない問題に多大な労力を費やしていることが明らかになることもあります。
このベスト プラクティスは、移行計画の最適化に役立ちます。
VM を移行するメンテナンスの時間枠をスケジュールする
VM の移行を完了するために、Migrate to Virtual Machines で VM のダウンタイムが発生する可能性のあるオペレーションを実行する必要があります。ダウンタイムを必要とするオペレーションを行うため、冗長性とカットオーバー ウィンドウを計画します。たとえば、VM のクラスタを移行する場合は、クラスタを分割して移行後に組み立てなおす必要があります。
このベスト プラクティスは、ワークロードの予期しないダウンタイムの回避に役立ちます。
計画のベスト プラクティス
このセクションでは、Migrate to Virtual Machines の基盤の構築中に発生する可能性のある、一般的な問題に対処するためのベスト プラクティスについて説明します。Google Cloud への移行の設計の説明のように、計画フェーズでは、Migrate to Virtual Machines 用に基本的なインフラストラクチャを作成します。
環境が要件を満たしていることを確認する
移行をサポートするインフラストラクチャをプロビジョニングして構成する場合は、環境が Migrate to Virtual Machines の要件を満たしていることを確認してください。
- サポートされているオペレーティング システム
- Google Cloud と移行元の環境での必要なロールと権限
- 必要な Google Cloud サービス
- 同時移行の最大数
要件はコンピューティング、ネットワーキング、セキュリティ、コンプライアンスなど、さまざまな領域にまたがっているため、要件の分析には、関連するすべてのチームに参加してもらいます。たとえば、ファイアウォール ポートを開く場合は、セキュリティ チームとネットワーキング チームの連携が必要になることがあります。
また、ネットワークのスループットを最大化するため、Virtual Private Cloud ネットワーク、Cloud Interconnect、および Cloud VPN の推奨値を考慮し、最大伝送単位を構成することをおすすめします。
このベスト プラクティスは、互換性や要件を遵守して想定外の問題を回避するのに役立ちます。
十分なリソースの割り当てがあることを確認する
Google Cloud では、リソースの使用に割り当てが設定されています。VM の移行を完了するには、Migrate to Virtual Machines に十分なリソース割り当てが必要です。
Compute Engine インスタンスの VPC 割り当てと上限も確認することをおすすめします。
移行を完了するのに十分な割り当てがあることを確認するために、次の操作を行います。
- 現在使用可能な割り当てを確認します。
- 使用可能な割り当てが Migrate to Virtual Machines の割り当て要件を満たしていることを確認します。
- 必要に応じて、割り当ての増加をリクエストします。
このベスト プラクティスは、割り当て増加リクエストにかかる時間と割り当て要件による遅延を回避するのに役立ちます。
VM の移行に関するベスト プラクティス
このセクションでは、Migrate to Virtual Machines を使用して VM を移行する際に発生する可能性のある、一般的な問題に対処するためのベスト プラクティスについて説明します。
VMWare でゲスト OS が正しく構成されていることを確認する
VM を移行する前に、VMWare vCenter がゲスト オペレーティング システム(OS)に関連する警告を報告していないことを確認します。警告が表示された場合は、構成されたゲスト OS を変更して、ゲスト OS の構成を修正します。
このベスト プラクティスは、移行中のエラーを回避するのに役立ちます。
VM が適切に準備されていることを確認する
VM や物理サーバーを移行する前に、エラーや警告が発生することなく適切に移行の準備ができていることを確認してください。VM と物理サーバーの移行準備ができていない場合、VM の移行の失敗など、予期しない移行結果になることがあります。このベスト プラクティスは、移行中のエラーを回避するのに役立ちます。
Migrate to Virtual Machines は移行前に VM を自動的に準備します。詳細については、VM を Google Cloud 上で実行できるようにするをご覧ください。
Google Cloud で VM が正常に動作していることを確認する
レプリケーション フェーズ中とカットオーバー フェーズ後の両方において、Google Cloud で VM が正しく動作していることを確認することをおすすめします。このベスト プラクティスでは、ワークロードと VM が期待どおりに機能していることを確認できます。
レプリケーション フェーズを開始するときに、サンドボックス環境でテストクローンを作成して VM を検証します。テストクローンの作成プロセスを複数回繰り返すことで、移行元の環境に変更を適用したときに VM がクラウドでどのように動作するかを評価できます。VM をカットオーバー フェーズに進める前に、これらのテストを実行することをおすすめします。
カットオーバー フェーズが完了したら、VM のオペレーションを各ワークロードのオーナーに確認してもらい、そのワークロードに問題がないかどうか評価してもらいます。VM をファイナライズ フェーズに進める前に、この検証を実施することをおすすめします。
Migrate to Virtual Machines のアンインストール
移行が完了したら、Migrate to Virtual Machines をアンインストールすることをおすすめします。このベスト プラクティスにより、Migrate to Virtual Machines コンポーネントを廃止し、不要な課金と管理作業を回避できます。
Migrate to Virtual Machines をアンインストールするには、次の操作を行います。
- VMware vSphere データセンターから Migrate Connectors を削除してアンインストールします。詳細については、Migrate Connector を削除するをご覧ください。
- Migrate to Virtual Machines サービス(
vmmigration.googleapis.com
)を無効にします。プロジェクトでサービスを無効にする方法について詳しくは、サービスを無効にするをご覧ください。 - 作成したテストクローンを削除して、Google Cloud でワークロードが正しく動作していることを確認します。
トラブルシューティングのベスト プラクティス
このセクションでは、Migrate to Virtual Machines の使用時に発生する可能性のある移行の問題を調査する場合のベスト プラクティスについて説明します。
移行の問題、すなわち移行後に発生する問題を効果的にトラブルシューティングするために、Migrate to Virtual Machines、環境、ワークロードに関する情報を収集します。まず、次の情報を収集します。
- 発生している問題が Migrate to Virtual Machines リリースノートに記載されているかどうかを確認します。
- 移行ライフサイクルのフェーズ。移行が失敗する場合は、問題が発生するライフサイクル フェーズと、問題が再現可能で一時的なものではないことを確認します。
- Cloud Monitoring と Cloud Logging の使用。環境に関する情報を収集するには、Cloud Monitoring と Cloud Logging を使用して移行のステータスとパフォーマンスを把握することをおすすめします。Compute Engine インスタンスに必要なメタデータが設定されていることを確認して、Cloud Monitoring と Cloud Logging が有効になっていることを確認します。
詳細については、Migrate to Virtual Machines のトラブルシューティングをご覧ください。