Amazon ec2 如何在ec2实例之间进行通信而不手动查找它们的公共dns?

Amazon ec2 如何在ec2实例之间进行通信而不手动查找它们的公共dns?,amazon-ec2,Amazon Ec2,我试图找到一种方法来自动化AmazonEC2实例之间的通信。例如,假设我启动10个ec2实例,其中一个是主节点。主节点持有一个作业队列。其他9个实例从队列中提取作业。这9个实例需要连接到主节点才能从队列中提取作业。目前,我在启动9个ec2实例的用户_数据时,硬编码了主节点的公共dns名称 但是,如果主节点出现故障,或者由于我的自动缩放配置而增加或减少了另一个主节点,该怎么办?然后,我的从属节点将具有错误的硬编码公共dns,并且无法连接。我的主要问题是,如何更新从属节点以自动反映新的主节点公共dn

我试图找到一种方法来自动化AmazonEC2实例之间的通信。例如,假设我启动10个ec2实例,其中一个是主节点。主节点持有一个作业队列。其他9个实例从队列中提取作业。这9个实例需要连接到主节点才能从队列中提取作业。目前,我在启动9个ec2实例的用户_数据时,硬编码了主节点的公共dns名称


但是,如果主节点出现故障,或者由于我的自动缩放配置而增加或减少了另一个主节点,该怎么办?然后,我的从属节点将具有错误的硬编码公共dns,并且无法连接。我的主要问题是,如何更新从属节点以自动反映新的主节点公共dns

一些队列解决方案内置了对发现的支持(添加/删除节点)

如果您不这样做,您可以考虑从外部源读取配置(可能是在S3上托管的XML文档),并使每个参与实例定期检查配置更改。 如果使用自动缩放,则可以让每个参与实例解析

ec2 descripe instances
的输出,以了解当前配置


主题外。这不是一个编程问题。这是更多的网络/服务器配置。请尝试超级用户和/或服务器故障。