如何在Terraform中为Azure负载均衡器添加具有虚拟机IP的后端

5sxhfpxr  于 2023-06-24  发布在  其他
关注(0)|答案(2)|浏览(95)

我正在创建一个Azure负载平衡器,我需要将传入的流量路由到由虚拟机组成的后端池。
我正在使用Terraform来做这件事。
到目前为止,我创建了以下内容:
1.负载均衡器
1.负载均衡器规则
1.后端地址池
1.健康探测器
但是在后端的terraform中,我无法设置VM的IP地址。
这是我的代码。我该怎么做?

resource "azurerm_lb" "example" {
  name                = "TestLoadBalancer"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  sku                 = "Standard"

  frontend_ip_configuration {
    name                          = "classiclb"
    subnet_id                     = azurerm_subnet.vm.id
    private_ip_address_allocation = "Dynamic"
  }
}

resource "azurerm_lb_backend_address_pool" "example" {
  loadbalancer_id = azurerm_lb.example.id
  name            = "classiclb"
}

resource "azurerm_lb_probe" "example" {
  resource_group_name = azurerm_resource_group.example.name
  loadbalancer_id     = azurerm_lb.example.id
  name                = "classiclb"
  port                = 80
  interval_in_seconds = 10
  number_of_probes    = 3
  protocol            = "Http"
  request_path        = "/"
}

resource "azurerm_lb_rule" "example" {
  resource_group_name            = azurerm_resource_group.example.name
  loadbalancer_id                = azurerm_lb.example.id
  name                           = "classiclb"
  protocol                       = "Tcp"
  frontend_port                  = 80
  backend_port                   = 80
  frontend_ip_configuration_name = "classiclb"
  backend_address_pool_id        = azurerm_lb_backend_address_pool.example.id
  probe_id                       = azurerm_lb_probe.example.id
}

相关问题