【问题标题】:Changing elastic beanstalk's EC2 container type更改弹性 beantalk 的 EC2 容器类型
【发布时间】:2020-10-08 08:04:11
【问题描述】:
我目前正在使用 Elastic beanstalk 运行服务器,因此自动为我的自动生成的 ec2 实例授予了弹性 IP。在服务器中,我必须每天使用 ftp 从远程服务器获取数据,并要求另一端授予对来自我的弹性 IP 的请求的访问权限。
现在我遇到了一种情况,即我的 ec2 实例没有足够的内存用于我的服务,我希望将其实例类型更改为具有更大 RAM 的实例。
第一季度。如果我更改了我的实例类型,我的自动分配的弹性 IP 会保留吗?我需要确认,因为如果不是,它会破坏我的 ftp cron 作业。
第二季度。如果我更改了一次实例类型,是否会在 Elastic Beanstalk 为同一应用程序创建新实例时保留它? (在崩溃、重新部署、重建等情况下)
非常感谢新手。
【问题讨论】:
标签:
amazon-web-services
amazon-ec2
amazon-elastic-beanstalk
elastic-ip
【解决方案1】:
Q1:通过修改环境的 Amazon EC2 实例配置,Elastic IP 的公共 IP 地址保持不变。
请注意: Amazon 弹性 IP 地址与自动分配给 EC2 实例的公共 IP 地址不同。如果您没有明确使用弹性 IP,则与实例关联的地址很可能会发生变化。如果外部系统依赖于静态 IP,则应确保附加预定义的弹性 IP,而不是使用自动关联的 IP。
Q2:如果您修改环境的 Amazon EC2 实例配置(即更改实例类型),启动配置会更改,新配置将应用于后续部署。
【解决方案2】:
我假设你有一个单实例环境,因此它有 EIP。
第一季度。如果我更改了我的实例类型,我的自动分配的弹性 IP 会保留吗?我需要确认,因为如果不是,它会破坏我的 ftp cron 作业。
是的。它将被保留。
第二季度。如果我更改了一次实例类型,是否会在 Elastic Beanstalk 为同一应用程序创建新实例时保留它? (在崩溃、重新部署、重建等情况下)
没有。默认情况下,当前实例将终止并启动新实例。这发生在同时。因此,当您当前的实例被终止时,新的实例正在启动。
要改变这种行为,在Rolling updates and deployments 中必须使用Immutable 来代替Configuration updates。使用Immutable,将启动新实例,但旧实例将保持不变,直到新实例通过健康检查。这比第一个更新类型长得多,但更安全。
如果您担心,您可以随时克隆您的环境,然后再尝试修改它。或者对克隆执行更新并验证它是否按预期工作。