【发布时间】: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