目前有一个由3个rabbitmq节点组成的集群,每个节点在不同的aws区域中,而不是其他任何节点。我已经能够将它们聚类并证明这是有效的。
我遇到的挑战是使用自动扩展并自动将新节点连接到群集。根据我的理解,所有其他节点必须彼此了解并在其/ etc / hosts文件中包含其他IP。
有没有办法只搜索群集名称并告诉节点连接?
我尝试在ELB后面设置节点并将它们指向ELB而不是IP&#;;然而,这没有奏效。
答案 0 :(得分:0)
对于其他正在尝试此操作的人来说,我所做的就是安装aws-cli。在这之后我写了一个脚本来根据我拥有的三个不同的elb(每个节点一个)更改/ etc / hosts文件
该脚本首先通过运行此命令找到elb后面的ec2实例
aws elb describe-instance-health --load-balancer-name <NAME OF YOUR ELB>
然后脚本通过运行此命令获取elb后面的ec2的ip
aws ec2 describe-instances --instance-ids <THE VALUE RETURNED FROM ABOVE> --query 'Reservations[*].Instances[*].PrivateIpAddress' --output text
我们正在做的诀窍是在一个脚本中运行它,它分别遍历每个elb并且每个节点只有一个elb infront。这允许节点停机,自动备份并让我们知道新的IP,而不必担心手动编辑文件。
因此,我们只是遍历每一个并告诉它将输出保存到/ etc / hosts文件。
希望能帮到某人