Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
配置虚拟网络所需的网络安全组(NSG)与 Kubernetes 所需的设置非常相似。
借助比默认 NSG 规则更严格的 NSG 规则来保护网络,以控制订阅级别的Azure 容器应用环境的所有入站和出站流量。
使用外部工作负荷配置文件环境时,到容器应用的入站流量通过 托管资源组 中存在的公共 IP 而不是通过子网路由。 此限制意味着不支持通过 NSG 或外部工作负荷配置文件环境中的防火墙锁定入站流量。
在旧版仅消耗环境中,不支持Azure ExpressRoute,自定义 UDR 的支持有限。 有关仅消耗环境中可用的 UDR 支持级别的详细信息,请参阅 常见问题解答。
NSG 允许规则
下表介绍了如何配置一组 NSG 允许规则。 所需的特定规则取决于 环境类型。
入站
注意
使用工作负荷配置文件时,入站 NSG 规则仅适用于通过虚拟网络的流量。 如果将容器应用设置为接受来自公共 Internet 的流量,则传入流量会通过公共终结点而不是虚拟网络。
| 协议 | 来源 | 源端口 | 目标 | 目标端口 | 说明 |
|---|---|---|---|---|---|
| TCP | 客户端 IP | * | 容器应用的子网1 |
80,31080 |
使用 HTTP 时,允许客户端 IP 访问容器应用。
31080 是容器应用环境边缘代理响应 HTTP 流量的端口。 它位于内部负载均衡器后面。 |
| TCP | 客户端 IP | * | 容器应用的子网1 |
443,31443 |
使用 HTTPS 时,允许客户端 IP 访问容器应用。
31443 是容器应用环境边缘代理响应 HTTPS 流量的端口。 它位于内部负载均衡器后面。 |
| TCP | Azure 负载均衡器 | * | 容器应用的子网 |
30000-32767
2 |
允许Azure 负载均衡器探测后端池。 |
| TCP | 客户端 IP | * | 容器应用的子网 | 公开的端口和 30000-327672 |
此规则仅适用于 TCP 应用。 HTTP 应用不需要它。 |
1 创建环境时将此地址作为参数传递。 例如 10.0.0.0/21。
2 在将容器应用创建为区域内的端口时,需要全范围是动态分配的。 创建容器应用后,所需的端口是两个不可变的静态值,可以更新 NSG 规则。
出站
| 协议 | 来源 | 源端口 | 目标 | 目标端口 | 说明 |
|---|---|---|---|---|---|
| TCP | 容器应用的子网 | * | MicrosoftContainerRegistry |
443 |
此服务标记表示系统容器Microsoft项目注册表。 |
| TCP | 容器应用的子网 | * | AzureFrontDoor.FirstParty |
443 |
此服务标记是服务标记的 MicrosoftContainerRegistry 依赖项。 |
| 任意 | 容器应用的子网 | * | 容器应用的子网 | * | 此规则允许在容器应用的子网中的 IP 之间通信。 |
| TCP | 容器应用的子网 | * | AzureActiveDirectory |
443 |
如果使用托管标识,则需要它。 |
| TCP | 容器应用的子网 | * | AzureMonitor |
443 |
仅当使用Azure Monitor时,才需要此规则。 它允许出站调用Azure Monitor。 |
| TCP 和 UDP | 容器应用的子网 | * | 168.63.129.16 |
53 |
此规则使环境能够使用Azure DNS解析主机名。 与Azure DNS的 DNS 通信不受 NSG 的约束,除非它通过 AzurePlatformDNS 服务标记进行目标。 若要阻止 DNS 流量,请创建一个出站规则来拒绝发到 AzurePlatformDNS 服务标记的流量。 |
| TCP | 容器应用的子网1 | * | 容器注册表 | 容器注册表的端口 | 需要此规则才能与容器注册表通信。 例如,使用Azure 容器注册表时,需要为目标AzureContainerRegistry 和 AzureActiveDirectory。 除非使用专用终结点,否则端口是容器注册表的端口。2 |
| TCP | 容器应用的子网 | * | Storage.<Region> |
443 |
仅当使用容器注册表托管映像时,才需要此规则。 |
1 创建环境时将此地址作为参数传递。 例如 10.0.0.0/21。
2 如果对虚拟网络上配置的 NSG 使用容器注册表,请在容器注册表上创建专用终结点,以允许容器应用通过虚拟网络拉取映像。 使用专用终结点配置容器注册表时,无需为容器注册表添加 NSG 规则。
注意事项
- 如果运行的是 HTTP 服务器,则可能需要添加端口
80和443。 - 不要在传出 NSG 规则中显式拒绝 Azure DNS 地址
168.63.129.16。 如果这样做,容器应用环境不起作用。