В последнее время я получаю эту ошибку при создании домена ES с помощью Terraform. Ничего не изменилось в том, как я определяю домен ES. Однако я начал использовать SSL (AWS ACM cert) на уровне ALB, но это не должно было повлиять на это. Любые идеи, на что он может жаловаться?
resource "aws_elasticsearch_domain" "es" {
domain_name = "${var.es_domain}"
elasticsearch_version = "6.3"
cluster_config {
instance_type = "r4.large.elasticsearch"
instance_count = 2
zone_awareness_enabled = true
}
vpc_options {
subnet_ids = "${var.private_subnet_ids}"
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}"
}
depends_on = [
"aws_iam_service_linked_role.es",
]
}
resource "aws_iam_service_linked_role" "es" {
aws_service_name = "es.amazonaws.com"
}
РЕДАКТИРОВАТЬ: как ни странно, когда я удалил с помощью сертификата ACM и вернулся к использованию HTTP (порт 80) для моего прослушивателя ALB, домен ES был подготовлен ,
Не уверен, что с этим делать, но ясно, что сертификат ACM мешает созданию домена ES. Или я делаю что-то не так с созданием ACM. Вот как я это делаю и использую -
resource "aws_acm_certificate" "ssl_cert" {
domain_name = "api.xxxx.io"
validation_method = "DNS"
tags = {
Environment = "development"
}
lifecycle {
create_before_destroy = true
}
}
resource "aws_alb_listener" "alb_listener" {
load_balancer_arn = "${aws_alb.alb.id}"
port = "443"
protocol = "HTTPS"
ssl_policy = "ELBSecurityPolicy-2016-08"
certificate_arn = "${aws_acm_certificate.ssl_cert.arn}"
default_action {
target_group_arn = "${aws_alb_target_group.default.id}"
type = "forward"
}
}
Сертификат проверен и выдан AWS довольно быстро, насколько я вижу в консоли. И, как видно, это не имеет ничего общего с доменом ES, скажем так.