在花了几个小时尝试每个相关的 Azure Power Shell 命令来为 Azure VM 分配一个虚拟公共 IP 之后,我又回到了原点。令人惊讶的是,在 Azure 中无法完成这样的基本功能。
首先,我保留了一个静态 IP。然后创建一个虚拟机。然后尝试了 set-azurestaticvnetip。它抱怨子网名称不能为空。所以我在 Azure 门户中创建了一个虚拟网络并创建了一个子网。然后使用 set-azuresubnet -subnetnames subnet-1。现在它抱怨虚拟网络名称不能为空。问题是序列中的所有命令都没有将 -vnetname 作为参数。
然后我发现这个参数可以传入new-azurevm。所以我删除了(多么好的解决方法。我很高兴我没有花时间在 vm 中配置软件)VM 并尝试使用此命令创建。(此命令中未指定图像参数。我是在提示符下输入的)。
new-azurevmconfig -name myvm -instancesize Basic_A2|
add-azureprovisioningconfig -adminusername "myvmadmin" -windows -password "myvmP123"|
set-azuresubnet -subnetnames subnet-1 |
set-azurestaticvnetip -ipaddress 23.101.39.28 |
new-azurevm -servicename myvm -vnetname mynet –Location "East US" -waitforboot
抛出错误-
new-azurevm : BadRequest : The static address 23.101.39.28 doesn't belong to the address space defined by the role's subnets.
这里有什么问题?在我看来,这些说明用于为 VM 分配私有 IP。将静态 IP 分配给通过 Web 角色创建的 VM 非常容易(只需将公共 IP 名称放在配置文件中即可)。如何将公共 IP 分配给 VM。Microsoft 文档仅声明公共 IP 可用于 VM,但他们认为每个人都知道如何做到这一点吗?