流量管理器的 Terraform 脚本抛出未知错误
Terraform script for Traffic Manager throws Unknown error
我在部署流量管理器时遇到错误。它可能是非常基本的配置。但是,它说未知服务错误我不知道如何解决这个问题。
Terraform Version
Terraform v0.10.0
# Service Principle
variable "subscription_id" {}
variable "client_id" {}
variable "client_secret" {}
variable "tenant_id" {}
Resource Group
变量 "resource_group" {}
变量 "location" {}
变量 "environment" {}
Actual script
# 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"
Expected Behavior
It should be create a Traffic Manager Profile instance on Azure
Actual Behavior
Resource Group created but traffic manager profile throws error.
I am struggling with this from long time can anybody help me out here?
请使用下面的脚本,它适合我。
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
,那么你的脚本就会成功。创建public IP时,如果使用动态,则不会关联IP地址,如果使用静态,则关联IP。
我在部署流量管理器时遇到错误。它可能是非常基本的配置。但是,它说未知服务错误我不知道如何解决这个问题。
Terraform Version
Terraform v0.10.0
# Service Principle
variable "subscription_id" {}
variable "client_id" {}
variable "client_secret" {}
variable "tenant_id" {}
Resource Group
变量 "resource_group" {}
变量 "location" {}
变量 "environment" {}
Actual script
# 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"
Expected Behavior
It should be create a Traffic Manager Profile instance on Azure
Actual Behavior
Resource Group created but traffic manager profile throws error.
I am struggling with this from long time can anybody help me out here?
请使用下面的脚本,它适合我。
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
,那么你的脚本就会成功。创建public IP时,如果使用动态,则不会关联IP地址,如果使用静态,则关联IP。