我一直在浏览Terraform.io文档,但不清楚。
我知道如何通过Azure门户将VM添加到LB,只是想弄清楚如何使用Terraform。
我在azurerm_availability_set或azurerm_lb中看不到添加虚拟机的选项。
请让我知道是否有人有任何想法。
德文
答案 0 :(得分:2)
resource "azurerm_lb_backend_address_pool" "backend_pool" {
resource_group_name = "${azurerm_resource_group.rg.name}"
loadbalancer_id = "${azurerm_lb.lb.id}"
name = "BackendPool1"
}
resource "azurerm_lb_nat_rule" "tcp" {
resource_group_name = "${azurerm_resource_group.rg.name}"
loadbalancer_id = "${azurerm_lb.lb.id}"
name = "RDP-VM-${count.index}"
protocol = "tcp"
frontend_port = "5000${count.index + 1}"
backend_port = 3389
frontend_ip_configuration_name = "LoadBalancerFrontEnd"
count = 2
}
您可以在此link上获取整个文件。我认为上面的代码是最重要的事情。有关负载均衡器NAT规则的更多详细信息,请参阅azurerm_lb_nat_rule。
答案 1 :(得分:1)
我将看一下我创建的这个示例。创建LB后,在创建每个NIC时,请确保将反向链接添加到LB。
load_balancer_backend_address_pool_ids = ["${azurerm_lb_backend_address_pool.webservers_lb_backend.id}"]
答案 2 :(得分:0)
回答这个问题可能迟到了,但是到了。创建了LB和VM之后,就可以使用以下代码片段来关联NIC和LB后端池:
resource "azurerm_network_interface_backend_address_pool_association" "vault" {
network_interface_id = "${azurerm_network_interface.nic.id}"
ip_configuration_name = "nic_ip_config"
backend_address_pool_id = "${azurerm_lb_backend_address_pool.nic.id}"
}
确保VM位于可用性集之间。否则,您将无法将虚拟机注册到LB。
答案 3 :(得分:0)
我认为 this 正是您所需要的。然后,您需要通过子网在网络接口和虚拟机之间创建关联。