EC2 인스턴스를 만들지 만 Route53 레코드를 추가하면 DNS가 복제되고 인식되도록 최대 60 초가 소요됩니다.EC2 인스턴스의 Terraform Route53 레코드 지연
resource "aws_instance" "zk-host" {
ami = "ami-30041c53" # Amazon Linux Image
count = "${var.count}"
associate_public_ip_address = false
connection {
user = "ec2-user"
}
provisioner "remote-exec" {
inline = [
... install things here...
#"sudo service zookeeper-server start ... after some delay ?"
]
}
}
// Make a DNS entry for each host while we're here.
resource "aws_route53_record" "route53-record-zk" {
zone_id = "${var.route53-zone-id}"
count = "${var.count}"
name = "${var.host-name-prefix}${count.index}.dwh.local"
type = "A"
ttl = "30"
records = [
"${element(aws_instance.zk-host.*.private_ip, count.index)}"
]
}
문제는 내가 그 동료를 찾기 위해 DNS에 의존 내 EC2 인스턴스에서 서비스를 시작하기 위해 원격 간부 제공자를 사용하고있다.
EC2 인스턴스를 만들기 전에 DNS 항목을 구성 할 수없는 것처럼 보입니다.
EC2 인스턴스를 사후 처리하고 나중에 서비스를 시작할 수있는 방법이 있습니까? 아니면 DNS 항목이 존재할 때까지 서비스 시작을 지연시키는 기술이 있습니까?
'sleep 120'과 같이 remote-exec에 래퍼 스크립트를 추가해야합니다. – BMW
제안에 감사하지만 그다지 효과가 없습니다. 문제는 * aws_route53_record *에 대한 상호 의존성 인 것 같습니다. aws_instance에 따라 IP가 달라집니다. 잠을 자면 aws_instance의 완료가 지연됩니다. 어떻게 든 백그라운드에서 포크 할 필요가 있다고 생각합니다. – Exie