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インスタンスでのサービスを開始するには、リモート-execのプロビジョニングを使用しています、です。
EC2インスタンスを作成する前に、DNSエントリを構成できないようです。
EC2インスタンスを後処理して後でサービスを開始する方法はありますか?または、DNSエントリが存在するまでサービスの開始を遅らせるテクニックがありますか?
'sleep 120'のように、remote-execにラッパースクリプトを追加する必要があります。 – BMW
提案していただきありがとうございますが、動作しません。問題は* aws_route53_record *の相互依存性のようです。それは、そのIPを取得するaws_instanceに依存します。睡眠を追加するだけで、aws_instanceの完了が遅れます。私は何とかバックグラウンドでそれをフォークする必要があると思います。 – Exie