最近、ASP.NET アプリケーション向けの Azure App Service 移行ツールがあることを知ったので、簡単に使い方を調べてみました。
Azure App Service Migration Tool
Azure App Service Migration Tool とは、App Service への移行に向けた Web アプリケーションの事前評価と移行作業を実施できるツールで、2つの機能を提供しています。
- Web アプリケーションの URL へのスキャンによる評価
- Migration Assistant による App Service への移行
移行する 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 にアプリ発行したのは初めてかも。
以上で、事前準備は完了です。
Web アプリケーションの評価
Azure App Service Migration Tool に Azure VM の URL を入力して Assess ボタンを押すと、Web アプリケーションをスキャンして、移行に適しているかどうかを評価します。
サーバーで実行されているフレームワーク、ホスティング情報、Web サーバーを含むテクノロジに関する情報が表示されます。
評価の結果、この Web アプリケーションが App Service と完全に互換性があることが分かります。
Web アプリケーションの移行
Azure App Service Migration Tool から Migration Assistant をダウンロードし、Web アプリケーションのサーバーにインストールします。
インストールした Migration Assistant を実行することで、移行に向けた詳細な評価を実施後、評価レポートにエラーがなければ、App Service にデプロイできます。
最初に、移行するWeb アプリケーションのサイトを選択します。
次に、移行に向けた評価レポートが表示されます。評価結果を JSON ファイルに保存することもできます。
Azure へのログインを求められるので、Device Code を使ってログインします。
このツールを使って App Service に移行するためには、Azure Migrate のプロジェクトを作成する必要があります。
ツールのリンクから Azure Portal を開いて、Azure Migrate を作ります。
Azure Migrate を作成できたら、ツールで選択して次へ進みます。
移行先の App Service の情報を入力し、Migrate ボタンを押すとデプロイされます。
移行が完了したので、App Service の URL にアクセスしてみます。
まとめ
App Service Migration Tool を使って、ASP.NET アプリケーションを移行してみました。
実案件のアプリケーションでは、今回のようにスムーズには行かないと思いますが、移行に向けた互換性を事前に確認する手段としては有効かなと感じました。
このほかに、データベースの移行も検討しなてくはなりません。同様の移行ツールに Azure Database Migration Service もあるので、検討してみるとよいかもしれません。