discovery.seed_hosts 在带有 ELB 的 elasticsearch AWS EC2 中

discovery.seed_hosts in elasticsearch AWS EC2 with ELB

我在 ELB 下有 EC2 实例。每当启动一个新实例时,都会动态分配一个 ip 地址。

我已经添加了 ELB DNS 名称,但它指的是来自标记为 ELB 的网络接口的 IP 地址。但是我需要添加ec2实例的ip地址。

那么在elasticsearch中如何在discovery.seed_hosts中添加新的ip地址而不需要人工干预呢?

注意:- 我正在寻找 ec2 发现插件以外的方法

我已经使用 aws cli 命令从 AWS ELB 获取 IP。将以下脚本添加到我的 .sh 文件

export ELASTIC_INSTANCE_IPS=$(aws ec2 describe-instances --filters file://filters.json --query "Reservations[*].Instances[*].PrivateIpAddress" --region ${aws_region} --output text | paste -sd,)

tee -a elasticsearch.yml << END

discovery.seed_hosts: [$ELASTIC_INSTANCE_IPS]