保护 Azure Kubernetes 服务推理环境
如果 VNet 后有一个 Azure Kubernetes (AKS) 群集,则需要使用同一 VNet 或对等互连的 VNet 来保护 Azure 机器学习工作区资源和计算环境。 本文内容:
- 什么是安全的 AKS 推理环境
- 如何配置安全的 AKS 推理环境
限制
- 如果 AKS 群集位于 VNet 后,则工作区及其关联的资源(存储、密钥保管库、Azure 容器注册表)必须在与 AKS 群集的 VNet 相同的 VNet 或对等互连的 VNet 中具有专用终结点或服务终结点。 有关保护工作区及关联资源的详细信息,请参阅创建安全工作区。
- 如果工作区具有专用终结点,则 Azure Kubernetes 服务群集必须与工作区位于同一 Azure 区域中。
- Azure 机器学习不支持使用具有专用 AKS 群集的公共完全限定的域名 (FQDN)。
什么是安全的 AKS 推理环境
Azure 机器学习 AKS 推理环境包括工作区、AKS 群集和工作区关联资源:Azure 存储、Azure Key Vault 和 Azure 容器服务 (ARC)。 下表比较了在使用 VNet 或不使用 VNet 的情况下服务如何访问 Azure 机器学习网络的不同部分。
场景 | 工作区 | 关联资源(存储帐户、Key Vault、ACR) | AKS 群集 |
---|---|---|---|
无虚拟网络 | 公共 IP | 公共 IP | 公共 IP |
公共工作区,虚拟网络中的所有其他资源 | 公共 IP | 公共 IP(服务终结点) - 或 - 专用 IP(专用终结点) |
专用 IP |
确保虚拟网络中的资源安全 | 专用 IP(专用终结点) | 公共 IP(服务终结点) - 或 - 专用 IP(专用终结点) |
专用 IP |
在安全的 AKS 推理环境中,AKS 群集仅通过专用终结点(专用 IP)访问 Azure 机器学习服务的不同部分。 以下网络示意图显示了一个受保护的 Azure 机器学习工作区,其中包含专用 AKS 群集或 VNet 后的默认 AKS 群集。
如何配置安全的 AKS 推理环境
若要配置安全的 AKS 推理环境,必须具有 AKS 的 VNet 信息。 VNet 可以单独创建,也可以在 AKS 群集部署期间创建。 VNet 中的 AKS 群集有两个选项:
- 将默认 AKS 群集部署到 VNet
- 或者创建专用 AKS 群集到 VNet
对于默认 AKS 群集,可以在 MC_[rg_name][aks_name][region]
的资源组下找到 VNet 信息。
获得 AKS 群集的 VNet 信息后,如已有可用工作区后,请使用以下步骤配置安全的 AKS 推理环境:
- 使用 AKS 群集 VNet 信息为工作区使用的 Azure 存储帐户、Azure Key Vault 和 Azure 容器注册表添加新的专用终结点。 这些专用终结点应与 AKS 群集位于相同的 VNet 或对等互连的 VNet 中。 有关详细信息,请参阅使用专用终结点保护工作区一文。
- 如果 Azure 机器学习工作负载使用其他存储,请为该存储添加新的专用终结点。 该专用终结点应与 AKS 群集位于相同的 VNet 或对等互连的 VNet 中,并启用了专用 DNS 区域集成。
- 将新的专用终结点添加到工作区。 此专用终结点应与 AKS 群集位于相同的 VNet 或对等互连的 VNet 中,并启用了专用 DNS 区域集成。
如果 AKS 群集已准备就绪,但尚未创建工作区,则可以在创建工作区时使用 AKS 群集 VNet。 遵循创建安全工作区教程时,请使用 AKS 群集 VNet 信息。 创建工作区后,最后一步是将工作区添加到新的专用终结点。 对于上述所有步骤,请务必确保所有专用终结点应存在于同一 AKS 群集 VNet 中,并启用专用 DNS 区域集成。
配置安全 AKS 推理环境的特殊说明:
- 创建工作区时使用系统分配的托管标识,因为具有专用终结点的存储帐户仅允许使用系统分配的托管标识进行访问。
- 将 AKS 群集附加到 HBI 工作区时,请分配具有
Storage Blob Data Contributor
和Storage Account Contributor
角色的系统分配的托管标识。 - 如果使用工作区创建的默认 ACR,请确保具有 ACR 的高级 SKU。 还要启用
Firewall exception
以允许受信任的 Microsoft 服务访问 ACR。 - 如果工作区也位于 VNet 后,请按照安全连接到工作区中的说明来访问工作区。
- 对于存储帐户专用终结点,请确保启用
Allow Azure services on the trusted services list to access this storage account
。
注意
如果 VNet 后面的 AKS 已停止并重启,则需要:
- 首先,按照停止和启动 Azure Kubernetes 服务 (AKS) 群集中的步骤删除并重新创建链接到此群集的专用终结点。
- 然后,在工作区中重新附加从此 AKS 附加的 Kubernetes 计算。
否则,将无法创建、更新和删除此 AKS 群集的终结点/部署。
后续步骤
本文是介绍如何保护 Azure 机器学习工作流系列文章的一部分。 请参阅本系列中的其他文章: