この記事では、ユーザー定義ルート (UDR) を使用して、Azure Container Apps環境とAzure Firewallを統合する方法について説明します。 UDR を使用すると、仮想ネットワーク内でのトラフィックのルーティング方法を制御できます。 コンテナー アプリからのすべての送信トラフィックを Azure Firewall 経由でルーティングできます。これにより、トラフィックを監視し、セキュリティ ポリシーを適用するための中心的なポイントが提供されます。 このセットアップは、潜在的な脅威からコンテナー アプリを保護するのに役立ちます。 また、詳細なログと監視機能を提供することで、コンプライアンス要件を満たすのにも役立ちます。
ユーザー定義ルート (UDR)
ユーザー定義ルート (UDR) と NAT ゲートウェイ経由の制御されたエグレスは、ワークロード プロファイル環境でのみサポートされます。
UDR を使用して、Azure Firewallまたはその他のネットワーク アプライアンスを介してコンテナー アプリからの送信トラフィックを制限できます。 詳細については、「ユーザー定義ルートを使用したAzure Container Appsでの送信トラフィックの制御を参照してください。
UDR は、Container Apps 環境のスコープ外部で構成されます。
Azureは、作成時に仮想ネットワークの既定のルート テーブルを作成します。 ユーザー定義ルート テーブルを実装することで、仮想ネットワーク内でのトラフィックのルーティング方法を制御できます。 たとえば、コンテナー アプリから送信トラフィックを制限する UDR を作成するには、それを Azure Firewall にルーティングします。
Azure Container AppsのAzure Firewallで UDR を使用する場合は、使用しているリソースに応じて、次のアプリケーションまたはネットワーク規則をファイアウォールの許可リストに追加する必要があります。
注
構成する必要があるのは、システムの要件に応じて、アプリケーション ルールまたはネットワーク ルールのいずれかです。 両方を同時に構成する必要はありません。
アプリケーション ルール
アプリケーション ルールでは、アプリケーション レイヤーに基づいて、トラフィックを許可または拒否します。 シナリオに基づいて、次の送信ファイアウォール アプリケーション規則が必要です。
| シナリオ | FQDN | 説明 |
|---|---|---|
| すべてのシナリオ |
mcr.microsoft.com、*.data.mcr.microsoft.com |
Microsoft コンテナー レジストリ (MCR) のこれらの FQDN は、Azure Container Appsによって使用されます。 Azure FirewallでAzure Container Appsを使用する場合は、これらのアプリケーション 規則または MCR のネットワーク規則を許可リストに追加する必要があります。 |
| すべてのシナリオ |
packages.aks.azure.com、acs-mirror.azureedge.net |
これらの FQDN は、基になる AKS クラスターが Kubernetes と Azure CNI バイナリをダウンロードしてインストールするために必要です。 Azure FirewallでAzure Container Appsを使用する場合は、これらのアプリケーション 規則または MCR のネットワーク規則を許可リストに追加する必要があります。 詳細については、「 |
| 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.azure.cn、*.data.mcr.azure.cn |
Azure China 環境のAzure Container Appsは、これらの Microsoft Container Registry (MCR) エンドポイントを使用してコンテナー イメージをプルします。 Azure Firewallを使用する場合は、対応するアプリケーション 規則または MCR のネットワーク 規則を許可する必要があります。 この要件は、Azure China 環境にのみ適用されます。 |
ネットワーク ルール
ネットワーク ルールでは、ネットワーク レイヤーとトランスポート レイヤーに基づいてトラフィックを許可または拒否します。 Azure Container AppsのAzure Firewallで UDR を使用する場合は、シナリオに基づいて次の送信ファイアウォール ネットワーク規則を追加する必要があります。
| シナリオ | サービス タグ | 説明 |
|---|---|---|
| すべてのシナリオ |
MicrosoftContainerRegistry、AzureFrontDoorFirstParty |
Microsoft コンテナー レジストリ (MCR) のこれらのサービス タグは、Azure Container Appsによって使用されます。 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リソースについては、サービス タグのドキュメントを参照してください。