1

部署流量管理器时遇到错误。这可能是非常基本的配置。但是,它说 Unknow service error 我不知道如何解决这个问题。

Terraform Version

Terraform v0.10.0

# 服务原则

variable "subscription_id" {}

variable "client_id" {}

variable "client_secret" {}        

variable "tenant_id" {}    

资源组

变量“resource_group”{}

变量“位置”{}

变量“环境”{}

实际脚本

  # Service Principle
    provider "azurerm" {
      subscription_id = "${var.subscription_id}"
      client_id       = "${var.client_id}"
      client_secret   = "${var.client_secret}"
      tenant_id       = "${var.tenant_id}"
    }

    # Traffic Manager Profile

    resource "azurerm_traffic_manager_profile" "profile" {
  name                   = "trafficmanagerprofile"
  resource_group_name    = "production"
  traffic_routing_method = "Weighted"

  dns_config {
    relative_name = "production"
    ttl           = 30
  }

  monitor_config {
    protocol = "http"
    port     = 80
    path     = "/"
  }
}

resource "azurerm_public_ip" "pip" {
  name                         = "ip${count.index}"
  location                     = "${var.azure_region}"
  resource_group_name          = "production"
  public_ip_address_allocation = "dynamic"
  domain_name_label            = "${var.dns_name}${count.index}"
  count                        = "${var.num_vms}"
}

resource "azurerm_traffic_manager_endpoint" "endpoint" {
  name                = "endpoint${count.index}"
  resource_group_name = "production"
  profile_name        = "${azurerm_traffic_manager_profile.profile.name}"
  target_resource_id  = "${element(azurerm_public_ip.pip.*.id, count.index)}"
  type                = "azureEndpoints"
  weight              = 1
  count               = "${var.num_vms}"
}

Debug Output

Error: autorest/azure: Service returned an error. Status=400 Code="Unknown" Message="Unknown service error"

预期行为

It should be create a Traffic Manager Profile instance on Azure

实际行为

Resource Group created but traffic manager profile throws error.

I am struggling with this from long time can anybody help me out here?
4

1 回答 1

0

请使用以下脚本,它适用于我。

  resource "azurerm_traffic_manager_profile" "profile" {
  name                   = "trafficmanagerprofile"
  resource_group_name    = "shuioracle"
  traffic_routing_method = "Weighted"

  dns_config {
    relative_name = "shuioracle"
    ttl           = 30
  }

  monitor_config {
    protocol = "http"
    port     = 80
    path     = "/"
  }
}

resource "azurerm_public_ip" "pip" {
  name                         = "ip${count.index}"
  location                     = "South Central US"
  resource_group_name          = "shuioracle"
  public_ip_address_allocation = "static"
  domain_name_label            = "shuilinux5${count.index}"
  count                        = "3"
}

resource "azurerm_traffic_manager_endpoint" "endpoint" {
  name                = "endpoint${count.index}"
  resource_group_name = "shuioracle"
  profile_name        = "${azurerm_traffic_manager_profile.profile.name}"
  target_resource_id  = "${element(azurerm_public_ip.pip.*.id, count.index)}"
  type                = "azureEndpoints"
  weight              = 1
  count               = "3"
}

在您的脚本中,修改public_ip_address_allocation = "dynamic"static.

使用static,那么您的脚本将成功。创建公网IP时,如果使用动态,则不关联IP地址,如果使用静态,则关联IP。

你可以检查这个例子和这个例子

于 2017-10-31T02:01:09.100 回答