【问题标题】:AWS AutoScaling with Static IPs使用静态 IP 的 AWS AutoScaling
【发布时间】:2016-05-25 21:27:20
【问题描述】:

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

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

如果这是错误的方式,请提出正确的方式。提前致谢!

【问题讨论】:

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


    【解决方案1】:

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

    假设用户脚本名为“/scripts/assignEIP.sh”,使用 AWS CLI 您可以让它查询池以查看哪些可用,哪些不可用(已在使用中)。然后它会为自己分配一个可用的 EIPS。

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

    请记住,每个实例都需要分配一个 IAM 实例配置文件,该配置文件将允许每个实例咨询 EIP 并将其分配给自己。

    【讨论】:

    • 谢谢,让我试试。如何更改实例的 IP? AWS 有没有这方面的脚本?
    • 使用 AWS CLI:aws ec2 associate-address --instance-id i-43a4412a --allocation-id eipalloc-64d5890a 请参阅 docs.aws.amazon.com/cli/latest/reference/ec2/…
    猜你喜欢
    • 2015-06-04
    • 2020-10-29
    • 2018-11-04
    • 2021-10-02
    • 2015-03-14
    • 2015-03-10
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    相关资源
    最近更新 更多