【问题标题】:AWS - How to pause an Elastic Beanstalk environment without losing instance & elastic IP?AWS - 如何在不丢失实例和弹性 IP 的情况下暂停 Elastic Beanstalk 环境?
【发布时间】:2019-01-03 17:32:33
【问题描述】:

所以,我正在运行一个带有单个实例的 AWS Elastic Beanstalk 环境。

这个特定的应用程序是一个后台作业应用程序,为了将更改部署到我的数据库,我需要在部署过程中暂停该应用程序。我遇到了几个问题:-

  • 我可以停止该 EBS 环境的 EC2 实例,但这最终会终止该实例,它会启动一个立即尝试运行的新实例(不希望这样,我想控制 EBS 环境何时启动再次)。
  • 当新实例启动时,我与前一个实例关联的弹性 IP 被取消分配,并且不会自动分配给新的 EC2 实例(这是一个问题,因为我的数据库有 IP 防火墙,所以我需要它在暂停前后保持相同的 IP)。

我读到将我的 EBS 与 VPC 关联可能会解决 IP 问题,但我不知道该怎么做。在我的配置中,它显示“此环境不是 VPC 的一部分。”但没有选项可以使环境成为 VPC 的一部分?

理想情况下,我希望只是“暂停”实例,以便它停止并可以重新启动,而不会丢失该实例或该实例的 IP 配置。

谁能帮我解决这些问题,或提供一些其他配置此设置的方法?

【问题讨论】:

  • 为了帮助获得更好的答案,请将您的标签更改为 [elastic-beanstalk]。 Elastic Beanstalk 是 EB,而不是 EBS(弹性块存储)。还要在问题的标题中使用 Beanstalk。
  • 你所做的是打破了 Beanstalk 的设计目标。 Beanstalk 管理您的环境。通过停止实例,Beanstalk 认为 EC2 实例失败并替换它。可能的想法,将您的数据库从 EB 移到 RDS 中。但是,您没有详细说明为什么需要停止实例来进行数据库更改,RDS 可能也无济于事。您没有提到在 EB 中有负载均衡器。您可以添加一个,将 EIP 分配给负载均衡器。请记住,您不需要使用 EB。您可以将 Beastalk 替换为其他具有更细粒度控制的 AWS 服务。

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


【解决方案1】:

我对 Beanstalk 不是很有经验,但是您可以使用 .ebsextension 让脚本在实例启动时运行,对吗?然后使用该脚本调用 aws api 以获取可用的弹性 IP 并将其分配给实例本身。

【讨论】:

  • 是的,这可能会起作用。我会调查的。在我停止实例后处理实例自动启动有什么建议吗?我尝试添加终止保护并更改停止行为,但都没有改变。
猜你喜欢
  • 2016-02-10
  • 1970-01-01
  • 2019-07-06
  • 2015-11-19
  • 2016-12-29
  • 1970-01-01
  • 2017-12-16
  • 2018-05-12
  • 1970-01-01
相关资源
最近更新 更多