我的客户希望使用使用Azure RM Terraform提供程序动态分配的地址,将动态分配给其VM NIC的专用IP地址转换为静态地址。我在ARM中见过一些例子,其中NIC to static位于嵌套的ARM模板中,但是如何使用Terraform来实现呢?
我们最初尝试将私有IP动态地址转换为静态地址时,会导致VM组合创建两个NIC,即使使用以前的NIC名称也是如此。
有没有一种方法可以更新NIC配置,而无需运行两次组合?
感谢您对此的任何想法。布莱恩
发布于 2021-04-21 09:34:29
要将动态专用IP地址转换为静态IP地址,我们可以使用terraform调用脚本来管理它,因为Azure在将网络接口附加到正在运行的虚拟机(或其他资源)之前不会分配动态IP地址。
例如,您可以在创建资源后使用local-exec Provisioner调用本地可执行文件。
resource "null_resource" "example" {
provisioner "local-exec" {
command = <<EOT
$Nic = Get-AzNetworkInterface -ResourceGroupName ${azurerm_resource_group.main.name} -Name ${azurerm_network_interface.nic.name}
$Nic.IpConfigurations[0].PrivateIpAllocationMethod = "Static"
Set-AzNetworkInterface -NetworkInterface $Nic
EOT
interpreter = ["PowerShell", "-Command"]
}
}Here是我在你获得参考资料之前发布的答案。
https://stackoverflow.com/questions/67182116
复制相似问题