この記事では、選択したプログラミング言語でローカル ソース コードからマイクロサービスを構築し、Azure Container Apps にデプロイする方法について説明します。 このクイック スタートでは、音楽アルバムの静的なコレクションを返すバックエンド Web API サービスを作成します。
次のスクリーンショットは、デプロイするアルバム API サービスからの出力を示しています。
前提条件
このプロジェクトを完了するには、次の項目が必要です:
| 必要条件 | 手順 |
|---|---|
| Azure アカウント | お持ちでない場合は、無料のアカウントを作成してください。 続行するには、Azure サブスクリプションの "共同作成者" または "所有者" のアクセス許可が必要です。 詳細については、 Azure portal を使用した Azure ロールの割り当て に関するページを参照してください。 |
| Git | Git のインストール。 |
| Azure CLI | Azure CLI をインストールします。 |
セットアップ
CLI から Azure にサインインするには、次のコマンドを実行し、プロンプトに従って認証プロセスを完了します。
az login
最新バージョンの CLI を実行していることを確認するには、upgrade コマンドを実行します。
az upgrade
次に、CLI 用の Container Apps 拡張機能をインストールまたは更新します。
az extension add --name containerapp --upgrade --allow-preview true
現在の拡張機能がインストールされたら、 Microsoft.App と Microsoft.OperationalInsights 名前空間を登録します。
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
環境変数を作成する
CLI のセットアップが完了したので、この記事全体で使用される環境変数を定義できます。
Bash シェルで次の変数を定義します。
export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"
サンプル コードの入手
次のコマンドを実行して、選択した言語でサンプル アプリケーションを複製し、プロジェクト ソース フォルダーに切り替えます。
git clone https://github.com/azure-samples/containerapps-albumapi-csharp.git
cd containerapps-albumapi-csharp/src
コンテナーアプリ をビルドしてデプロイする
まず、次のコマンドを実行して、このクイックスタートで作成したリソースの追加先となるリソース グループを作成します。
az group create --name $RESOURCE_GROUP --location $LOCATION
containerapp up コマンドを使用して、最初のコンテナー アプリをビルドしてデプロイします。 このコマンドは、次の操作を行います。
- リソース グループを作成します。
- コンテナー レジストリ リソースを作成します。
- コンテナー イメージをビルドしてレジストリにプッシュします。
- Log Analytics ワークスペースで Container Apps 環境を作成します。
- ビルドされたコンテナー イメージを使用して、コンテナー アプリを作成およびデプロイする。
up コマンドは、プロジェクト フォルダー内の Dockerfile を使用してコンテナー イメージをビルドします。 Dockerfile 内の EXPOSE 命令によってターゲット ポートが定義されます。これは、イングレス トラフィックをコンテナーに送信するために使用されるポートになります。
次のコード例の . (ドット) は、Dockerfile が含まれているプロジェクトの現在のディレクトリで実行するよう containerapp up に指示します。
az containerapp up \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT \
--source .
注意
"AADSTS50158: 外部セキュリティ チャレンジが満たされていません" というメッセージでエラーが返された場合は、 az login --scope https://graph.microsoft.com//.default 実行して必要なアクセス許可でサインインし、 az containerapp up コマンドをもう一度実行します。
デプロイの確認
az containerapp up コマンドの出力からコンテナー アプリの URL を見つけます。 ブラウザーでその URL に移動します。 URL の末尾に /albums を追加すると、API からの応答が表示されます。
制限
ソース コードをアップロードするための最大サイズは 200 MB です。 アップロードが大きすぎる場合は、エラー 413 が返されます。
リソースをクリーンアップする
フロントエンドのデプロイに関するチュートリアルに進まない場合は、次のコマンドを使用して、このクイック スタートで作成した Azure リソースを削除できます。
注意事項
次のコマンドを実行すると、指定されたリソース グループとそれに含まれるすべてのリソースが削除されます。 このクイック スタートの範囲外のリソースがグループに含まれている場合は、それらのリソースも削除されます。
az group delete --name $RESOURCE_GROUP
ヒント
問題がありますか? GitHub の Azure Container Apps リポジトリでイシューを開いて、お知らせください。
次のステップ
このクイックスタートを完了したら、「 チュートリアル: Azure Container Apps でのマイクロサービス間の通信 」に進み、API を呼び出すフロントエンド アプリケーションをデプロイする方法を学習できます。