我想在AWS企业中创建一个集群系统。群集将具有主节点和多个从属节点。从站将使用TCP / IP连接连接到主站。我们组织的AWS企业中可能有多个集群(例如dev1,dev2,qa1,qa2等)。
对于此特定技术,从属设备必须以某种方式发现主节点的IP地址。这样做的最佳做法是什么?我有一些想法:
可能会有更多想法。我对AWS有点新,但对网络拓扑并不陌生,所以我可能会走错方向。 #1关于声音是最简单的事情。还有其他想法吗?
答案 0 :(得分:0)
您可以在EC2实例上设置任意键值对。例如,您可以在创建实例时使用class=master
和class=slave
标记实例。然后,其他实例可以使用EC2 API(使用AWS CLI或其中一个AWS SDKs)列出具有特定标记的实例并获取IP地址。以下是使用AWS CLI的示例:
aws ec2 describe-instances --filter Name=tag:class,Values=master \
--query Reservations[*].Instances[*].PrivateIpAddress --output text
将返回主服务器的私有IP地址。
答案 1 :(得分:0)
我见过的另一种方法是让主服务器在S3存储桶的文件中写入自己的IP,然后让节点从同一个文件中读取主服务器的IP。或者可以使用数据库来完成,所有参与者都可以访问任何存储介质/位置。