我正试图找到一种方法来自动化amazon ec2实例之间的通信。例如,假设我启动了10个ec2实例,其中一个是主节点。主节点保存作业队列。其他9个实例从队列中拉出作业。 9个实例需要连接到主节点以从队列中提取作业。目前,当我启动它时,我在9 ec2实例的user_data中硬编码主节点的公共DNS名称。
但是,如果主节点发生故障,或者由于我的自动缩放配置而添加或减少了另一个主节点,该怎么办?我的从属节点将具有错误的硬编码公共DNS,并且无法连接。我的主要问题是,如何更新我的从节点以自动反映新的主节点公共DNS?
答案 0 :(得分:1)
某些队列解决方案内置支持发现(添加/删除节点)。
如果您没有,可以考虑从外部源(可能是S3上托管的XML文档)读取配置,并让每个参与的实例定期检查配置更改。
如果您使用自动缩放,则可以让每个参与实例解析ec2-describe-instances
的输出以了解当前配置。