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 は、移行が行われた後に使用停止にされます。

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

データベースの考慮事項

進行中の開発をサポートするために、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 のエージェントレスの方法を使用して、開発フロントエンドとデータベースを Azure VM に移行します。サーバー移行ツール。

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

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

Azure サービス

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

前提条件

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

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

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

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

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

より詳細なアクセス許可が必要な場合は、「Azure のロールベースのアクセス制御 (Azure RBAC) を使用して Site Recovery のアクセスを管理する」をご覧ください。
Azure インフラストラクチャ Contoso が Azure インフラストラクチャを設定する方法を確認します。

以下についての具体的な前提条件をご確認ください。Azure Migrate:Server Migration に関するエラーのトラブルシューティングに役立つ情報を提供しています。
オンプレミスのサーバー オンプレミスの 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. 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 を移行する必要があります。サーバー移行ツール。

  1. ネットワークをセットアップする: 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) に移行されます。
  2. Azure Migrate: Server Migration ツールをプロビジョニングしますサーバー移行ツール。

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

      .OVA ファイルのダウンロードを示すスクリーンショット。 図 3: .OVA ファイルのダウンロード。

    2. インポートしたイメージを起動し、次のステップを含めてツールを構成します。

      • 前提条件を設定します。

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

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

        Azure Migrate の検出を設定するためのセクションのスクリーンショット。 図 5: Azure サブスクリプション。

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

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

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

        VM のアプリケーションと依存関係を検出するためのセクションのスクリーンショット。 図 7: 検出用の Windows ベースの資格情報の追加。

  3. 構成が完了すると、ツールによりすべての VM が列挙されます。 このプロセスが完了すると、Azure の Azure Migrate ツールにそれらが設定されていることがわかります。

さらにサポートが必要な場合

Azure Migrate: Server Migration ツールの設定についてご確認ください。

オンプレミスの 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 が実行中であることを確認し、こちらのトラブルシューティングのヒントを参照してください。

さらにサポートが必要な場合

移行のために VM を準備する方法を参照してください。

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

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

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

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

  2. [レプリケート] > [ソースの設定] > [マシンは仮想化されていますか?] で、 [はい (VMware vSphere の場合)] を選択します。

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

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

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

    • VM の評価を実行した場合は、評価結果から VM のサイズ設定とディスクの種類 (Premium または Standard) の推奨事項を適用できます。 これを行うには、 [Azure Migrate Assessment から移行設定をインポートしますか?][はい] オプションを選択します。

    • 評価を実行しなかった場合、または評価の設定を使用しない場合は、 [いいえ] オプションを選択します。

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

      仮想マシンの評価の選択を示すスクリーンショット。 図 10: 前提条件の設定方法。

  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 にレプリケートするかどうかを指定し、Azure でのディスクの種類 (Standard SSD/HDD または Premium マネージド ディスク) を選択します。 [次へ] を選択します。 レプリケーションからディスクを除外できます。 除外すると、移行後に Azure VM 上に存在しなくなります。

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

注意

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

手順 4:VM を移行する

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

テスト移行を実行する

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

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

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

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

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

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

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

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

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

VM を移行する

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

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

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

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

  3. [移行] > [仮想マシンをシャットダウンし、データ損失のない計画された移行を実行しますか] で、 [はい] > [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 に移行しました。サーバー移行ツール。