次の方法で共有


チュートリアル: Visual Studio を使用して Azure Container Apps にデプロイする

Azure Container Apps を使用すると、サーバーレス プラットフォームでマイクロサービスとコンテナー化されたアプリケーションを実行できます。 Container Appsを使用すると、クラウドインフラストラクチャや複雑なコンテナーオーケストレーターを手動で管理する必要がなくなり、コンテナーを実行するメリットが得られます。

このチュートリアルでは、Visual Studio を使用して、コンテナー化された ASP.NET Core 8.0 アプリケーションを Azure Container Apps にデプロイします。 以下の手順は、以前のバージョンの ASP.NET Core にも適用されます。

前提条件

プロジェクトの作成

まずは、コンテナー化された ASP.NET Core アプリケーションを作成します。

  1. Visual Studio で、[ファイル] を選択し、次に [新規 => プロジェクト] を選択します。

  2. ダイアログ ウィンドウでASP.NETを検索し、次に ASP.NET Core Web アプリ を選択し、その後 次へ を選択します。

  3. [プロジェクト名] フィールドで、アプリケーションに MyContainerApp という名前を付け、次に [次へ] を選択します。

  4. [追加情報] 画面で、[Docker の有効化] が選択されていることを確認し、次に [Docker OS] 設定で [Linux] が選択されていることを確認します。 Azure Container Apps では現在、Windows コンテナーがサポートされていません。 これを選択すると、既定でプロジェクト テンプレートでコンテナー化がサポートされるようになります。 有効になっている間、プロジェクトでは、実行中またはビルド中のコンテナーが使用されます。

  5. [作成] をクリックすると、Visual Studio によってプロジェクトが作成され、読み込まれます。

Docker を有効にする方法を示すスクリーンショット。

Azure Container Apps をデプロイする

プロジェクト テンプレートで "Docker を有効にする" 設定を選択したため、アプリケーションには Dockerfile が含まれています。 Visual Studio は、Dockerfile を使用して、Azure Container Apps が実行するコンテナー イメージをビルドします。

このプロセスの詳細について学習する場合は、Visual Studio でのコンテナー化された アプリのビルド方法に関するページを参照してください。

これで、アプリケーションを Azure Container Apps にデプロイする準備が整いました。

リソースの作成

Visual Studio の発行ダイアログ ウィンドウは、既存の Azure リソースを選択したり、デプロイ用に新しいリソースを作成したりするのに役立ちます。 このプロセスでは、コンテナー イメージのビルド、イメージの Azure Container Registry (ACR) へのプッシュ、新しいコンテナー アプリ イメージのデプロイも行われます。

  1. MyContainerApp プロジェクト ノードを右クリックして [公開] を選択します。

  2. ダイアログ ボックスで、公開オプションの一覧から [Azure] を選択し、次に [次へ] を選択します。

    Azure に発行する方法を示すスクリーンショット。

  3. [特定のターゲット] 画面で、[Azure Container Apps (Linux)] を選択し、その後もう一度 [次へ] を選択します。

    Container Apps が選択された画面を示すスクリーンショット。

  4. 次に、プロジェクトをホストする Azure Container App を作成します。 右側にある [緑色のプラスアイコン] を選択して、[新規作成] ダイアログを開きます。 [新規作成] ダイアログ ボックスで、次の値を入力します。

    • コンテナー アプリ名: msdocscontainerapp と名前を入力します。
    • サブスクリプション名: アプリをホストするサブスクリプションを選択します。
    • リソース グループ: リソース グループは、Azure で関連するリソースを整理するための論理コンテナーとして機能します。 既存のリソース グループを選択するか、[新規] を選択して、msdocscontainerapps などの名前で作成できます。
    • コンテナー アプリ環境: コンテナー アプリ環境: すべてのコンテナー アプリは、コンテナー アプリ環境に属している必要があります。 環境によって、1 つまたは複数のコンテナー アプリ用の分離されたネットワークが提供されるため、相互に簡単に呼び出すことができます。 [新規] をクリックして、コンテナー アプリ環境の [新規作成] ダイアログを開きます。 既定値のままにして [OK] を選択し、[環境] ダイアログを閉じます。
    • コンテナー名: これは、このコンテナー アプリで実行されるコンテナーのフレンドリ名です。 このクイックスタートでは、名前 msdocscontainer1 を使用します。 通常、コンテナー アプリでは 1 つのコンテナーが実行されますが、複数のコンテナーが必要になる場合もあります。 このような例の 1 つは、特化されたログ記録や通信などのアクティビティを実行するためにサイドカー コンテナーが必要な場合です。

    新しい Container Apps の作成方法を示すスクリーンショット。

  5. [作成] を選択して、作成またはコンテナー アプリを確定します。 Visual Studio と Azure によって、必要なリソースが自動的に作成されます。 この処理には数分かかる場合があるため、実行の完了を待って続行します。

  6. リソースが作成されたら、[次へ] をクリックします。

    作成されたリソースの選択方法を示すスクリーンショット。

  7. レジストリ画面では、既存のレジストリを選択するか、新しいレジストリを作成することができます。 新しいものを作成するには、右側にある緑色の + アイコンをクリックします。 [新規作成] レジストリ画面で、次の値を入力します。

    • DNS プレフィックス: 任意の値 msdocscontainerregistry または名前を入力します。
    • サブスクリプション名: 使用したいサブスクリプションを選択します。選択肢は 1 つしかないかもしれません。
    • リソースグループ: 前に作成した msdocs リソース グループを選択します。
    • SKU: [Standard] を選択します。
    • レジストリの場所: 地理的に近いリージョンを選択します。

    コンテナー レジストリの作成方法を示すスクリーンショット。

  8. これらの値を設定したら、[作成] を選択します。 しばらくすると、Visual Studio と Azure によってレジストリが作成されます。

  9. コンテナー レジストリが作成されたら、それが選択されていることを確認し、[完了] を選択します。 しばらくすると、Visual Studio によって発行プロファイルが作成されます。 Visual Studio は、この発行プロファイルにユーザーによって選択された発行オプションとリソースを保存するため、ユーザーは必要に応じてすばやく再発行を行うことができます。 終了すると、ダイアログを閉じることができます。

    作成されたレジストリの選択方法を示すスクリーンショット。

