Container Apps 環境は、1 つ以上のコンテナー アプリおよびジョブを囲むセキュリティ保護された境界です。 Container Apps ランタイムは、OS のアップグレード、スケーリング操作、フェールオーバー手順、およびリソースの分散を処理することで、各環境を管理します。
環境には、次の機能が含まれます。
| 特徴 | 説明 |
|---|---|
| タイプ | Container Apps 環境には、ワークロード プロファイル環境と従量課金のみの環境の 2 種類 があります。 ワークロード プロファイル環境では従量課金プランと専用 プラン の両方がサポートされますが、従量課金のみの環境では従量課金 プランのみがサポートされます。 |
| 仮想ネットワーク | 仮想ネットワークは、各環境をサポートし、環境の安全な境界を確立します。 環境を作成すると、 ネットワーク機能が制限された仮想ネットワーク が自動的に作成されます。または、独自の仮想ネットワークを提供することもできます。 既存の 仮想ネットワーク を追加すると、ネットワークをきめ細かく制御できます。 |
| 複数のコンテナー アプリ | 複数のコンテナー アプリが同じ環境にある場合、同じ仮想ネットワークを共有し、ログを同じログ出力先に書き込みます。 |
| マルチサービス統合 | Azure Functions と Azure Spring Apps を Azure Container Apps 環境に追加できます。 |
ニーズに応じて、1 つ以上の Container Apps 環境を使用できます。 1 つまたは複数の環境を使用する必要があるかどうかを判断するには、次の条件を使用します。
単一環境
次の場合は、1 つの環境を使用します。
- 管理に関連するサービス
- 異なるアプリケーションを同じ仮想ネットワークにデプロイする
- Dapr サービス呼び出し API を介して通信する Dapr アプリケーションをインストルメント化する
- アプリケーション間で同じ Dapr 構成を共有する
- アプリケーション間で同じログ宛先を共有する
複数の環境
2 つ以上のアプリケーションで以下を実行する場合は、複数の環境を使用します。
- 同じコンピューティング リソースを共有しない
- Dapr サービス呼び出し API を介して通信しない
- チームや環境 (例えば、テスト環境と本番環境) の使用が原因で隔離される
種類
| タイプ | 説明 | 計画 | 課金に関する考慮事項 |
|---|---|---|---|
| ワークロード プロファイル | ゼロへのスケールをサポートするサーバーレス アプリを実行し、アプリが従量課金プロファイルで使用するリソースに対してのみ支払います。 また、専用のワークロード プロファイルを使用して、カスタマイズされたハードウェアを使用してアプリを実行し、コストの予測可能性を高めることもできます。 | 従量課金および専用 | 個別のワークロード プロファイルを使用して、どちらか一方または両方のプランでアプリを実行することを選択できます。 専用プランには、使用しているワークロード プロファイルの数に関係なく、環境全体の固定プラン管理コストがあります。 専用プランには、ワークロード プロファイル インスタンスの数と各インスタンスに割り当てられたリソースに基づく変動コストもあります。 詳細については、「課金」を参照してください。 |
| 消費量のみ | ゼロへのスケールをサポートするサーバーレス アプリを実行し、アプリが使用するリソースに対してのみ料金を支払います。 | 消費量のみ | 個々のコンテナー アプリとそのリソース使用量に対してのみ課金されます。 Container Apps 環境に関連するコストはありません。 |
ログ
ログ記録は、環境内で実行されているコンテナー アプリの監視とトラブルシューティングに不可欠な部分です。 Azure Container Apps 環境では、Azure Monitor と Application Insights との統合により、一元的なログ記録機能が提供されます。
既定では、環境内のすべてのコンテナー アプリが共通の Log Analytics ワークスペースにログを送信するため、複数のアプリ間でログのクエリと分析が簡単になります。 これらのログには、次のものが含まれます。
- コンテナー
stdout/stderrストリーム - コンテナー アプリのスケーリング イベント
- Dapr サイドカー ログ (Dapr が有効になっている場合)
- システム レベルのメトリックとイベント
ログ構成プロパティ
API を使用して、環境レベルで次のプロパティを構成できます。
| プロパティ | 説明 |
|---|---|
properties.appLogsConfiguration |
環境内のすべてのアプリのログが発行される Log Analytics ワークスペースの構成に使用されます。 |
properties.containerAppsConfiguration.daprAIInstrumentationKey |
トレース用に Dapr に提供される App Insights インストルメンテーション キー |
ポリシー
次のいずれかの条件が 90 日より長く続くと、Azure Container Apps 環境は自動的に削除されます。
- 環境がアイドル状態 (アクティブなコンテナー アプリまたは環境内で実行されているジョブがない)
- 仮想ネットワークまたは Azure Policy の構成により、環境が失敗状態になっている
- 仮想ネットワークまたは Azure Policy の構成により、環境によってインフラストラクチャの更新がブロックされる
これらのポリシーは、効率的なリソースの使用を確保し、サービスの品質を維持するのに役立ちます。 自動削除を防ぐには:
- 環境内で少なくとも 1 つのアクティブなコンテナー アプリまたはジョブを実行したままにする
- 仮想ネットワークと Azure Policy の構成が正しく設定されていることを確認する
- 環境が問題のある状態に関する通知に応答する
Container Apps 環境の正常性と状態は、いくつかの方法で監視できます。
Azure Monitor アラート: 環境の重要な変更や問題を自動的に通知するようにアラートを設定します。
Azure portal: リアルタイム環境の状態と詳細を Azure portal で直接表示します。
Azure CLI: Azure CLI を使用して、環境の現在の状態とプロパティをプログラムで確認します。
これらのオプションは、環境に影響を与える問題に常に情報を提供し、迅速に対応するのに役立ちます。
制限とクォータ
Container Apps 環境の制限とクォータを理解することは、アプリケーション アーキテクチャを効果的に計画するのに役立ちます。
環境に関連するクォータを確認するには、クォータ制限を返す方法については、 Azure Container Apps のクォータに関するページを参照してください。
最新の制限とクォータについては、Azure Container Apps サービスの制限を参照してください。