AWS Elastic Beanstalk:将现有 RDS 从 db.t1.micro 移动到 db.t2.small 的步骤

Posted

技术标签:

【中文标题】AWS Elastic Beanstalk:将现有 RDS 从 db.t1.micro 移动到 db.t2.small 的步骤【英文标题】:AWS Elastic Beanstalk: Steps to move existing RDS from db.t1.micro to db.t2.small 【发布时间】:2018-06-08 23:43:59 【问题描述】:

我是 AWS 的新手,并且在弹性 beanstalk 上拥有一个 Web 服务器环境,带有 EC2 (t1.micro) 和 RDS (db.t1.micro)。现在 db.t1.micro 实例已被弃用,无法再创建新实例,近期也不再提供支持。

如果有人向我推荐创建机器的 t2 克隆并切换(或)如何处理实例折旧的步骤,我会很有帮助。

【问题讨论】:

【参考方案1】:

    更改实例类型:您可以按照 AWS 文档here

    更改实例类型

    接下来,在 Elastic Beanstalk 环境中创建 RDS 实例并不适合生产环境,因为数据库实例的生命周期与应用程序环境的生命周期相关联。因此,始终建议在 Elastic Beanstalk 环境之外创建 RDS 实例并配置您的 Elastic Beanstalk 应用程序以在启动时连接它,这将提供执行蓝/绿部署的好处,并在不影响数据库实例的情况下拆除您的 Beanstalk 环境.请参阅文档here 了解更多信息。

目前,如果您想修改 RDS 实例类型,可以通过转到配置选项卡中的 RDS 部分来进行。

【讨论】:

1. t1 实例不在 VPC 中,因此 Elastic Beanstalk 不允许将实例类型更改为 t2(仅在 VPC 上运行)。 对于第 2 点:我没有破坏 Elastic Beanstalk 环境,而是尝试复制 Elastic Beanstalk 并切换。由于 Elastic Beanstalk 上的 t1 机器,它不允许克隆环境。我还尝试使用 RDS 创建一个新的 Elastic Beanstalk 环境,该 RDS 实例具有现有 Elastic Beanstalk db.t1 环境的快照。但是应用程序部署失败并出现 SQLSTATE[HY000] [2002] Connection timed out with RDS。【参考方案2】:

我在 VPC 中创建了一个新的 Elastic Beanstalk 环境,其中包含“db.t1.micro”快照的来源。这帮助我启动了克隆。完成此操作后,我必须将 cname 与 t1 和 t2 设置交换。新实例已启动并使用 t2 配置运行。

【讨论】:

以上是关于AWS Elastic Beanstalk:将现有 RDS 从 db.t1.micro 移动到 db.t2.small 的步骤的主要内容,如果未能解决你的问题,请参考以下文章

将现有 RDS 连接到 Elastic Beanstalk

将应用程序部署到 AWS Elastic Beanstalk 环境

AWS Elastic Beanstalk:将现有 RDS 从 db.t1.micro 移动到 db.t2.small 的步骤

是否可以将负载均衡器添加到没有负载均衡器的现有 AWS Elastic Beanstalk 应用程序?

AWS CodePipeline - 使用现有 Dockerrun.aws.json 部署到 Elastic Beanstalk

AWS Elastic Beanstalk 错误我无法部署