Azure Migrate を使用してオンプレミスの Dev/Test 環境を Azure Virtual Machines にリホストする

この記事では、Contoso という架空の会社が、Azure Virtual Machines に移行することによって、VMware 仮想マシン (VM) で実行されている 2 つのアプリケーションの Dev/Test 環境をリホストする方法について説明します。

この例の SmartHotel360 および osTicket アプリケーションはオープンソースです。 独自のテストの目的でこれらをダウンロードできます。

移行オプション

Contoso には、Dev/Test 環境の Azure への移行に使用できるオプションがいくつかあります。

移行オプション 結果
Azure Migrate オンプレミスの VM を評価し、移行する。

Azure のサービスとしてのインフラストラクチャ (IaaS) を使用して、開発およびテスト サーバーを実行する。

Azure Resource Manager を使用して VM を管理する。
Azure DevTest Labs 開発およびテスト環境を迅速に準備する。

クォータとポリシーを使用して無駄を最小限に抑える。

自動シャットダウンを設定してコストを最小限に抑える。

Windows および Linux 環境を構築する。

ビジネス ドライバー

開発リーダーシップ チームは、この移行で達成したいことを簡単にまとめています。 チームは、Dev/Test 機能をオンプレミスのデータセンターから迅速に移行し、ソフトウェアを開発するためのハードウェアを今後は購入しないことを目指しています。 IT 部門が関与しなくても、開発者が各自の環境を作成して実行できるようにしたいと考えています。

注意

Contoso は、開発テスト用の従量課金制プランのサブスクリプション オファーを自社の環境で使用します。 チームのアクティブな各 Visual Studio サブスクライバーは、サブスクリプションの仮想マシンに含まれている Microsoft ソフトウェアを、追加料金なしで Dev/Test に使用できます。 Contoso は、実行する VM の Linux 料金のみを支払います。 それには、通常であればさらに高い料金がかかる SQL Server、SharePoint Server、その他のソフトウェアの VM が含まれます。

移行の目標

Contoso 開発チームは、この移行の目標を明確にしています。 これらの目標を使用して、最良の移行方法を決定します。

  • Contoso は、オンプレミスの Dev/Test 環境から迅速に移行したいと考えています。
  • 移行後、Azure の Dev/Test 環境は、VMware の現在のシステムよりも機能が強化されている必要があります。
  • IT 部門によるプロビジョニングから、セルフサービス プロビジョニングを使用する DevOps に運用モデルを移行します。

ソリューション設計

Contoso は、目標と要件を明確にした後、デプロイ ソリューションを設計してレビューし、移行プロセスを特定します。 このプロセスには、Contoso が移行に使用する Azure サービスが含まれています。

現在のアプリケーション

  • 2 つのアプリケーションの Dev/Test VM は、VM (WEBVMDEVSQLVMDEVOSTICKETWEBDEVOSTICKETMYSQLDEV) 上で実行されています。 これらの VM は、コードが運用 VM に昇格される前の開発に使用されます。
  • これらの VM は、VMware ESXi ホスト contosohost1.contoso.com (バージョン 6.5) 上に配置されています。
  • VMware 環境は、VM 上で実行されている vCenter Server 6.5 (vcenter.contoso.com) によって管理されています。
  • Contoso には、オンプレミスのデータセンター (contoso-datacenter) があり、これにはオンプレミスのドメイン コントローラー (contosodc1) が含まれています。

提案されたアーキテクチャ

  • VM は Dev/Test に使用されるので、Azure の ContosoDevRG リソース グループに配置されます。

  • VM はプライマリ Azure リージョン (East US 2) に移行され、開発用仮想ネットワーク (VNET-DEV-EUS2) に配置されます。

  • Web フロントエンド VM は、開発用ネットワークのフロントエンド サブネット (DEV-FE-EUS2) に配置されます。

  • データベース VM は、開発用ネットワークのデータベース サブネット (DEV-DB-EUS2) に配置されます。

  • Contoso データセンター内のオンプレミス VM は、移行が行われた後に使用停止にされます。

    オンプレミスと仮想マシンに関して提案されたシナリオ アーキテクチャの図。

データベースの考慮事項

