66

Will I am able to switch (I mean upgrade or downgrade) Amazon RDS instance on need basis or do I have to create a new afresh and go through migration?

Daniel Vassallo
  • 337,827
  • 72
  • 505
  • 443
Kabeer
  • 4,138
  • 7
  • 40
  • 62

11 Answers11

93

Yes, Amazon RDS instances are upgradeable via the modify-db-instance command. There is no need for data migration.

From the Amazon RDS Documentation:

"If you're unsure how much CPU you need, we recommend starting with the db.m1.small DB Instance class and monitoring CPU utilization with Amazon's CloudWatch service. If your DB Instance is CPU bound, you can easily upgrade to a larger DB Instance class using the rds-modify-db-instance command.

Amazon RDS will perform the upgrade during the next maintenance window. If you want the upgrade to be performed now, rather than waiting for the maintenance window, specify the --apply-immediately option. Warning: changing the DB Instance class requires a brief outage for your DB Instance."

Daniel Vassallo
  • 337,827
  • 72
  • 505
  • 443
  • Wow ... this is brilliant. I wasn't expecting a +ve reply :) ... I am just hoping there is no downtime during upgrade. – Kabeer Dec 14 '09 at 12:13
  • Thanks buddy ... I'll be a better student and go through the documentation thoroughly :) – Kabeer Dec 14 '09 at 13:04
  • 1
    You will definitely incur a brief downtime as the instance is shut down and restarted with a different instance size. – Ken Liu Apr 08 '12 at 18:31
  • Anyone have any idea how 'brief' the downtime is? I'm sure it will vary with a whole bunch of factors, but are we talking seconds or minutes? – Bobby Jack Jun 28 '12 at 14:51
  • 32
    old answer but for future visitors: resizing an RDS can sometimes take as long as 30 minutes and as brief as 5 minutes. I've *never* been able to shut down, resize and start up in "seconds" – Erik Sep 26 '12 at 14:33
  • 1
    Can you upgrade reserved instances? How would that work? – Mohamad Jan 03 '14 at 17:43
  • We've used this option to increase the Storage size without any downtime. Applying the modification to allocated storage took 37 minutes. This was a read replica on MySQL 5.5.40. – AXE Labs Jan 14 '15 at 15:19
25

RE: Outage Time: we have a SQL Server 2012 RDS Instance (1TB non IOPS drive), and going from an db.m1.xlarge to db.m3.xlarge (more CPU, less $$) incurred just over 4 minutes of downtime.

NOTE: We did the upgrade from the AWS console GUI and selected "Apply Immediately", but it was 10 minutes before the outage actually began. The RDS status indicated "Modifying" immediately after we initiated the update, and it stayed this way through the wait time and the outage time.

Hope this helps!

Greg

GoodEnuf
  • 643
  • 1
  • 7
  • 10
12

I just did an upgrade from a medium RDS instance to a large when we were hit with unexpected traffic (good, right? :) ). Since we have a multi-AZ instance, we were down for 2-3 minutes. In Amazon's documentation, they say that the downtime will be brief if you have a multi-AZ instance.

SeanR
  • 121
  • 1
  • 2
  • 1
    We were told that for enabling provisioned iOPS, but the database was down for over an hour. Fortunately we were conservative and did it during our maintenance window when few people noticed. – Tim Harper Jan 08 '14 at 23:17
8

For anybody interested, we just modified an RDS instance (MySQL, 15 GB HD, rest of standard parameters) changing it from micro to small. The downtime period was 5 minutes.

Miquel
  • 858
  • 11
  • 20
  • Does changing the instance class and rebooting change any of the settings (connection string and so on)? Or is it safe to just upgrade it without worrying about switching connection string all over the place? (My app uses several strings as we have one schema per customer in the database). – Robert Benedetto Mar 12 '15 at 14:46
5

RE: Outage Time: we have just upgraded postgresql 9.3 by immediately requesting following changes:

  • upgrading postgresql 9.3.3 to 9.3.6
  • instance resize from m3.large to m3.2xlarge
  • changing storage type to provisioned IOPS
  • extending storage from 200G to 500G (most expensive operation in terms of time)

It took us almost 5 hours to complete this whole operation. Database contains around 100G of data at moment of upgrade. You can monitor progress of your upgrade under Events section in RDS console. During upgrade RDS takes couple of backup snapshots, progress of those can be monitored under Snapsnots section.

Alexander S
  • 116
  • 1
  • 3
3

We just did an upgrade from db.m3.large to db.m3.xlarge with 200GB of non-IOPS data running SQL Server 2012. The downtime was roughly 5 minutes.

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
1

Upgrading MySQL RDS from db.t2.small to db.t2.medium for 25G of data took 6 minutes.

b4d
  • 143
  • 1
  • 9
0

On multi-az, there will be a failover, but otherwise it will be smooth. Heres the timeline data from my most recent db instance type downgrade from r3.4xlarge to r3.2xlarge on a Multi-Az configured Postgres 9.3 with 3TB of disk( actual data is only ~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

cibot
  • 21
  • 2
0

We had a Alter statement for a big table( around 53 million records) , and it was not able to complete the operation.

The existing size usage was 48GB. We decided to increase the allocated Storage in AWS - RDS Instance The whole Operation took 2 hours to complete MYSQL db.r3.8xlarge from 100G to 200G

The Alter statement took around 40 min but it worked.

0

Yes, they're upgradable. Upgraded RDS instance from SQL Server 2008 to SQL Server 2012 for instance size of about 36 GB, class db-m1-small, storage 200 GB and with no IOPS or Multi AZ. There was no downtime, this process barely took 10 minutes.

tilakmukul
  • 116
  • 1
  • 9
0

My case, upgrade from t3.medium to m6g.xlarge (single AZ, 1TB data) took ~5 min:

11:13 Applying modification to database instance class
11:15 DB instance shutdown
11:17 DB instance restarted
11:17 Finished applying modification to DB instance class
11:18 Performance Insights has been enabled
11:18 Monitoring Interval changed to 60

IMPORTANT:

I was upgrading the instance class only. The process may take much longer if you change the disk configuration.

nicq
  • 2,182
  • 5
  • 22
  • 38