如何获取 ARM 中第一个 VMSS 实例的私有 IP 地址?
How do I get private IP address of first VMSS instance in ARM?
我需要将 VMSS 中任何服务器的 IP 地址添加到 DNS,因此使用以下 ARM 表达式来获取它直到 运行 进入第一个实例不再是 0
的问题(例如删除旧实例或执行自动缩放操作的位置)。我不知道有什么解决方案可以可靠地获取有关 VMSS 内任何实例的实例编号的信息。
我需要此功能的原因是 VMSS 实例托管 FTP 服务,该服务应由内部客户端访问,并且由于 FTP 使用数据的方式,将 VMSS 置于 LB 之外不是一个选项通道端口。
此记录随后作为 ftp
的 A 记录插入 DNS
"instanceNic-0": "[concat('/subscriptions/',subscription().subscriptionId, '/resourceGroups/',resourceGroup().name,'/providers/Microsoft.Compute/virtualMachineScaleSets/', variables('namingInfix'),'/virtualMachines/0/networkInterfaces/', variables('nicName'))]",
ARM 当前未跟踪规模集实例(它们是规模集的子实例,整个生命周期由规模集对象管理)。所以你可以使用 REST API 或 CLI/powershell 来获取私有 ip 地址,但私有 ip 目前无法通过 ARM 模板直接访问。
Azure 最近发布了 VMSS with Flexible Orchestration 的预览版,其中规模集使用常规 'standalone' IaaS VM。由于那些被 ARM 完全跟踪,您应该能够使用 ARM 表达式来获取 NIC IP 信息。
我需要将 VMSS 中任何服务器的 IP 地址添加到 DNS,因此使用以下 ARM 表达式来获取它直到 运行 进入第一个实例不再是 0
的问题(例如删除旧实例或执行自动缩放操作的位置)。我不知道有什么解决方案可以可靠地获取有关 VMSS 内任何实例的实例编号的信息。
我需要此功能的原因是 VMSS 实例托管 FTP 服务,该服务应由内部客户端访问,并且由于 FTP 使用数据的方式,将 VMSS 置于 LB 之外不是一个选项通道端口。
此记录随后作为 ftp
"instanceNic-0": "[concat('/subscriptions/',subscription().subscriptionId, '/resourceGroups/',resourceGroup().name,'/providers/Microsoft.Compute/virtualMachineScaleSets/', variables('namingInfix'),'/virtualMachines/0/networkInterfaces/', variables('nicName'))]",
ARM 当前未跟踪规模集实例(它们是规模集的子实例,整个生命周期由规模集对象管理)。所以你可以使用 REST API 或 CLI/powershell 来获取私有 ip 地址,但私有 ip 目前无法通过 ARM 模板直接访问。
Azure 最近发布了 VMSS with Flexible Orchestration 的预览版,其中规模集使用常规 'standalone' IaaS VM。由于那些被 ARM 完全跟踪,您应该能够使用 ARM 表达式来获取 NIC IP 信息。