AWS AutoScaling with Static IPs

时间:2016-02-15 04:17:26

标签: amazon-web-services apache-kafka apache-zookeeper amazon-cloudformation

是否可以在AWS中使用静态IP进行AutoScaling?新创建的实例应具有预定义的IP或从预定义的IP池中选择。

我们正在尝试使用5个zooKeeper实例在生产中设置ZooKeeper。每一个都应该有一个静态IP,我们使用的Kafka的AMI / Databag中进行硬编码。它还应支持AutoScaling,因此如果其中一个zooKeeper节点出现故障,则会使用相同的IP或IP池生成新的节点。为此,我们决定每个AutoScaling组使用1个zoo-keeper实例,但问题在于IP。

如果这是错误的方式,请建议正确的方法。提前谢谢!

1 个答案:

答案 0 :(得分:3)

一种方法是在每个实例上维护user data script,并让每个实例从为此目的分配的一组EIP中为自己分配elastic IPs。此用户数据脚本将在ASG启动配置中引用,并将在启动时运行。

假设用户脚本被调用" /scripts/assignEIP.sh" ;,您可以使用AWS CLI咨询池以查看哪些可用,哪些不可用(已在使用中) 。然后它将为自己分配一个可用的EIPS。

为了便于IP管理,您可以将IP池保存在S3上的简单文本属性文件中,并在实例启动时让实例下载并查阅该列表。

请记住,每个实例都需要分配一个IAM实例配置文件,以允许每个实例查询并为自己分配EIP。