【问题标题】:Azure Batch within a VNET that has a Service endpoint policy for Storage具有存储服务终结点策略的 VNET 中的 Azure Batch
【发布时间】:2020-11-28 08:19:06
【问题描述】:

我正在努力让我的 Azure 批处理节点在配置为使用虚拟网络的池中启动。虚拟网络已配置一个服务终结点策略,该策略具有“Microsoft.Storage”策略定义并指向单个存储帐户。如果没有在虚拟网络上定义服务终结点,Azure 批处理池会按预期工作,但是会出现以下错误并且节点永远不会启动。

我已尝试在两种池分配模式下创建 Batch 帐户。这似乎没有什么区别,池成功调整大小,然后节点卡在“启动”模式。在“用户订阅”模式下,我发现启动错误,因为我可以在我的帐户中看到 VM 实例:

VM 在处理扩展“batchNodeExtension”时报告失败。错误消息:“启用失败:处理文件下载失败:下载文件失败 [0]:下载文件失败:意外状态代码:实际 = 403 预期 = 200” 有关故障排除的更多信息,请访问 https://aka.ms/VMExtensionCSELinuxTroubleshoot

据我所知,这是一个正在运行的 Azure VM 扩展,用于为 Azure Batch 配置 VM。我的基础镜像是 Canonical、ubuntuserver、18.04-lts (batch.node.ubuntu 18.04)。我可以看到扩展程序正在尝试从以下位置下载:

https://a52a7f3c745c443e8c2cac69.blob.core.windows.net/nodeagentpackage-version9-22-0-2/Ubuntu-18.04/batch_init-ubuntu-18.04-1.8.7.tar.gz(注意我从这个 URL 中删除了 SAS 令牌以便在此处发布)

还有 8 个文件被下载,看起来这是在节点上配置批处理代理。

403 错误表示节点无法连接到此存储帐户,考虑到服务端点策略,这很有意义。它不包含此存储帐户,并且此存储帐户在我的 Azure 订阅之外。我认为我可以将它添加到服务端点策略中,但我无法确定它属于哪个 Azure 订阅。如果我知道这一点,我想我可以像这样添加它:

终结点策略允许您使用 resourceID 格式将特定 Azure 存储帐户添加到允许列表。您可以限制对订阅中所有存储帐户的访问 例如。 /subscriptions/subscriptionId(来自https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoint-policies-overview

我尝试使用 Azure 存储的服务标签添加安全组规则,但这没有帮助。节点仍然无法连接,考虑到服务端点策略的描述,这是有道理的。

我对此感兴趣的原因是以下帖子: [https://github.com/Azure/Batch/issues/66][1]

我正在尝试通过使用服务端点来最小化我的存储帐户的带宽费用。

我也尝试过创建自己的虚拟机,但我不确定“batchNodeExtension”脚本是否会为您与 Batch 一起使用的虚拟机自动运行。

我非常感谢任何指点,因为我已经没有想法可以尝试了!

【问题讨论】:

    标签: azure azure-storage azure-virtual-network azure-batch


    【解决方案1】:

    Batch 需要在 https://docs.microsoft.com/en-us/azure/batch/batch-virtual-network#network-security-groups-specifying-subnet-level-rules 中指定的所有存储(可以是区域变体)的通用规则。目前主要用于下载我们的代理和维护状态/获取运行任务所需的信息。

    【讨论】:

      【解决方案2】:

      我在使用 Azure 机器学习时遇到了同样的问题。我们正在尝试通过使用 SP 策略来打击数据泄露,以防止将数据发送到任何非订阅存储帐户。

      由于 Azure ML 计算依赖于 Batch 服务,如果 SP 策略与计算子网相关联,我们将无法运行任何 ML 计算。

      微软声明如下:

      过滤部署到虚拟网络中的 Azure 服务上的流量:目前,部署到虚拟网络中的任何托管 Azure 服务都不支持 Azure 服务端点策略。

      https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoint-policies-overview#scenarios

      我从这种限制中了解到,任何使用 Azure Batch 的服务(Azure 中的几乎所有服务?)都不能使用 SP 策略,这使其无用功能......

      最后,我们最终从我们的网络架构中完全删除了 SP 策略,并仅在您希望限制客户访问特定存储帐户的情况下才考虑使用它。

      【讨论】:

        猜你喜欢
        • 2018-09-08
        • 1970-01-01
        • 2021-05-14
        • 2022-12-16
        • 1970-01-01
        • 2021-01-22
        • 1970-01-01
        • 2019-10-25
        • 1970-01-01
        相关资源
        最近更新 更多