仮想ネットワークは、Azure Container Apps 環境の周囲にセキュリティで保護された境界を作成します。 既定では、環境は自動的に生成される VNet で作成されます。 ただし、既存の VNet を使用すると、Application Gateway との統合、ネットワーク セキュリティ グループ、プライベート エンドポイントの背後にあるリソースとの通信など、より多くの Azure ネットワーク機能が提供されます。 この構成は、社内のミッション クリティカルなアプリケーションをパブリック インターネットから分離する必要がある企業のお客様にとって重要です。
仮想ネットワークを作成するときは、次の状況に注意してください。
コンテナー アプリですべての外部アクセスを制限する場合は、内部 Container Apps 環境を作成します。
独自の VNet を使用する場合は、コンテナー アプリ専用のサブネットを提供する必要があります。 このサブネットは、他のサービスでは使用できません。
ネットワーク アドレスは、環境の作成時に定義したサブネット範囲から割り当てられます。
Container Apps 環境で使われるサブネットの範囲を定義できます。
環境を内部としてデプロイすることで、環境へのインバウンド要求を VNet だけに制限できます。
注
独自の仮想ネットワークを指定すると、追加の管理対象リソースが作成されます。 これらのリソースでは、それらに関連付けられた料金でコストが発生します。
コンテナー アプリに関するネットワークの設計を始めるときは、「仮想ネットワークを計画する」をご覧ください。
注
VNet が Container Apps 環境で使用されている場合、異なるリソース グループまたはサブスクリプション間での VNet の移動は許可されません。
サブネット
仮想ネットワーク統合は、専用サブネットに依存します。 サブネット内の IP アドレスの割り当てとサポートされるサブネット サイズは、Azure Container Apps で使用している プラン によって異なります。
サブネット サイズは慎重に選択してください。 Container Apps 環境を作成した後は、サブネット サイズを変更できません。
環境の種類によって、サブネットの要件は異なります。
/27
は、仮想ネットワーク統合に必要な最小サブネット サイズです。サブネットを
Microsoft.App/environments
に委任する必要があります。外部イングレスを備えた外部環境を使用する場合、受信トラフィックはサブネットを経由するのではなく、インフラストラクチャのパブリック IP 経由でルーティングされます。
Container Apps では、サブネットとの統合のために 12 個の IP アドレスが自動的に予約されます。 インフラストラクチャの統合に必要な IP アドレスの数は、その環境のスケールの需要に基づいて変わるわけではありません。 使用しているワークロード プロファイルの種類に応じて、次の規則に従って追加の IP アドレスが割り当てられます。IP アドレスは、環境のワークロード プロファイルに応じて割り当てられます。
専用ワークロード プロファイル: コンテナー アプリがスケールアウトすると、各ノードに 1 つの IP アドレスが割り当てられます。
従量課金ワークロード プロファイル: 各 IP アドレスは、複数のレプリカ間で共有することができます。 アプリに必要な IP アドレスの数を計画する際は、10 のレプリカごとに 1 つの IP アドレスを計画します。
単一リビジョン モードでリビジョンに変更を加えると、必要なアドレス空間は短期間 2 倍になり、ダウンタイムゼロのデプロイをサポートします。 これは、特定のサブネット サイズでサポートされる、実際に使用可能なレプリカまたはノードに影響します。 次のテーブルに、CIDR ブロック 1 つにつき使用可能なアドレスの最大数と、水平スケーリングに対する効果の両方を示します。
サブネットのサイズ 使用可能な IP アドレス 1 最大ノード数 (専用ワークロード プロファイル) 2 最大レプリカ数 (従量課金ワークロード プロファイル) 2 /23 498 249 2,490 /24 242 121 1,210 /25 114 五十七 570 /26 50 二十五 250 /27 18 9 90 1 使用可能な IP アドレスは、サブネットのサイズから、サブネットによって予約された 5 つの IP アドレスを含む Azure Container Apps インフラストラクチャに必要な 14 個の IP アドレスを差し引いた値です。 2 これは、単一リビジョン モードのアプリを考慮しています。
サブネット アドレス範囲の制限
サブネットのアドレス範囲は、Azure Kubernetes Services によって予約されている次の範囲と重複できません。
- 169.254.0.0/16
- 172.30.0.0/16
- 172.31.0.0/16
- 192.0.2.0/24
さらに、ワークロード プロファイル環境では、次のアドレスが予約されています。
- 100.100.0.0/17
- 100.100.128.0/19
- 100.100.160.0/19
- 100.100.192.0/19
CLI を使用したサブネット構成
Container Apps 環境を作成するとき、1 つのサブネットにリソース ID を指定します。
CLI を使っている場合、サブネット リソース ID を定義するパラメーターは infrastructure-subnet-resource-id
です。 サブネットは、インフラストラクチャ コンポーネントとユーザー アプリ コンテナーをホストします。
従量課金のみの環境で Azure CLI を使用していて、 プラットフォームReservedCidr 範囲が定義されている場合、両方のサブネットが platformReservedCidr
で定義されている IP 範囲と重複してはなりません。
NAT ゲートウェイの統合
NAT Gateway を使用すると、ワークロード プロファイル環境の仮想ネットワーク内の送信インターネット トラフィックのアウトバウンド接続を簡略化できます。
サブネット上に NAT Gateway を構成すると、NAT Gateway では環境の静的パブリック IP アドレスが提供されます。 コンテナー アプリからの送信トラフィックはすべて、NAT Gateway の静的パブリック IP アドレスを介してルーティングされます。
マネージド リソース
内部環境または外部環境を独自のネットワークにデプロイすると、お使いの環境がホストされている Azure サブスクリプションに新しいリソース グループが作成されます。 このリソース グループには、Azure Container Apps プラットフォームによって管理されるインフラストラクチャ コンポーネントが含まれています。 このグループ内のサービスや、リソース グループ自体を変更しないでください。
注
Container Apps 環境に割り当てられたユーザー定義タグは、リソース グループ自体を含め、リソース グループ内のすべてのリソースにレプリケートされます。
お使いの環境がホストされている Azure サブスクリプションで作成されたリソース グループの名前には、既定で ME_
が先頭に付けられ、このリソース グループ名は、コンテナー アプリ環境を作成するときにカスタマイズすることが "できます"。
外部環境の場合、リソース グループには外部環境への受信接続に特に使用されるパブリック IP アドレスと、ロード バランサーが含まれます。 内部環境の場合、リソース グループにはロード バランサーのみが含まれます。
標準の Azure Container Apps の課金に加え、次の料金が課金されます。
内部環境または外部環境を使用する場合は、エグレス用の 1 つの標準静的パブリック IP、外部環境を使用する場合は、イングレス用の 1 つの標準静的パブリック IP。 SNAT の問題が原因でエグレスにさらにパブリック IP が必要な場合は、サポート チケットを開いてオーバーライドを要求してください。
1 つの標準ロード バランサー。
処理済みデータのコスト (GB 単位) には、管理操作のイングレスとエグレスの両方が含まれます。