Amazon web services 在不丢失ElasticIP的情况下重建弹性豆茎环境

Amazon web services 在不丢失ElasticIP的情况下重建弹性豆茎环境,amazon-web-services,amazon-elastic-beanstalk,amazon-vpc,elastic-ip,Amazon Web Services,Amazon Elastic Beanstalk,Amazon Vpc,Elastic Ip,我用VPC创建了一个弹性Beanstalk环境。有时,环境将锁定在代码版本部署上,并且必须重新构建。当这种情况发生时,我失去了我的弹性IP 我尝试在重建之前解除EIP的关联,但它仍然被替换。我该怎么做才能使EIP永久化!?(是的,我需要一个EIP,CNAME不足以满足我的需要)替换根卷 您可以使用“替换根卷”功能(自2021年4月起提供) 从CLI: aws ec2创建替换根卷任务--实例id INSTANCEID 从控制台: EC2>右键单击实例>监视和故障排除>替换根卷 将快照ID保留为空。

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


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

替换根卷

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

从CLI:

aws ec2创建替换根卷任务--实例id INSTANCEID

从控制台:

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


将快照ID保留为空。

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

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

您还可以在主要软件版本上进行绿色/蓝色部署。创建新的EB环境时,可以复制当前环境的配置,也可以借助.ebextensions和hooks predeploy/postdeploy为您配置环境。这将帮助您测试/等待新部署稳定,并切换您的EB环境的DNS:

通过“部署”,我想您的意思是,作为新Beanstalk环境的结果,您正在启动一个新的EC2实例?或者您只是试图重新部署到现有实例?如果你能更具体地说明你在做什么,那可能会有所帮助。我指的是将新代码或新应用程序版本部署到现有实例。在许多项目中,我有很多不同的EB环境,部署崩溃的情况并不罕见,我能想到的唯一一件事是尝试使用EB的钩子进行自动缩放,以检测实例何时失败,并使用EB部署自动启动新实例,并将EIP从第一个实例重新映射到第二个实例。这应该能够自动化。这是一个单实例环境。当它锁定时,AWS控制台中没有任何响应。最终,它将陷入红色严重状态,您可以启动重建。在我看来,它应该在现有的IP下重建,但就像安全组和其他所有东西一样,EIP被删除了。托尼,我真的会带着它去AWS。把它发到论坛上或者别的什么地方。但是你试过设置一些自动缩放参数吗?