Beanstalk平台更新从其负载均衡器目标组中移除实例。

0

【以下的问题经过翻译处理】 我们刚刚将一个系统转换为多租户,但在Beanstalk的自动更新中遇到了问题。

每个租户都有一个后端托管在Beanstalk中。我们有一个共享的负载均衡器,根据自定义端口,在每个实例上使用一个目标组将它们的流量转发到那里。一切正常,直到所有Beanstalk实例应用了平台更新,它会从目标组中删除所有目标,因此之后没有实例可用。需要手动将目标添加回每个目标组。

从长远来看,这并不是可持续的解决方案。我可以将Beanstalk的更新窗口设置在星期天,然后使用一个Lambda函数验证目标组在更新后是否为空,并根据需要重新填充它们,但我宁愿避免在这里使用自定义逻辑。 是否有一种方法可以使目标组始终包括这些Beanstalk实例,即使在平台更新后也是如此?

profile picture
专家
已提问 5 个月前18 查看次数
1 回答
0

【以下的回答经过翻译处理】 听起来你遇到的问题是由于Elastic Beanstalk中的平台更新过程创建了新实例,然后从目标组中删除旧实例所导致的。

为了避免这个问题,你可以为Elastic Beanstalk实例创建一个自定义目标组,这样就不会受到平台更新的影响。你可以按照以下步骤操作:

在EC2控制台中创建一个新的目标组。

配置新的目标组,包括你的Elastic Beanstalk实例正在监听的端口。

更新你的Elastic Beanstalk环境,使用新的目标组代替默认的目标组。

将新的目标组添加到你的共享负载均衡器中。

通过创建一个自定义目标组,你可以确保你的Elastic Beanstalk实例始终包括在目标组中,即使在平台更新后也是如此。当平台更新创建了新实例时,它们将自动添加到自定义目标组中,而旧实例仍然保留在该组中。

请注意,当你创建一个自定义目标组时,你需要更新你的Elastic Beanstalk环境,使用它代替默认的目标组。这可以使用Elastic Beanstalk控制台或AWS CLI来完成。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则