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 環境は自動的に削除されます。
- 環境内でアクティブなコンテナーアプリやジョブが実行されていない待機状態
- VNet または Azure Policy の構成が原因で失敗した状態
- VNet または Azure Policy の構成によりインフラストラクチャの更新がブロックされている
これらのポリシーは、効率的なリソースの使用を確保し、サービスの品質を維持するのに役立ちます。 自動削除を防ぐには:
- 環境内で少なくとも 1 つのアクティブなコンテナー アプリまたはジョブを実行したままにする
- VNet と Azure Policy の構成が正しく設定されていることを確認する
- 環境が問題のある状態に関する通知に応答する
Azure Monitor アラートを使用するか、Azure portal または Azure CLI で環境の状態を定期的に確認することで、環境の状態を監視できます。
制限とクォータ
Container Apps 環境の制限とクォータを理解することは、アプリケーション アーキテクチャを効果的に計画するのに役立ちます。
リソース | 極限 | 注記 |
---|---|---|
環境ごとのコンテナー アプリ | 200 | 1 つの環境でのコンテナー アプリの最大数 |
環境ごとのコンテナー アプリのリビジョン | 1000 | 環境内のすべてのアプリのリビジョンの総数 |
Azure リージョン、サブスクリプションあたりの環境 | 20 | サポート リクエストを使用して増やすことができます |
コンテナーあたりの最大 CPU 数 | 4 vCPU (消費)、ワークロード プロファイルによって異なります | 環境の種類と選択したワークロード プロファイルによって異なります |
コンテナーあたりの最大メモリ数 | 16 GB (消費)、ワークロード プロファイルによって異なります | 環境の種類と選択したワークロード プロファイルによって異なります |
コンテナー アプリあたりのレプリカの最大数 | 300 | 1 つのコンテナー アプリの最大スケールアウト制限 |
最大イングレス要求タイムアウト | 240 秒 | イングレス経由の HTTP 要求の場合 |
最新の制限とクォータについては、Azure Container Apps サービスの制限を参照してください。