次の方法で共有


Azure Container Apps ランディング ゾーン アクセラレータのネットワーク

Container Apps は、一般に Container Apps 環境と呼ばれるものの中で、OS の更新、スケーリング、フェールオーバー プロセス、リソース割り当ての処理を担当します。 仮想ネットワーク (VNet) を介してセキュリティで保護された境界を作成することによって、環境で 1 つ以上のコンテナー アプリまたはジョブがカプセル化されます。

既定では、Container Apps 環境に対して、VNet が自動的に作成されます。 ただし、ネットワークをより詳細に制御したい場合は、Container Apps 環境を作成するときに既存の VNet を使用できます。

環境では、外部要求を受け入れることも、内部要求のみにロックダウンすることもできます。

外部環境では、パブリック インターネット経由でアクセスできる仮想 IP アドレスを使用してコンテナー アプリを公開します。 または、内部環境では、仮想ネットワーク内の IP アドレスでコンテナー アプリが公開されます。 Container Apps 環境内で、または仮想ネットワークを通過する際に、トラフィックを制限できます。 詳細については、「Azure Container Apps ランディング ゾーン アクセラレータのセキュリティに関する考慮事項」を参照してください。

考慮事項

  • サブネットの要件:

    • 仮想ネットワーク上の環境には専用サブネットが必要です。 サブネットの CIDR は、消費のみの環境の場合は /23 以上にする必要があり、ワークロード プロファイル環境の場合は /27 以上にする必要があります。
  • IP アドレス管理:

    • 60 個の IP のベースが VNet に予約されています。 この量は、各アプリ リビジョンがサブネットから IP アドレスを取得するにつれて、コンテナー環境がスケーリングされるにつれて増加する可能性があります。 送信 IP は時間の経過と共に変化する可能性があります。

    • サポートされているのは、IPv4 アドレスのみです (IPv6 はサポートされていません)。

    • マネージド パブリック IP リソースは、外部環境か内部環境かに関係なく、送信要求と管理トラフィックを処理します。

  • ネットワーク セキュリティ:

    • 既定の NSG 規則より厳しい規則を使って、ネットワーク セキュリティ グループ (NSG) でネットワークをロックダウンし、環境の受信と送信のすべてのトラフィックを制御できます。
  • プロキシと暗号化:

    • Container Apps では、エッジ HTTP プロキシとして Envoy プロキシが使われます。 すべての HTTP 要求は HTTPS に自動的にリダイレクトされます。 Envoy は、境界を越えた後、トランスポート層セキュリティ (TLS) を終了します。 相互トランスポート層セキュリティ (mTLS) は、Dapr を使用する場合にのみ使用できます。 ただし、Envoy は mTLS を終了するため、Envoy から Dapr 対応コンテナー アプリへの着信呼び出しは暗号化されません。
  • DNS の考慮事項:

    • 環境がデプロイされると、Container Apps は多くの DNS 参照を実行します。 これらの参照の一部は、内部 Azure ドメインを参照します。 カスタム DNS ソリューションを介して DNS トラフィックを強制する場合は、未解決の DNS クエリを Azure DNS に転送するように DNS サーバーを構成します。

    • Container Apps で内部的に実行されているアプリケーションの場合、システムは DNS 名を内部 IP アドレスに解決する際に Azure プライベート DNS ゾーンに依存します。 プライベート DNS ゾーン内では、ワイルドカード (*) A レコードを内部ロード バランサーの IP アドレスにポイントできます。

  • 送信トラフィック管理:

    • 送信ネットワーク トラフィック (エグレス) は、Azure Firewall またはネットワーク仮想アプライアンス クラスター経由でルーティングできます。
  • 環境全体での負荷分散:

    • 回復性や近接性の理由から複数の Container Apps 環境でアプリケーションを実行するには、Azure Traffic Manager や Azure Front Door などのグローバル負荷分散サービスの使用を検討してください。
  • ネットワーク セキュリティ:

    • ネットワーク セキュリティ グループ (NSG) を使用してネットワークをセキュリティで保護し、不要な受信および送信トラフィックをブロックします。

    • Azure Container Apps 環境には Azure DDoS Protection を使用します。

    • Private Link は、セキュリティで保護されたネットワーク接続と、他のマネージド Azure サービスへのプライベート IP ベースの接続に使用します。

    • ソリューション (内部および外部) のすべてのエンドポイントで TLS 暗号化接続 (HTTPS) のみを受け入れるようにします。

    • インターネットに接続され、セキュリティが重要な内部向けの Web アプリケーションの場合は、HTTPS/TCP イングレスを備えた Web アプリケーション ファイアウォールを使用します。

    • 一部のシナリオでは、Container Apps Web アプリケーションをインターネットに直接公開し、サードパーティの CDN/WAF サービスで保護することができます。

推奨事項

  • ネットワーク構成: コンテナー アプリをカスタム仮想ネットワークにデプロイして、ネットワーク構成をより詳細に制御します。

  • セキュリティで保護された受信接続: インターネットに接続するサービスを公開する場合は、Azure Application Gateway (WAF_v2 SKU) または Azure Front Door (Web アプリケーション ファイアウォール付き) を使用して、受信接続をセキュリティで保護します。

  • 内部トラフィック管理: Azure Application Gateway や Azure Front Door などのサービスの内部ネットワーク構成を使用して、ロード バランサーから Azure Container Apps 環境へのトラフィックで内部接続が使用されるようにします。

  • アプリケーションの公開: イングレスを有効にして、HTTPS または TCP ポート経由でアプリケーションを公開します。

リファレンス