Рецепт Terraform для создания доменаasticsearch, кажется, висит - PullRequest
0 голосов
/ 18 января 2019

У меня есть рецепт терраформ, который, кажется, либо зависает, либо пытается асинхронно делать одно и то же ОЧЕНЬ раз и меня сбивают с толку.

Вот основной код:

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"

Теперь я ожидал, что в результате выполнения этого кода я получу ОДИН домен упругого поиска с подсетью для каждого сотрудника ...

Теперь, похоже, это не то, что происходит, я, кажется, застрял в бесконечном цикле (или в каком-то другом состоянии гонки?), Который длится более часа, пока все не истечет.

Я получаю целую кучу ошибок, которые выглядят точно так же, как показано ниже, но с другим номером

* 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 и сбит с толку синтаксисом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...