我使用 VPC 创建了一个 Elastic Beanstalk 环境。有时,环境会锁定在代码版本部署上并且必须重新构建。发生这种情况时,我会丢失我的弹性 IP。
我尝试在重建之前取消关联 EIP,但它仍然被替换。我该怎么做才能使 EIP 永久化!?(是的,我需要 EIP,而 CNAME 不足以满足我的目的)
我使用 VPC 创建了一个 Elastic Beanstalk 环境。有时,环境会锁定在代码版本部署上并且必须重新构建。发生这种情况时,我会丢失我的弹性 IP。
我尝试在重建之前取消关联 EIP,但它仍然被替换。我该怎么做才能使 EIP 永久化!?(是的,我需要 EIP,而 CNAME 不足以满足我的目的)
替换根卷
您可以使用“替换根卷”功能(自 2021 年 4 月起可用)。
从 CLI:
aws ec2 create-replace-root-volume-task --instance-id INSTANCEID
从控制台:
EC2 > 右键单击实例 > 监控和故障排除 > 替换根卷
将快照 ID 留空。
如果您使用已经存在的 NAT 网关在 VPC 的子网中启动弹性 beanstalk 环境。我相信如果 Elastic beanstalk 没有配置您的 EIP,它不应该自动释放它。只是说我从来没有遇到过你在这里提出的这个问题;我的部署永远不会导致随机崩溃。您应该检查为什么会发生这种情况并解决它。
我认为这可能是您和我的设置之间的区别:我在已经创建的 VPC 中配置了弹性 beanstalk。我使用本指南来创建我的 VPC 和子网;也许这对你也有帮助:
您还可以在主要软件版本上进行绿/蓝部署。您创建一个新的 EB 环境,您可以复制当前环境的配置,或者借助 .ebextensions 和钩子 predeploy/postdeploy 为您配置环境。这将帮助您测试/等待新部署稳定并切换您的 EB 环境的 DNS: https ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html