用于创建Elasticsearch域的Terraform配方似乎已停止

时间:2019-01-17 22:57:28

标签: elasticsearch terraform

我有一个terraform食谱,看起来要么挂了,要么试图异步地做很多事情,然后被绊倒。

这是主要代码:

resource "aws_elasticsearch_domain" "es" {
  domain_name = "${var.es_domain}"
  elasticsearch_version = "6.3"

  cluster_config {
    instance_type = "t2.medium.elasticsearch"
  }

  count = "${var.staff_count}"
  vpc_options {

    subnet_ids = [
      "${aws_subnet.public_subnets.*.id[count.index]}"
    ]

    security_group_ids = [
      "${aws_security_group.es_sg.id}"
    ]
  }

  ebs_options {
    ebs_enabled = true
    volume_size = 10
  }

  access_policies = <<CONFIG
{
  "Version": "2012-10-17",
  "Statement": [
      {
          "Action": "es:*",
          "Principal": "*",
          "Effect": "Allow",
          "Resource": "arn:aws:es:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:domain/${var.es_domain}/*"
      }
  ]
}
  CONFIG

  snapshot_options {
    automated_snapshot_start_hour = 23
  }

  tags {
    Domain = "${var.es_domain}"
  }
}

这是“公共子网”代码:

resource "aws_subnet" "public_subnets" {
  count = "${var.staff_count}"
  cidr_block = "${cidrsubnet(var.vpc_cidr, 8, count.index)}"
  vpc_id = "${aws_vpc.main.id}"
  availability_zone = "${var.region}${var.az}"

  tags = "${merge(map("Name", "${var.company_name}-staff-${count.index}-subnet")
  , map("kubernetes.io/cluster/staff-${count.index}", "owned"))}"
}

这是我域的变量:

variable "es_domain" {
  default = "my-es-domain"
  description = "Domain name for elastic search."
}

我有一个staff_count变量,它是“ 8”

现在,我希望结果是运行此代码后,我将获得一个elasticSearch域,其中每个工作人员都拥有一个子网...

现在,这似乎不是正在发生的事情,我似乎陷入了一个无限循环(或某种竞赛条件?)的无限循环,持续了一个多小时,直到一切都超时了。

我收到一堆错误,看起来与下面的错误完全相同,但错误编号不同

* aws_elasticsearch_domain.es.3: "arn:aws:es:us-east-1:01043847838460:domain/my-es-domain": Timeout while waiting for the domain to be created
* module.init.aws_elasticsearch_domain.es[0]: 1 error(s) occurred:

好像它试图一次做很多次,对吧?如果是这样,我真的很喜欢如何修复它的指南,我是terraform的新手,并且对语法感到困惑。

1 个答案:

答案 0 :(得分:0)

<块引用>

count = "${var.staff_count}"

这是您的多个集群的来源。 count 属性指示要制作的数量。