【问题标题】:EC2 Instance reboots automatically and disassociates my Elastic IP and Target GroupsEC2 实例自动重启并解除我的弹性 IP 和目标组的关联
【发布时间】:2021-09-03 16:27:21
【问题描述】:
我在 EC2 实例 (AWS) 上配置了我的 API,并预留了一个与我的实例关联的弹性 IP。我还配置了一个指向我的公共 IP(保留)并且目标组指向我的 EC2 实例的 ELB。
每 24 小时(有时间隔 3-6 小时)我的实例会自动终止,AWS 会创建一个新实例。虽然这很好,但它会取消链接我的弹性 IP(即使在保留之后)并从我的 ELB 目标组中删除新实例。
我的 API 出现503 Service Temporarily Unavailable 错误,因为公共 IP 无效。每次发生这种情况(大约每 24 小时),我都需要将 IP 与我的实例(弹性 IP)重新关联,并在我的负载均衡器中注册一个新目标。
我该如何解决这个问题?
【问题讨论】:
标签:
amazon-web-services
amazon-ec2
amazon-elb
【解决方案1】:
听起来您配置了一个 Amazon EC2 Auto Scaling 组。 Auto Scaling 组将根据您配置的规则自动扩展实例数量。它还将自动替换任何未通过运行状况检查的实例。
首先,您应该检查 Auto Scaling 组的 Scaling 历史记录,以确定 为什么它替换了实例。
其次,您应该不将您的弹性负载均衡器指向特定的 IP 地址。相反,它可以自动将流量发送到目标组中分配给负载均衡器的任何实例。如果 Auto Scaling 替换了一个实例,那么新实例将自动将其自身添加到目标组。应该不需要手动修复。
事实上,您无需使用特定的公共 IP 地址。相反,用户应通过其 DNS 名称访问负载均衡器,并且流量将通过其私有 IP 地址重定向到实例。为了完全安全,这些 EC2 实例应放置在私有子网中(因此公共 IP 地址无论如何都不起作用)。