Visual Studio を使用してアプリを発行する

リソースと発行プロファイルが作成されている間でも、アプリを発行して Azure にデプロイする必要があります。

[発行プロファイル] 画面の右上にある [発行] を選択して、Azure で作成したコンテナー アプリにデプロイします。 この処理には時間がかかる場合があるため、完了するまでお待ちください。

アプリの発行方法を示すスクリーンショット。

アプリのデプロイが完了すると、Visual Studio によってブラウザーが開き、デプロイされたサイトの URL が表示されます。 適切なリソースすべてのプロビジョニングが完了していない場合、このページには最初、エラーが表示される場合があります。 ブラウザーを定期的に更新し続けることで、デプロイが完全に完了したかどうかを確認できます。

発行されたサイトを示すスクリーンショット。

GitHub Actions を使用してアプリを発行する

Container Apps は、GitHub Actions を通して CI/CD を使用してデプロイすることもできます。 GitHub Actions は、プロジェクトの GitHub リポジトリを通して、開発ワークフローの自動化、カスタマイズ、実行を直接行うための強力なツールです。

Visual Studio が、ユーザーが発行しようとしているプロジェクトが GitHub でホストされていることを検出すると、発行フローには追加の [デプロイの種類] ステップが表示されます。 このステージでは、クイックスタートで前述した手順を使用して Visual Studio で直接発行するか、GitHub Actions ワークフローを使用するかを開発者が選択できます。

デプロイの種類を示すスクリーンショット。

GitHub Actions ワークフローを選択すると、Visual Studio は、プロジェクトのルート ディレクトリに .github フォルダーを作成し、その中に YAML ファイルを生成します。 YAML ファイルには、コードをプッシュするたびにアプリをビルドして Azure にデプロイするための GitHub Actions 構成が含まれています。

変更を加えてコードをプッシュすると、GitHub の [アクション] タブでビルドとデプロイプロセスの進行状況を確認できます。このページには、ワークフローの進行状況と正常性に関する詳細なログとインジケーターが表示されます。

GitHub アクションを示すスクリーンショット。

ビルド ジョブとデプロイ ジョブの横に緑色のチェックマークが表示されたら、このワークフローは完了です。 Container Apps サイトを閲覧すると、最新の変更が適用されていることが確認できるはずです。 コンテナー アプリの URL は、Azure portal ページを使用していつでも見つけることができます。

リソースをクリーンアップする

今後、このアプリケーションを使用しない場合は、リソース グループを削除することで、Azure Container Apps インスタンスと関連サービスすべてを削除できます。

作成したリソースを削除するには、Azure portal で以下の手順を実行してください。

  1. "概要" セクションで、msdocscontainerapps リソース グループを選択します。
  2. リソース グループ ページの [概要] の上部で [リソース グループの削除] ボタンを選択します。
  3. ["my-container-apps" を削除しますか?] 確認ダイアログにリソース グループ名「my-container-apps」を入力します。
  4. 削除を選択します。
    リソース グループを削除するプロセスが完了するまでに数分かかる場合があります。

ヒント

問題がある場合は、 GitHub の Azure Container Apps リポジトリでイシューを開いて、お知らせください。

次のステップ