進行中の開発をサポートするために、Contoso は既存の VM を引き続き使用し、それらを Azure に移行することにしました。 今後、Contoso は Azure SQL DatabaseAzure Database for MySQL などのサービスとしてのプラットフォーム (PaaS) サービスの使用を推進します。

  • データベース VM は変更なしでそのまま移行されます。
  • Azure Dev/Test サブスクリプション プランを使用すると、Windows Server と SQL Server が実行されているコンピューターにはライセンス料金がかかりません。 コンピューティング コストが最小限に抑えられます。
  • 将来的に、Contoso は開発を PaaS サービスと統合することを検討します。

ソリューションのレビュー

Contoso は、長所と短所を一覧にして、提案されたデザインを評価します。

考慮事項 詳細
長所 すべての開発 VM は変更なしで Azure に移行されるので、移行が簡単になります。

Contoso は VM の両方のセットにリフトアンドシフト アプローチを使用するため、アプリケーション データベース用に特別な構成や移行ツールは不要です。

Contoso は、Azure Dev/Test サブスクリプションへの投資を利用してライセンス料金を節約できます。

Contoso は、Azure でアプリケーション VM の完全な制御を維持します。

開発者はサブスクリプションに対する権限を持つため、IT 部門が要求に対応するのを待たずに新しいリソースを作成できるようになります。
短所 移行では VM だけが移行され、開発用の PaaS サービスには移行されません。 Contoso には、セキュリティ更新プログラムなど、VM の操作のサポートを開始する必要が生じます。 IT 部門は過去に運用を管理していましたが、Contoso ではこの新しい運用タスクのソリューションを見つける必要があります。

クラウドベースのソリューションは開発者を支援しますが、システムのオーバープロビジョニングに対する保護手段を備えていません。 開発者はシステムを即座にプロビジョニングできますが、予算に含まれていない、コストがかかるリソースを作成する可能性があります。

注意

Contoso は、DevTest Labs を使用することで、この一覧の短所に対処できます。

移行プロセス

Contoso では、Azure Migrate のエージェントレス方式である Server Migration ツールを使用して、開発フロントエンドとデータベースを Azure VM に移行します。

  • Contoso は Azure Migrate: Server Migration 用の Azure コンポーネントを準備および設定し、オンプレミスの VMware インフラストラクチャを準備します。
  • Azure インフラストラクチャがあるので、Contoso では、Azure Migrate: Server Migration ツールを使用して VM のレプリケーションを構成します。
  • すべての準備ができたら、VM のレプリケートを開始します。
  • レプリケーションを有効にして動作中になったら、Contoso は移行をテストして VM を移行します。 成功した場合は、Azure にフェールオーバーされます。
  • Azure で開発 VM が稼働状態になったら、Contoso は Azure で実行されるようになった VM を参照するように開発ワークステーションを再構成します。

移行プロセスの概要の図。

Azure サービス

サービス 説明 コスト
Azure Migrate: Server Migration このサービスは、オンプレミスのアプリケーションとワークロード、および AWS または GCP VM インスタンスの移行を調整、管理します。 Azure へのレプリケーションの間に、Azure Storage の料金が発生します。 移行が行われ、VM が Azure で実行されると、Azure VM が作成され、料金が発生します。 料金と価格の詳細をご覧ください。

前提条件

このシナリオを実行するために Contoso に必要なものを以下に示します。

必要条件 詳細
Azure Dev/Test サブスクリプション Contoso は、コストが最大 80% 削減される Azure Dev/Test サブスクリプションを作成します。

Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。

無料アカウントを作成した場合、サブスクリプションの管理者としてすべてのアクションを実行できます。

既存のサブスクリプションを使用し、管理者ではない場合は、管理者と協力して所有者または共同作成者のアクセス許可を割り当てます。

より詳細なアクセス許可が必要な場合は、Azure のロールベースのアクセス制御を使用した Site Recovery のアクセス管理に関する記事を参照してください。
Azure インフラストラクチャ Contoso が Azure インフラストラクチャを設定する方法を確認します。
オンプレミスのサーバー オンプレミスの vCenter Server は、バージョン 5.5、6.0、6.5、または 6.7 を実行している必要があります。

ESXi ホストは、バージョン 5.5、6.0、6.5、または 6.7 を実行している必要があります。

ESXi ホスト上で、1 つ以上の VMware VM が実行されている必要があります。

シナリオのステップ

