ROMANCE DAWN for the new world

Microsoft Azure を中心とした技術情報を書いています。

Azure App Service Migration Tool を試してみた

最近、ASP.NET アプリケーション向けの Azure App Service 移行ツールがあることを知ったので、簡単に使い方を調べてみました。

f:id:TonyTonyKun:20210117200823p:plain

Azure App Service Migration Tool

Azure App Service Migration Tool とは、App Service への移行に向けた Web アプリケーションの事前評価と移行作業を実施できるツールで、2つの機能を提供しています。

  • Web アプリケーションの URL へのスキャンによる評価
  • Migration Assistant による App Service への移行

appmigration.microsoft.com

移行する Web アプリケーションの準備

Azure App Service Migration Tool を試すことが目的なので、移行対象の Web アプリケーションは Visual Studio のプロジェクトテンプレートを使います。.NET Framework 4.7.2 の ASP.NET MVC を選択しました。

このツールを使うためには、Web アプリケーションを Windows Server の IIS でホストされた環境を用意する必要あるため、Azure Virtual Machines を作ることにしました。
ARM Template が用意されているので、これを使ってデプロイすれば、IIS や DNS name が設定された仮想マシンを一発で構築できます。
github.com
Virtual Machines を構築したら、Visual Studio から Web アプリケーションをデプロイします。じつは VS から VM にアプリ発行したのは初めてかも。

f:id:TonyTonyKun:20210117195215p:plain

以上で、事前準備は完了です。

Web アプリケーションの評価

Azure App Service Migration Tool に Azure VM の URL を入力して Assess ボタンを押すと、Web アプリケーションをスキャンして、移行に適しているかどうかを評価します。

f:id:TonyTonyKun:20210117195426p:plain

サーバーで実行されているフレームワーク、ホスティング情報、Web サーバーを含むテクノロジに関する情報が表示されます。
評価の結果、この Web アプリケーションが App Service と完全に互換性があることが分かります。

Web アプリケーションの移行

Azure App Service Migration Tool から Migration Assistant をダウンロードし、Web アプリケーションのサーバーにインストールします。
インストールした Migration Assistant を実行することで、移行に向けた詳細な評価を実施後、評価レポートにエラーがなければ、App Service にデプロイできます。

最初に、移行するWeb アプリケーションのサイトを選択します。

f:id:TonyTonyKun:20210117195718p:plain

次に、移行に向けた評価レポートが表示されます。評価結果を JSON ファイルに保存することもできます。

f:id:TonyTonyKun:20210117195733p:plain

Azure へのログインを求められるので、Device Code を使ってログインします。

f:id:TonyTonyKun:20210117204116p:plain

このツールを使って App Service に移行するためには、Azure Migrate のプロジェクトを作成する必要があります。
ツールのリンクから Azure Portal を開いて、Azure Migrate を作ります。

f:id:TonyTonyKun:20210117195747p:plain

Azure Migrate を作成できたら、ツールで選択して次へ進みます。

f:id:TonyTonyKun:20210117200438p:plain

移行先の App Service の情報を入力し、Migrate ボタンを押すとデプロイされます。

f:id:TonyTonyKun:20210117200621p:plain

f:id:TonyTonyKun:20210117195819p:plain

f:id:TonyTonyKun:20210117195831p:plain

移行が完了したので、App Service の URL にアクセスしてみます。

f:id:TonyTonyKun:20210117195906p:plain

まとめ

App Service Migration Tool を使って、ASP.NET アプリケーションを移行してみました。
実案件のアプリケーションでは、今回のようにスムーズには行かないと思いますが、移行に向けた互換性を事前に確認する手段としては有効かなと感じました。
このほかに、データベースの移行も検討しなてくはなりません。同様の移行ツールに Azure Database Migration Service もあるので、検討してみるとよいかもしれません。