次の方法で共有


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

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

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

前提条件

プロジェクトを作成する

まず、Azure にデプロイするコンテナー化された 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 リソースを選択したり、アプリケーションのデプロイに使用する新しいリソースを作成したりすることができます。 また、プロジェクトの Dockerfile を使用したコンテナー イメージの作成、このイメージの 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 によって発行プロファイルが作成されます。 この発行プロファイルは、選択した発行オプションとリソースが VS によって格納される場所で、必要に応じてすぐにすばやく再度発行できます。 終了すると、ダイアログを閉じることができます。

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

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

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

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

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

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

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

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

Container Apps は、GitHub アクションで CI/CD を使用してデプロイすることもできます。これは、プロジェクトの 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 リポジトリでイシューを開いて、お知らせください。

次のステップ