【问题标题】:Rebuild Elastic Beanstalk environment without losing ElasticIP在不丢失 ElasticIP 的情况下重建 Elastic Beanstalk 环境
【发布时间】:2016-02-10 22:12:51
【问题描述】:

我使用 VPC 创建了一个 Elastic Beanstalk 环境。有时,环境会锁定在代码版本部署上并且必须重新构建。发生这种情况时,我会丢失我的弹性 IP。

我尝试在重建之前取消关联 EIP,但它仍然被替换。我该怎么做才能使 EIP 永久化!? (是的,我需要 EIP 而 CNAME 不足以满足我的目的)

【问题讨论】:

  • 通过“部署”,我假设您的意思是由于新的 Beanstalk 环境,您正在启动一个新的 EC2 实例?或者您只是想重新部署到现有实例?如果你能更具体地说明你在做什么,那可能会有所帮助。
  • 我的意思是将新代码或新应用程序版本部署到现有实例。我在许多项目中有很多不同的 EB 环境,部署崩溃和需要重建环境的情况并不少见。
  • 我唯一能想到的就是尝试使用 EB 的钩子进行自动缩放,以检测实例何时发生故障,并使用 EB 部署自动启动一个新实例,并从一审到二审。这应该能够自动化。
  • 这是一个单实例环境。当它锁定时,AWS 控制台中没有任何响应。最终它将陷入红色严重状态,您可以启动重建。在我看来,它应该只是在现有 IP 下重建,但就像安全组和其他所有内容一样,EIP 会被删除。
  • Tony,老实说,我会带着那个去 AWS。发到论坛什么的。但是您是否尝试过设置一些自动缩放参数?

标签: amazon-web-services amazon-elastic-beanstalk amazon-vpc elastic-ip


【解决方案1】:

更换根卷

您可以使用“替换根卷”功能(自 2021 年 4 月起可用)。

来自 CLI:

aws ec2 create-replace-root-volume-task --instance-id INSTANCEID

从控制台:

EC2 > 右键单击​​实例 > 监控和故障排除 > 替换根卷

将快照 ID 留空。

【讨论】:

    【解决方案2】:

    如果您使用已经存在的 NAT 网关在 VPC 的子网中启动弹性 beanstalk 环境。我相信如果 Elastic beanstalk 没有配置您的 EIP,它不应该自动释放它。只是说我从来没有遇到过你在这里提出的这个问题;我的部署永远不会导致随机崩溃。您应该检查为什么会发生这种情况并解决它。

    我认为这可能是您和我的设置之间的区别:我在已经创建的 VPC 中配置了弹性 beanstalk。我使用本指南来创建我的 VPC 和子网;也许这对你也有帮助:

    https://spinupwp.com/scaling-laravel-using-aws-elastic-beanstalk-part-2-setting-up-vpc-rds-elasticache/

    您还可以在主要软件版本上进行绿/蓝部署。您创建一个新的 EB 环境,您可以复制当前环境的配置,或者借助 .ebextensions 和钩子 predeploy/postdeploy 为您配置环境。这将帮助您测试/等待新部署稳定并切换您的 EB 环境的 DNS: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html

    【讨论】:

      猜你喜欢
      • 2019-01-03
      • 2016-12-29
      • 2019-04-20
      • 2015-09-18
      • 2020-09-15
      • 2016-04-30
      • 2020-01-28
      • 2016-12-18
      • 2018-11-15
      相关资源
      最近更新 更多