Azure App Service Migration Assistant を使用して Web アプリを移行する
Web アプリを Azure App Service に移行できることが評価により判断されたので、移行を完了することができます。 しかし、Migration Assistant では何が行われるのでしょうか。 それはどのように機能するのでしょうか。 さまざまな設定を選択するよう求めるメッセージが表示されたら、何を選択すべきでしょうか。
Migration Assistant で Web アプリを移行する方法
Migration Assistant では、Azure アカウントに関する重要な詳細情報を収集することから移行プロセスが開始され、移行が実行されます。
まず、Azure アカウントにサインインし、一意のコードを使用して Migration Assistant セッションをアカウントに関連付けます。 次に、サブスクリプション、リソース グループ、Web サイトのドメイン名を選択します。 アプリをホストする App Service プランの新規作成を選択するか、既存のプランを選択することができます。 その選択は、アプリがホストされる地理的なリージョンに影響します。 また、この移行作業を既存の Azure Migrate プロジェクトに関連付けることもできます。 最後に、データベースのセットアップをスキップするか、ハイブリッド接続を設定してデータベース接続を有効にするかを選択できます。
Migration Assistant によって選択内容が収集され、検証されると、動作し始めます。 選択したリージョンとリソース グループで必要な App Service リソースが作成されます。 Web アプリのソース ファイルが zip 形式で圧縮され、App Service デプロイ API を使用してデプロイされます。 最後に、ハイブリッド接続の設定の支援など、オプションの移行手順が実行されます。
移行が正常に完了したら、移行後のタスクを実行する必要があります。 これには、次のようなものがあります。
- web.config ファイル内のアプリケーションの設定と接続文字列を Azure App Service に手動で移動する。
- オンプレミスの SQL Server インスタンスから Azure SQL データベースにデータを移行する。
- TLS/SSL 証明書を設定する。
- カスタム ドメイン名を設定する。
- Microsoft Entra ID のアクセス許可の設定。
また、App Service ホスティング プランや、自動スケールやデプロイ スロットなどのその他の設定を変更することもできます。
移行シナリオ
次の図は、Web サーバーが境界ネットワーク (DMZ、非武装地帯、スクリーン サブネットとも呼ばれます) にデプロイされるアーキテクチャをホストする一般的な Web アプリを示しています。 アプリケーション サーバー (HTTP 経由でアクセス可能な Web API) とデータベース サーバーがイントラネット ゾーンのファイアウォールの背後でホストされています。
移行後、Web サイトと Web API は 1 つの App Service Web アプリでホストされます。 データベースは Azure SQL Database インスタンスに移動されます。 どちらも 1 つのリソース グループにデプロイされます。
Azure SQL Database に移行すると、回復性と冗長性が向上したエクスペリエンスが顧客に提供されます。
App Service プラン
移行中、Migration Assistant では次のことが行われます。
- App Service ホスティング プランを作成する。
- 1 つの Premium P1v2 VM インスタンスに Web アプリをデプロイする。
Azure App Service を初めて使用する場合、Web アプリ、ホスティング プラン、Web アプリをホストする VM インスタンスの間の主な違いを理解しておくことが重要です。
App Service ホスティング プランは、サポート対象である目的のワークロードに基づいてレベル分けされます。 ホスティング プランは次の内容に影響します。
- アプリを実行するために使用できる仮想マシン インスタンスの最大数と、それらの仮想マシンのパフォーマンス特性。
- VPN ハイブリッド接続、ネットワークの分離、自動スケーリングなどの機能の可用性。
- サービス レベル アグリーメント (SLA)。
たとえば、Free レベルと Shared レベルは、小規模な概念実証とテストを対象としています。そのため、SLA や複数のアプリによって仮想マシンが共有されることはありません。 一方、Isolated サービス プランは、最先端のハードウェア、より多くの RAM、より高速なプロセッサ、SSD ストレージを備えたプライベートの専用仮想ネットワーク環境で実行されるミッション クリティカルなワークロードを対象としています。
各ホスティング プラン内で、インスタンスのサイズを選択できます。 インスタンスのサイズは次の内容に影響します。
- コア数、RAM の容量、ディスク ストレージの容量。
- 価格。
1 つのホスティング プランに複数の Web アプリをデプロイできます (IIS の 1 つのインスタンス上で複数の Web アプリを実行するのと似ています)。 すべての Web アプリで同じ VM インスタンスを共有します。
詳細については、「App Service の概要」を参照してください。
データベースの移行
Azure App Service Migration Assistant では、データベースは Azure SQL Database に移行されません。 実際、ご使用のデータベースを Azure に移行する必要はありません。 その場合、Migration Assistant では、オプションのステップとして、ご使用のオンプレミスのデータベースへのハイブリッド接続を容易に設定することができます。
運用環境でハイブリッド接続を使用することはできますが、パフォーマンスへの影響を考慮することが必要になる場合があります。 そのため、ハイブリッド接続は、ご使用のデータを Azure SQL Database に移行する前の一時的な中間ソリューションと考えることができます。 ご使用のデータへのハイブリッド接続は、開発またはテストのシナリオで役立つ場合もあります。
ハイブリッド接続のセットアップ オプションを選択すると、Migration Assistant によって、お使いのサーバーに Microsoft Azure ハイブリッド接続マネージャーをダウンロードして実行するように求められます。 ハイブリッド接続マネージャーでは、Azure App Service で実行されている Web アプリを Azure Service Bus リレーに接続して、オンプレミスのデータベース エンドポイントとの接続が円滑に行われるようにします。
次の図は、移行した Web アプリ、オンプレミスのデータベース、ハイブリッド接続マネージャー、リレー ハイブリッド接続の間の関係について概要を示しています。
詳細については、「Azure App Services からのハイブリッド接続」を参照してください。
移行を実行するには、Data Migration Assistant を使用できます。 詳細については、「Data Migration Assistant の概要」を参照してください。
「Data Migration Assistant (DMA) を使用して SQL Server データベースを評価および変換する」という別の Learn モジュールも参照されることをお勧めします。
Azure Migrate プロジェクトとは
以前に、移行を Azure Migrate プロジェクトに関連付けることができることを説明しました。 Azure Migrate は、移行に関連する事柄の中心となるハブです。 組織では Azure Migrate を使用して、Azure に移行したいすべてのサーバーとサービスに関する情報を取得します。 この情報を検出と評価という形で使用することにより、移行作業の範囲を決定することができます。 これにより、適切な計画、関係者への通知、コストの決定、移行の状態の追跡などを行うことができます。
Azure Migrate では、次のような主な移行シナリオがサポートされています。
- Windows および Linux サーバーの移行 (それらのサーバーが、VMware または Hyper-V、物理サーバー、他のクラウドのいずれでホストされている VM であるかには関係ありません)。
- SQL Server およびその他のデータベース (データを含む) の移行。
- 仮想デスクトップの移行。
- Web アプリの移行 (Azure App Service Migration Assistant を使用)。
そのため、Azure Migrate プロジェクトが既に設定されている場合は、移行中にそのプロジェクトの名前を指定できます。 この手順により、移行の詳細と状態が Azure Migrate ハブに保存されます。
要点
このユニットでは、いくつかの概念について説明しました。
- Azure App Service Migration Assistant の評価により、Migration Assistant で Web アプリの移行が可能であると判断された場合、お使いの Azure アカウントに関する情報が収集され、Azure 内に新しい App Service リソースが作成され、お使いのアプリがそれらにデプロイされます。
- 移行後、Web アプリを使用できる状態にするために追加のステップを実行することが必要な場合があります。
- Web アプリで使用できる機能、ハードウェアの種類、SLA は、App Service ホスティング プランによって決まります。 コアの数、RAM の容量、使用可能なストレージの容量は、インスタンスのサイズによって決まります。
- 1 つのインスタンスで複数の Web アプリをホストすることができます。 すべてのアプリは、すべてのインスタンス上でスケーリングされます。
- 移行中、Migration Assistant が、オンプレミスのデータベース サーバーとのハイブリッド接続をセットアップするのに役立ちます。
- 移行中、Migration Assistant では、その進行状況を既存の Azure Migrate プロジェクトに記録できます。