この記事では、ユーザー定義ルート (UDR) を使用して、Azure Container Apps環境をAzure Firewallと統合する方法について説明します。 UDR を使用すると、仮想ネットワーク内でのトラフィックのルーティング方法を制御できます。 コンテナー アプリからのすべての送信トラフィックを Azure Firewall 経由でルーティングできます。これにより、トラフィックを監視し、セキュリティ ポリシーを適用するための中心的なポイントが提供されます。 このセットアップは、潜在的な脅威からコンテナー アプリを保護するのに役立ちます。 また、詳細なログと監視機能を提供することで、コンプライアンス要件を満たすのに役立ちます。
ユーザー定義ルート (UDR)
NAT ゲートウェイ経由のユーザー定義ルート (UDR) と制御されたエグレスは、ワークロード プロファイル環境でのみサポートされます。
UDR を使用して、Azure Firewallまたはその他のネットワーク アプライアンスを介してコンテナー アプリからの送信トラフィックを制限します。 詳細については、「ユーザー定義ルートを使用したAzure Container Appsでの送信トラフィックの制御を参照してください。
コンテナー アプリ環境スコープの外部で UDR を構成します。
Azureは、仮想ネットワークの作成時に既定のルート テーブルを作成します。 ユーザー定義ルート テーブルを実装することで、仮想ネットワーク内でのトラフィックのルーティング方法を制御できます。 たとえば、コンテナー アプリから送信トラフィックを制限する UDR を作成するには、それを Azure Firewall にルーティングします。
Azure Container AppsのAzure Firewallで UDR を使用する場合は、使用しているリソースに応じて、ファイアウォールの許可リストに次のアプリケーションまたはネットワーク規則を追加します。
注
構成する必要があるのは、システムの要件に応じて、アプリケーション ルールまたはネットワーク ルールのいずれかです。 両方を同時に構成する必要はありません。
アプリケーション ルール
アプリケーション ルールでは、アプリケーション レイヤーに基づいて、トラフィックを許可または拒否します。 シナリオに基づいて、次の送信ファイアウォール アプリケーション規則が必要です。
| シナリオ | FQDN | 説明 |
|---|---|---|
| すべてのシナリオ |
mcr.microsoft.com、*.data.mcr.microsoft.com |
Azure Container Appsでは、これらの FQDN を Microsoft Container Registry (MCR) に使用します。 Azure FirewallでAzure Container Appsを使用する場合は、これらのアプリケーション規則または MCR のネットワーク規則を許可リストに追加します。 |
| すべてのシナリオ |
packages.aks.azure.com、acs-mirror.azureedge.net |
基になる AKS クラスターでは、Kubernetes と Azure CNI バイナリをダウンロードしてインストールするために、これらの FQDN が必要です。 Azure FirewallでAzure Container Appsを使用する場合は、これらのアプリケーション規則または MCR のネットワーク規則を許可リストに追加します。 詳細については、「Azure グローバル必須 FQDN/アプリケーション 規則を参照してください。 |
| Azure Container Registry (ACR) |
Your-ACR-address、*.blob.core.windows.net、login.microsoft.com |
これらの FQDN は、ACR とAzure FirewallでAzure Container Appsを使用する場合に必要です。 |
| Azure Key Vault |
Your-Azure-Key-Vault-address, login.microsoft.com |
これらの FQDN は、Azure Key Vaultのネットワーク 規則に必要なサービス タグに加えて必要です。 |
| マネージド ID |
*.identity.azure.net、 login.microsoftonline.com、 *.login.microsoftonline.com、 *.login.microsoft.com |
これらの FQDN は、Azure Container AppsのAzure Firewallでマネージド ID を使用する場合に必要です。 |
| Azure Service Bus | *.servicebus.windows.net |
これらの FQDN は、コンテナー アプリがAzure Firewallを介してAzure Service Bus (キュー、トピック、またはサブスクリプション) と通信する場合に必要です。 |
| アスパイア ダッシュボード | https://<YOUR-CONTAINERAPP-REGION>.ext.azurecontainerapps.dev |
この FQDN は、仮想ネットワークで構成された環境でアスパイア ダッシュボードを使用する場合に必要です。 コンテナー アプリのリージョンで FQDN を更新します。 |
| Docker Hub レジストリ |
hub.docker.com、 registry-1.docker.io、 production.cloudflare.docker.com |
Docker Hubレジストリを使用していて、ファイアウォール経由でアクセスする場合は、これらの FQDN をファイアウォールに追加します。 |
| Azure Service Bus | *.servicebus.windows.net |
この FQDN は、Azure Container AppsとAzure FirewallでAzure Service Busを使用する場合に必要です。 |
| Azure 中国: MCR |
mcr.azure.cn、*.data.mcr.azure.cn |
これらの Microsoft Container Registry (MCR) エンドポイントは、Azure China 環境でコンテナー イメージをプルするために使用されます。 |
| Azure 中国: AKS インフラストラクチャ |
mcr.azk8s.cn、mirror.azk8s.cn |
これらの中国固有の AKS ミラーは、Kubernetes バイナリとコンテナー イメージをダウンロードするために使用されます。 |
| Azure 中国: ACR | *.azurecr.cn |
Azure China 環境でAzure Container Registryを使用する場合に必要です。 |
| Azure China: マネージド ID |
*.identity.azure.cn、 login.chinacloudapi.cn、 *.login.chinacloudapi.cn |
これらの FQDN は、Azure China 環境でマネージド ID を使用する場合に必要です。 |
| Azure 中国: Key Vault |
*.vault.azure.cn、login.chinacloudapi.cn |
Azure China 環境でAzure Key Vaultを使用する場合に必要です。 |
| Azure China: Azure Management |
management.chinacloudapi.cn、*.blob.core.chinacloudapi.cn |
Azure China 環境のAzure Resource Manager API 呼び出しとプラットフォームで管理されるストレージ アカウントに必要です。 |
| Azure 中国: 監視 |
*.servicebus.chinacloudapi.cn、mooncake.warmpath.chinacloudapi.cn |
Azure China 環境でのプラットフォームの監視とテレメトリインジェストに必要です。 |
| Azure 中国: コンテナーアプリケーションプラットフォーム |
*.chinacloudsites.cn、*.ext.azurecontainerapps-dev.cn |
Azure China 環境の Container Apps リージョンコントロール プレーンと拡張機能 API に必要です。 |
| Azure 中国: アスパイアダッシュボード | *.azurecontainerapps.cn |
Azure China 環境でアスパイア ダッシュボードまたはアプリ FQDN を使用する場合に必要です。 |
注
前述のAzure China FQDN は、Azure China 環境にのみ適用されます。 Docker Hub FQDN はグローバルに同じですが、中国からのアクセスは信頼性が低い可能性があります。 代わりに、イメージをAzure Container Registry (*.azurecr.cn) にミラーリングすることを検討してください。
ネットワーク ルール
ネットワーク ルールでは、ネットワーク レイヤーとトランスポート レイヤーに基づいてトラフィックを許可または拒否します。 Azure Container AppsのAzure Firewallで UDR を使用する場合は、シナリオに基づいて次の送信ファイアウォール ネットワーク規則を追加します。
| シナリオ | サービス タグ | 説明 |
|---|---|---|
| すべてのシナリオ |
MicrosoftContainerRegistry、AzureFrontDoorFirstParty |
Azure Container Appsは、Microsoft Container Registry (MCR) にこれらのサービス タグを使用します。 Azure Container Appsが MCR を使用できるようにするには、Azure FirewallでAzure Container Appsを使用するときに、これらのネットワーク規則または MCR のアプリケーション 規則を許可リストに追加します。 |
| Azure Container Registry (ACR) |
AzureContainerRegistry、AzureActiveDirectory |
Azure Container Appsで ACR を使用する場合は、Azure Container Registryで使用されるこれらのネットワーク 規則を構成します。 |
| Azure Key Vault |
AzureKeyVault、AzureActiveDirectory |
これらのサービス タグは、Azure Key Vaultのネットワーク 規則の FQDN に加えて必要です。 |
| マネージド ID | AzureActiveDirectory |
Azure Container Appsでマネージド ID を使用する場合は、マネージド ID で使用されるこれらのネットワーク 規則を構成します。 |
| Azure Service Bus | ServiceBus |
コンテナー アプリがAzure Firewallとサービス タグを使用してAzure Service Busにアクセスする場合に必要です。 |
注
この記事に記載されていないAzure Firewallで使用しているAzureリソースについては、サービス タグのドキュメントを参照してください。