我正在尝试使用Terraform构建ElasticSearch集群,但我无法分配多个子网!这真的很奇怪,因为文档中有这个内容:
https://www.terraform.io/docs/providers/aws/r/elasticsearch_domain.html#subnet_ids
subnet_ids-(必填)要在其中创建Elasticsearch域端点的VPC子网ID列表。
但是,当我尝试执行时,出现以下错误:
Error: ValidationException:您必须指定一个子网
这是我的代码:
resource "aws_elasticsearch_domain" "es" {
domain_name = "${var.es_domain}-${var.environment}"
elasticsearch_version = "${var.es_version}"
cluster_config {
instance_type = "${var.es_instance_type}"
instance_count = "${var.es_instance_count}"
}
vpc_options {
subnet_ids = ["${data.aws_subnet.private_1.id}", "${data.aws_subnet.private_2.id}"]
security_group_ids = ["${aws_security_group.es.id}"]
}
snapshot_options { automated_snapshot_start_hour = "${var.es_automated_spanshot_start_hour}" }
ebs_options {
ebs_enabled = true
volume_type = "standard"
volume_size = "20"
}
access_policies = <<CONFIG
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "es:*",
"Principal": "*",
"Effect": "Allow",
"Resource": "arn:aws:es:${var.aws_region}:${data.aws_caller_identity.current.account_id}:domain/${var.es_domain}/*"
}
]
}
CONFIG
}
我正在使用 terraform v0.12.2
感谢您的帮助。
aws_elasticsearch_domain
资源代码吗? 我猜你漏了zone_awareness_enabled
,但是以你现有的例子很难看出来。总的来说,你应该尽量提供一个 [mcve] 使人们可以真正复制你的问题。 - ydaetskcoR