Visual Studio を使用した Azure App Service への ASP.NET Core コンテナーのデプロイ
このチュートリアルでは、Visual Studio を使用し、コンテナー化された ASP.NET Core Web アプリケーションを Azure App Service に発行する方法について説明します。 Azure App Service は、Azure でホストされている単一コンテナー Web アプリに最適なサービスです。
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
前提条件
このチュートリアルを完了するには、次のものが必要です。
- Visual Studio 2019 と ASP.NET と Web 開発ワークロード。
- Visual Studio 2022 と ASP.NET と Web 開発ワークロード。
- Docker Desktop のインストール
ASP.NET Core Web アプリケーションの作成
次の手順では、このチュートリアルで使用する基本的な ASP.NET Core アプリの作成について説明します。
- Visual Studio の [スタート] ウィンドウから [新しいプロジェクトの作成] を選択します。
- [ASP.NET Core Web アプリ] を選択し、[次へ] を選択します。
- 新しいアプリケーションに名前を設定 (または、既定の名前をそのまま使用) し、[次へ] を選択します。
- 対象にする .NET バージョンを選択します。 不明な場合は、.NET 8.0 バージョンを選択します。
- [HTTPS 用の構成] チェックボックスを使用し、SSL サポートを使用するかどうかを選択します。
- [Docker サポートを有効にする] チェックボックスをオンにします。
- コンテナーの種類を選択し、[作成] をクリックします。
コンテナーを Azure にデプロイする
ソリューション エクスプローラーで対象のプロジェクトを右クリックし、 [発行] を選択します。
[発行] ダイアログで、Azure をターゲットとして選択します。
[特定のターゲット] タブで、コンテナーの種類に応じて、App Service (Windows) や App Service (Linux) など、適切なデプロイ ターゲットを選択します。
使用するサブスクリプションで適切な Azure アカウントにサインインしていない場合は、 [発行] ウィンドウの左上にあるボタンを使用してサインインします。
既存のアプリ サービスを使用するか、[Create new Azure App Service]\(新しい Azure App Service を作成する\) リンクをクリックして新規に作成することができ ます。 ツリービュー内で既存のアプリ サービスを探すには、そのリソース グループを展開するか、 [表示] 設定を [リソースの種類] に変更して種類で並べ替えます。
新規に作成した場合は、リソース グループとアプリ サービスが Azure 内に生成されます。 名前は、一意であれば、必要に応じて変更できます。
既定のホスティング プランをそのまま使用することも、ホスティング プランを今すぐ、または後で Azure portal 内で変更することもできます。 既定値は、サポートされているリージョンのいずれかにある
S1
(小) です。 ホスティング プランを作成するには、[ホスティング プラン] ドロップダウン リストの横にある [新規] を選択します。 [ホスティング プラン] ウィンドウが表示されます。これらのオプションの詳細は、「Azure App Service プランの概要」で確認できます。
これらのリソースの選択または作成が完了したら、[完了] を選択します。 選択したリソース グループとアプリ サービス内でコンテナーが Azure にデプロイされます。 このプロセスには時間が少しばかりかかります。 完了すると、 [発行] タブにサイトの URL など、発行したものに関する情報が表示されます。
サイト リンクをクリックし、Azure でアプリが想定どおりに動作することを確認します。
リソース グループやアプリ サービスなど、選択したすべての詳細が含まれる発行プロファイルが保存されます。
同じ発行プロファイルでもう一度デプロイするには、[発行] ボタンか [Web 発行アクティビティ] ウィンドウの [発行] ボタンを使用するか、ソリューション エクスプローラーでプロジェクトを右クリックし、コンテキストメニューで [発行] 項目を選択します。
ソリューション エクスプローラーで対象のプロジェクトを右クリックし、 [発行] を選択します。
[発行] ダイアログで、Azure をターゲットとして選択します。
[特定のターゲット] タブで、コンテナーの種類に応じて、App Service コントナー など、適切なデプロイ ターゲットを選択します。 コンテナーの種類に応じて、App Service (Linux) または App Service (Windows) になります。 画像を Azure Container Registry にデプロイする場合、[Azure App Service コンテナー] を選択します。
使用するサブスクリプションで適切な Azure アカウントにサインインしていない場合は、 [発行] ウィンドウの左上にあるボタンを使用してサインインします。
既存のアプリ サービスを使用するか、[Create new Azure App Service]\(新しい Azure App Service を作成する\) リンクをクリックして新規に作成することができ ます。 ツリービュー内で既存のアプリ サービスを探すには、そのリソース グループを展開するか、 [表示] 設定を [リソースの種類] に変更して種類で並べ替えます。
Note
Visual Studio 2022 バージョン 17.11 では、Azure への発行に使用される既定の認証方法が、基本認証からアクセス トークンを使用した認証に変更されました。 Visual Studio 17.11 以降で基本認証を使用するには、[セキュリティで保護された発行を有効にする] チェック ボックスをオフにします (推奨されません)。
新規に作成した場合は、リソース グループとアプリ サービスが Azure 内に生成されます。 名前は、一意であれば、必要に応じて変更できます。
既定のホスティング プランをそのまま使用することも、ホスティング プランを今すぐ、または後で Azure portal 内で変更することもできます。 既定値は、サポートされているリージョンのいずれかにある
S1
(小) です。 ホスティング プランを作成するには、[ホスティング プラン] ドロップダウン リストの横にある [新規] を選択します。 [ホスティング プラン] ウィンドウが表示されます。これらのオプションの詳細は、「Azure App Service プランの概要」で確認できます。
Azure App Service コンテナー オプションを選択した場合、既存のレジストリを使用するか、新しいレジストリを作成するか指定します。 新しいレジストリを作成する場合、新しいレジストリの設定を含む画面が表示されます。 SKU のオプションの説明については、「Azure Container Registry サービス階層」を参照してください。
これらのリソースの選択または作成が完了したら、 [完了] を選択します。 選択したリソース グループとアプリ サービス内でコンテナーが Azure にデプロイされます。 このプロセスには時間が少しばかりかかります。 完了すると、 [発行] タブにサイトの URL など、発行したものに関する情報が表示されます。
リソース グループやアプリ サービスなど、選択したすべての詳細が含まれる発行プロファイルが保存されます。 Azure App Service コンテナーを選択すると、コンテナー レジストリ インスタンスで管理者ユーザーを有効にするように求められる場合があります。
サイト リンクをクリックし、Azure でアプリが想定どおりに動作することを確認します。
同じ発行プロファイルでもう一度デプロイするには、 [発行] ボタンか [Web 発行アクティビティ] ウィンドウの [発行] ボタンを使用するか、ソリューション エクスプローラーでプロジェクトを右クリックし、コンテキストメニューで [発行] 項目を選択します。
コンテナー設定を表示する
Azure portal では、デプロイした App Service を開くことができます。
デプロイした App Service の設定を表示するには、 [コンテナーの設定] メニューを開きます (Visual Studio 2019 バージョン 16.4 以降を使用している場合)。
そこから、コンテナーの情報を表示したり、ログを表示またはダウンロードしたり、継続的デプロイを設定したりできます。 Azure App Service 継続的デプロイ CI/CD に関するページを参照してください。
リソースをクリーンアップする
このチュートリアルに関連付けられている Azure リソースをすべて削除するには、Azure portal を使用してリソース グループを削除します。 発行した Web アプリケーションに関連付けられているリソース グループを見つけるには、[表示]、[その他のウィンドウ]、[Web 発行アクティビティ] の順に選択し、歯車アイコンを選択します。 [発行] タブが開きます。これにはリソース グループが含まれています。
Azure portal で [リソース グループ] をクリックし、リソース グループを選択してその詳細ページを開きます。 リソース グループが間違っていないことを確認し、[リソース グループの削除] を選択し、名前を入力し、[削除] を選択します。