Contoso 管理者は、次のプロセスに従って移行を実行します。

  • ステップ 1:Azure Migrate: Server Migration 用の Azure を準備するServer Migration. Server Migration ツールを Azure Migrate プロジェクトに追加します。
  • 手順 2:Azure Migrate: Server Migration 用のオンプレミス VMware を準備するServer Migration. VM 検出用のアカウントを準備し、移行後に Azure VM に接続するための準備をします。
  • ステップ 3:VM をレプリケートする。 レプリケーションを設定し、Azure Storage への VM のレプリケーションを開始します。
  • 手順 4:Azure Migrate: Server Migration で VM を移行するServer Migration. テスト移行を実行してすべてが機能していることを確認した後、完全な移行を実行して VM を Azure に移行します。

手順 1:Azure Migrate: Server Migration ツール用の Azure を準備するServer Migration ツール

Contoso では、Azure Migrate: Server Migration ツールによって Azure VM が作成、プロビジョニング、構成される仮想ネットワークに、VM を移行します。

ネットワークの設定

Contoso は、Azure インフラストラクチャのデプロイを行ったときに、Azure Migrate: Server Migration に使用できるネットワークを既にセットアップしています。

  • 移行する VM は開発に使用されます。 これらは、East US 2 プライマリ リージョンの Azure 開発用仮想ネットワーク (VNET-DEV-EUS2) に移行されます。
  • どちらの VM も、開発リソースに使用される ContosoDevRG リソース グループに配置されます。
  • アプリケーション フロントエンド VM (WEBVMDEVOSTICKETWEBDEV) は、開発用仮想ネットワークのフロントエンド サブネット (DEV-FE-EUS2) に移行されます。
  • アプリケーション データベース VM (SQLVMDEVOSTICKETMYSQLDEV) は、開発用仮想ネットワークのデータベース サブネット (DEV-DB-EUS2) に移行されます。

Azure Migrate: Server Migration ツールをプロビジョニングする

  1. Azure Migrate から、.OVAイメージ ファイルをダウンロードし、VMware にインポートします。

    [マシンの検出] ウィンドウでの OVA ファイルのダウンロードを示すスクリーンショット。

  2. インポートしたイメージを開き、ツールを構成します。 前提条件を設定します。

    前提条件を設定するためのセクションのスクリーンショット。

  3. ツールを Azure サブスクリプションにポイントします。

    Azure Migrate の検出を設定するためのセクションのスクリーンショット。

  4. VMware vCenter の資格情報を設定します。

    VMware vCenter 資格情報を設定するためのセクションのスクリーンショット。

  5. 検出用の Windows ベースの資格情報を追加します。

    VM アプリケーションと依存関係を検出するためのセクションのスクリーンショット。

  6. 構成完了後、ツールによってすべての VM が列挙されるまでに少し時間がかかります。 このプロセスが完了すると、Azure の Azure Migrate ツールにそれらの VM が設定されます。

    詳細については、「移行ツールを追加する」を参照してください。

手順 2: オンプレミスの VM を準備する

Contoso は移行後、Azure VM に接続し、Azure で VM を管理できるようにしたいと考えています。 Contoso の管理者は、移行前に以下の手順を実行します。

  1. インターネットでアクセスする場合、管理者は以下を行います。

    • 移行前に、オンプレミス VM で RDP または SSH を有効にします。
    • Public プロファイルに TCP および UDP 規則が追加されていることを確認します。
    • オペレーティング システムのファイアウォールで RDP または SSH が許可されていることを確認します。
    • sudo apt-get ssh install -y コマンドを使用して SSH をインストールします。
  2. サイト間 VPN 経由でアクセスする場合、管理者は以下を行います。

    • 移行前に、オンプレミス VM で RDP または SSH を有効にします。
    • オペレーティング システムのファイアウォールで RDP または SSH が許可されていることを確認します。
    • Windows の場合、オンプレミス VM 上のオペレーティング システムの SAN ポリシーを OnlineAll に設定します。
  3. Azure Windows エージェントAzure Linux エージェントをインストールします。

Windows の場合、移行をトリガーするときに、VM 上に保留中の Windows 更新プログラムが存在しないようにする必要があります。 ある場合、管理者は更新が完了するまで、VM にサインインすることはできません。 移行後、管理者はブート診断を調べて、VM のスクリーンショットを確認できます。 これが表示されない場合は、VM が実行中であることを確認し、こちらのトラブルシューティングのヒントを参照してください。

詳細については、「Azure への移行のためにオンプレミスのマシンを準備する」を参照してください。

手順 3:オンプレミスの VM をレプリケートする

