如何识别AWS群集中的主节点

时间:2014-09-17 14:11:49

标签: amazon-web-services dns cluster-computing nat

我想在AWS企业中创建一个集群系统。群集将具有主节点和多个从属节点。从站将使用TCP / IP连接连接到主站。我们组织的AWS企业中可能有多个集群(例如dev1,dev2,qa1,qa2等)。

对于此特定技术,从属设备必须以某种方式发现主节点的IP地址。这样做的最佳做法是什么?我有一些想法:

  1. 将整个群集放在某种NAT子网中,并使主节点始终位于已知地址(例如192.168.0.1)
  2. 每个群集都需要某种域名并使用DNS。
  3. 使用Eureka代替DNS。
  4. 可能会有更多想法。我对AWS有点新,但对网络拓扑并不陌生,所以我可能会走错方向。 #1关于声音是最简单的事情。还有其他想法吗?

2 个答案:

答案 0 :(得分:0)

您可以在EC2实例上设置任意键值对。例如,您可以在创建实例时使用class=masterclass=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。或者可以使用数据库来完成,所有参与者都可以访问任何存储介质/位置。