使用相同 IP 的 ASG 替换

使用相同 IP 的 ASG 替换

概括

当节点发生故障或以其他方式被移除时,如何配置 ASG 以使用与其所替换节点相同的私有 IP 重新生成该节点?

我注意到是支持用于分配管理员选择的地址,但我不确定如何将其应用于 ASG。

语境

我们有一个服务,领事,我们正尝试使其更强大,最好使用 ASG,因为它可以自动重生已终止的实例(失败或其他情况)。问题是 Consul 由一组主节点组成,您不能直接用不同的节点替换它们,而无需明确将新节点加入集群并清理现已失效的节点。

因此,让故障节点用新版本替换似乎更简单。这主要意味着它拥有与以前相同的私有接口 IP。如何实现这一点?

更一般地说——人们如何管理对参与节点有某种了解的集群服务?

答案1

你可以利用弹性 IP (EIP)

  1. 首先分配一个您希望始终连接到 ASG 中实例的 EIP,这可以使用 AWS CLI 或通过 AWS 控制台 (EC2 > 弹性 IP) 完成。
  2. 完成后,您应该向 AMI 添加一个脚本,将新实例与分配的 EIP 关联起来。使用aws ec2 关联地址命令可在 AWS CLI 工具中使用。此脚本应在启动时或应用程序准备就绪时运行。

通过这种方式,新实例将被分配与旧实例相同的公共 IP。

答案2

现在 ASG 的用途还不在于此。

相反,在 ASG 节点前面放置一个负载均衡器(ELB 或您自己创建的),然后根据需要从负载均衡器添加/删除后端节点。

如果您需要了解参与 ASG 的节点,那么您可以使用 API 来枚举 ASG 实例。

相关内容