Contoso の管理者は、Azure への移行を実行する前に、レプリケーションを設定して有効にする必要があります。 検出が完了したら、Azure への VMware VM のレプリケーションを開始できます。

  1. Azure Migrate プロジェクトで、 [サーバー]>[Azure Migrate:Server Migration] に移動します。 [レプリケート] を選択します。

    移行ツール セクションの [レプリケート] ボタンを示すスクリーンショット。

  2. [レプリケート]>[ソースの設定]>[お使いのマシンは仮想化されていますか?] の順に移動して、[はい。VMware vSphere を使用します] を選択します。

  3. [オンプレミスのアプライアンス] フィールドで、設定した Azure Migrate アプライアンスの名前を選択し、[OK] を選択します。

    ソースの設定とアプライアンス名のボックスを示すスクリーンショット。

  4. [仮想マシン] タブで、レプリケートするマシンを選択します。

    • VM の評価を実行した場合は、評価結果から VM のサイズ設定とディスクの種類 (Premium または Standard) の推奨事項を適用できます。 [評価から移行設定をインポートしますか?] フィールドで、[Yes, apply migration settings from a Azure Migrate assessment] (はい。Azure Migrate の評価から移行設定を適用します) を選択します。

    • 評価を実行しなかった場合、または評価の設定を使用しない場合は、[No, I'll specify the migration settings manually] (いいえ。移行設定を手動で指定します) を選択します。

    • 評価の使用を選択した場合は、VM グループと評価名を選択します。

      仮想マシンの評価の選択を示すスクリーンショット。

  5. [仮想マシン] タブで、必要に応じて VM を検索し、移行する各 VM を確認します。 次に、 [次のステップ: ターゲット設定] をクリックします。

  6. [ターゲット設定] タブで、サブスクリプションと、移行先となるターゲット リージョンを選択します。 移行後に Azure VM が属するリソース グループを指定します。 [仮想ネットワーク] で、移行後に Azure VM の参加先となる仮想ネットワークまたはサブネットを選択します。

  7. [Azure ハイブリッド特典] タブで、Azure ハイブリッド特典を適用しない場合は [いいえ] を選択して、[次へ] を選択します。 アクティブなソフトウェア アシュアランスまたは Windows Server サブスクリプションの対象となっている Windows Server マシンがあり、移行するマシンに特典を適用する場合は、 [はい] を選択します。 [次へ] を選択します。

    注意

    Contoso の場合、これは Azure Dev/Test サブスクリプションでありコンピューティングにのみ課金されるため、管理者は Azure ハイブリッド特典に対して [いいえ] を選択します。 Azure ハイブリッド特典は、ソフトウェア アシュアランスの特典が適用された運用システムにのみ使用します。

  8. [コンピューティング] タブで、VM の名前、サイズ、OS ディスクの種類、可用性セットを確認します。 VM は Azure の要件に準拠している必要があります。

    • VM サイズ: 評価の推奨事項を使用している場合は、このドロップダウン リストに推奨サイズが表示されます。 それ以外の場合は、Azure Migrate によって、Azure サブスクリプション内の最も近いサイズが選択されます。 [Azure VM サイズ] でサイズを手動で選択することができます。
    • OS ディスク: VM の OS (ブート) ディスクを指定します。 OS ディスクには、オペレーティング システムのブートローダーとインストーラーが含まれます。
    • 可用性セット: 移行後に VM を Azure 可用性セットに配置する必要がある場合は、セットを指定します。 このセットは、移行用に指定するターゲット リソース グループ内に存在する必要があります。
  9. [ディスク] タブで、VM ディスクを Azure にレプリケートするかどうかを指定し、ディスクの種類 (Standard SSD/HDD または Premium SSD) を選択してから [次へ]を選択します。 レプリケーションからディスクを除外できます。 除外すると、移行後に Azure VM 上に存在しなくなります。

  10. [レプリケーションの確認と開始] タブで設定を確認し、[レプリケート] を選択して、サーバーの初期レプリケーションを開始します。

注意

レプリケーションを開始する前であれば、[管理]>[マシンのレプリケート] でレプリケーションの設定を更新できます。 レプリケーションの開始後は、設定を変更できません。

手順 4:VM を移行する

Contoso の管理者は、クイック テスト移行を実行し、その後、完全な移行を実行して VM を移行します。

テスト移行を実行する

  1. [移行の目標]>[サーバー]>[Azure Migrate: Server Migration] の順に移動して、[移行されたサーバーのテスト] を選択します。

    移行されたサーバーをテストするための選択内容を示すスクリーンショット。

  2. テストする VM を選択したまま (または右クリックし)、[テスト移行] を選択します。

    移行テスト用のボタンを示すスクリーンショット。

  3. [テスト移行] で、移行後に Azure VM が配置される仮想ネットワークを選択します。 非運用環境の仮想ネットワークを使用することをお勧めします。

  4. テスト移行ジョブが開始されます。 ポータルの通知でジョブを監視します。

  5. 移行の完了後、Azure portal の [仮想マシン] で、移行された Azure VM を確認します。 マシン名には、 -Test サフィックスが含まれています。

  6. テストが完了したら、 [マシンのレプリケート] で Azure VM を選択したまま (または右クリックし)、 [テスト移行をクリーンアップ] を選択します。

    テスト移行をクリーンアップするための選択内容を示すスクリーンショット。

完全な移行を実行する

次に、Contoso の管理者は、完全移行を実行します。

  1. Azure Migrate プロジェクトで、 [サーバー]>[Azure Migrate:Server Migration]>[サーバーをレプリケートしています] の順に選択します。

    サーバーをレプリケートするための選択内容を示すスクリーンショット。

  2. [マシンのレプリケート] で VM を選択したまま (または右クリックし)、 [移行] を選択します。

  3. [移行]>[Shut down virtual machines and perform a planned migration with no data loss] (仮想マシンをシャットダウンし、データ損失のない計画された移行を実行しますか) の順に移動して、[はい]>[OK] を選択します。 既定では、Azure Migrate によってオンプレミスの VM がシャットダウンされ、前回のレプリケーションの後に行われた VM の変更を同期するためにオンデマンド レプリケーションが実行されます。 このプロセスにより、データが失われることはありません。 VM をシャットダウンしたくない場合は、 [いいえ] を選択します。

  4. VM に対して移行ジョブが開始されます。 Azure 通知でジョブを追跡します。

  5. ジョブが完了したら、 [仮想マシン] ページで VM を表示して管理できます。

詳細については、「テスト移行を実行する」および VM の Azure への移行に関するページを参照してください。

移行後にクリーンアップする

移行が完了すると、Azure VM 上で、SmartHotel360 および osTicket アプリケーションの開発 VM が実行されます。

Contoso は、以下のクリーンアップ手順を実施します。

  • 移行が完了したら、レプリケーションを停止します。
  • WEBVMDEVSQLVMDEVOSTICKETWEBDEVOSTICKETMYSQLDEV の各 VM を vCenter インベントリから削除します。
  • ローカル バックアップ ジョブからすべての VM を削除します。
  • VM の新しい場所と IP アドレスを示すように内部ドキュメントを更新します。
  • VM と対話しているリソースを確認し、すべての関連する設定またはドキュメントを新しい構成を反映するように更新します。

デプロイを再調査する

これでアプリケーションが実行されるようになったので、Contoso は、Azure でアプリケーションを完全に操作可能にし、セキュリティで保護する必要があります。

セキュリティ

Contoso セキュリティ チームは、Azure VM を調査して、セキュリティの問題を特定します。 アクセスを制御するために、VM のネットワーク セキュリティ グループ (NSG) を見直します。 NSG は、許可されたトラフィックだけがアプリケーションに到達できるようにするために使用されます。 チームは、Azure Disk Encryption と Azure Key Vault を使用して、ディスク上のデータをセキュリティで保護することを検討します。

詳細については、「Azure における IaaS ワークロードのセキュリティに関するベスト プラクティス」を参照してください。

事業継続とディザスター リカバリー

事業継続とディザスター リカバリーのために、Contoso はデータを保護します。 Contoso は、Azure Backup サービスを使用して VM 上のデータをバックアップします。 詳細については、「Azure VM バックアップの概要」をご覧ください。

ライセンスとコストの最適化

Contoso は、すべての Azure 開発リソースが Azure Dev/Test サブスクリプションを使用して作成されるようにすることで、コストを 80% 削減できます。 管理者は、Azure Cost Management + Billing を有効にして、Azure リソースの監視と管理を支援します。

まとめ

この記事で、Contoso は、Azure で SmartHotel360 および osTicket アプリケーションに使用されていた開発 VM を再ホストしました。 管理者は、Azure Migrate を使用して、アプリケーション VM を Azure VM に移行しました。サーバー移行ツール。