+7 votes
in Amazon Web Service by

I am trying Amazon Aurora instance and I can not see an option to stop it. The only options are Delete and Reboot.

Am I missing something.

3 Answers

+8 votes

Edit: 2018/09/25 - Amazon Aurora Now Supports Stopping and Starting of Database Clusters

Per this announcement, Aurora now supports starting and stopping the db instance. This feature was released for other RDS configurations last year and generally behaves the same in this implementation. Stopping the database cluster stops the primary instance and any Aurora replicas. The database will remain stopped for 7 days, after which it will be automatically restarted.

Additionally, see:

Edit: 2018/08/13 - Serverless Aurora supports infrequent access workloads

Per this announcement, Serverless Aurora has been released and has a feature to pause compute capacity after N consecutive minutes of inactivity. Here's an example of this configuration from the announcement blog:

enter image description here

This value is configurable up to 1440 minutes (24 hours), and would be comparable to "stopping" an Aurora Instance because you are not paying for compute capacity while compute capacity is paused, only database storage.

If your use case includes infrequent access (example: a dev instance that is not used after-hours), then this is currently the easiest option available.

Edit: 2017/06/01 - RDS can now be stopped/started, per this announcement, but does not support Aurora yet.

In the AWS console, a 'Stop' option has been mentioned to the same menu described in the question body. A stopped instance retains its storage but cannot be modified until it is started again. Instances cannot be permanently stopped -- after seven days, a stopped instance will be automatically started again.

Unfortunately, some configurations still don't support this feature. See below the break for an alternative.

Additionally, see:

Alternative suggestion for incompatible configurations:

This includes:

  • Aurora via old SDKs prior to September 2018
  • Old SDKs prior to June 2017
  • RDS with Multi-AZ
  • RDS with read replica
  • RDS with SQL Server Mirroring

RDS instances in these situations cannot be stopped and started at-will like an EC2 instance. You can, however, approximate this behavior by deleting the RDS instance with a final snapshot, and then returning later to restore an RDS instance from that DB snapshot.

This is approximate to "stopping" because no new data will be written once your final snapshot is taken, and you also won't be paying for a running RDS instance. In the same way that you would pay for any EBS volumes attached to your stopped EC2 instance, you will likewise continue paying for the storage of the DB snapshot while it exists.

This behavior diverges from stopping an EC2 instance inthat the underlying infrastructure will no longer exist. When you restore from snapshot, that will be on a new RDS instance and that restoration will take some time to complete, depending on the size of both your infrastructure and snapshot.

Further Reading

+3 votes

They did add support for stopping/starting RDS instances this month (June 2017). The key bit of info from @Venkata's link is: "The stop/start feature is available for database instances running in a Single-AZ deployment which are not part of a Read Replica (both source and replica) configuration."

This means it does not work for Aurora because it is Multi-AZ by default. You do not even receive the option in the interface.

It also will not work for MySQL if a read replica is configured. You will not get the option on the slave and you get the option on the master but it fails if you try to use it.

You can achieve the same thing with a restore from a snapshot... but the down side is that takes roughly an hour with our large db instance whereas stopping it and starting it can happen in ~5 minutes.

+1 vote
Welcome to Kloudwise, where you can ask any AWS, Azure, GCP and other cloud service questions and receive answers from other members of the community.