Amazon RDS 实例是不是可升级?

Posted

技术标签:

【中文标题】Amazon RDS 实例是不是可升级?【英文标题】:Are Amazon RDS instances upgradable?Amazon RDS 实例是否可升级? 【发布时间】:2010-12-26 09:49:28 【问题描述】:

我能否根据需要切换(我的意思是升级或降级)Amazon RDS 实例,还是必须重新创建一个新实例并进行迁移?

【问题讨论】:

【参考方案1】:

是的,它们是可升级的。将 RDS 实例从 SQL Server 2008 升级到 SQL Server 2012,实例大小约为 36 GB,类 db-m1-small,存储 200 GB,没有 IOPS 或多可用区。没有停机,这个过程只用了 10 分钟。

【讨论】:

【参考方案2】:

为 25G 的数据将 mysql RDS 从 db.t2.small 升级到 db.t2.medium 需要 6 分钟。

【讨论】:

【参考方案3】:

我们刚刚从 db.m3.large 升级到 db.m3.xlarge,使用 200GB 非 IOPS 数据运行 SQL Server 2012。停机时间大约为 5 分钟。

【讨论】:

【参考方案4】:

我们有一个大表(大约 5300 万条记录)的 Alter 语句,它无法完成操作。

现有大小使用量为 48GB。 我们决定增加 AWS 中分配的存储 - RDS 实例 整个操作耗时2小时完成 MYSQL db.r3.8xlarge 从100G到200G

Alter 语句花费了大约 40 分钟,但它奏效了。

【讨论】:

【参考方案5】:

在多可用区上,会有故障转移,否则会很顺利。 下面是我最近的数据库实例类型从 r3.4xlarge 降级到 r3.2xlarge 的时间线数据,在 Multi-Az 配置的 Postgres 9.3 和 3TB 磁盘上(实际数据仅为 ~800G)

time (utc-8) event Mar 11 10:28 AM Finished applying modification to DB instance class Mar 11 10:09 AM Multi-AZ instance failover completed Mar 11 10:08 AM DB instance restarted Mar 11 10:08 AM Multi-AZ instance failover started

【讨论】:

【参考方案6】:

RE:中断时间:我们刚刚升级了 postgresql 9.3,立即请求以下更改:

将 postgresql 9.3.3 升级到 9.3.6 实例大小从 m3.large 调整为 m3.2xlarge 将存储类型更改为预配置 IOPS 将存储从 200G 扩展到 500G(就时间而言最昂贵的操作)

我们用了将近 5 个小时来完成整个操作。数据库在升级时包含大约 100G 的数据。您可以在 RDS 控制台的 Events 部分下监控升级进度。在升级过程中,RDS 会拍摄几个备份快照,可以在 Snapsnots 部分监控这些快照的进度。

【讨论】:

【参考方案7】:

RE:中断时间:我们有一个 SQL Server 2012 RDS 实例(1TB 非 IOPS 驱动器),并且从 db.m1.xlarge 变为 db.m3.xlarge(更多的 CPU,更少的 $$)导致了超过 4 分钟的停机时间。

注意:我们从 AWS 控制台 GUI 进行了升级,并选择了“立即应用”,但在中断实际开始前 10 分钟。在我们启动更新后,RDS 状态立即显示为“Modifying”,并且在等待时间和中断时间期间一直保持这种状态。

希望这会有所帮助!

格雷格

【讨论】:

【参考方案8】:

对于任何感兴趣的人,我们刚刚修改了一个 RDS 实例(MySQL,15 GB HD,其余标准参数),将其从微型更改为小型。停机时间为 5 分钟。

【讨论】:

更改实例类并重新启动是否会更改任何设置(连接字符串等)?还是只升级它而不担心到处切换连接字符串是否安全? (我的应用程序使用多个字符串,因为我们在数据库中为每个客户提供一个模式)。【参考方案9】:

当我们遇到意外流量时,我刚刚从中型 RDS 实例升级到大型实例(很好,对吗?:))。由于我们有一个多可用区实例,因此我们宕机了 2-3 分钟。在亚马逊的文档中,他们说如果你有一个多可用区实例,停机时间会很短。

【讨论】:

我们被告知启用预置 iOPS,但数据库已关闭一个多小时。幸运的是,我们是保守的,在维护窗口期间很少有人注意到。【参考方案10】:

是的,Amazon RDS 实例可通过modify-db-instance 命令升级。无需数据迁移。

来自Amazon RDS Documentation:

“如果您不确定需要多少 CPU,我们建议您从 db.m1.small 数据库实例类开始,并使用 Amazon 的 CloudWatch 服务监控 CPU 利用率。如果您的数据库实例受 CPU 限制,您可以轻松升级到使用 rds-modify-db-instance 命令的更大的数据库实例类。

Amazon RDS 将在下一个维护时段内执行升级。如果您希望立即执行升级,而不是等待维护窗口,请指定 --apply-immediately 选项。警告:更改数据库实例类需要您的数据库实例短暂中断。"

【讨论】:

哇...这太棒了。我没想到会收到 +ve 回复 :) ...我只是希望升级过程中没有停机时间。 谢谢哥们...我会成为一个更好的学生并彻底阅读文档:) 当实例关闭并以不同的实例大小重新启动时,您肯定会遇到短暂的停机时间。 旧答案,但对于未来的访问者:调整 RDS 的大小有时可能需要长达 30 分钟和短至 5 分钟。我从来没有能够在“几秒钟”内关闭、调整大小和启动 可以升级预留实例吗?这将如何运作?

以上是关于Amazon RDS 实例是不是可升级?的主要内容,如果未能解决你的问题,请参考以下文章

如何水平扩展 Amazon RDS 实例?

如何更改 Amazon RDS 的可公开访问选项?

Amazon RDS 停止实例 [重复]

Amazon AWS RDS MySQL - 实例和定价

Amazon RDS:将快照还原到现有实例

Amazon RDS 在 Reader 实例和 Writer 实例之间切换服务器