0

I want to host an application that connects to a DB and makes queries to it. The application holds onto the connection indefinitely but only makes queries to the DB when the user interacts with the frontend.

I know that AWS Aurora Serverless has a "pause compute capacity" feature to only charge you for the DB's storage after a specified amount of time. If the application is still connected to the DB (even without making queries), does that prevent the DB from scaling down to 0 compute units and pausing its compute capacity?

1

I believe you are correct, a single long-running connection will prevent AWS Aurora Serverless from triggering the pause-and-resume feature.

Aurora Serverless v1 can also scale to zero capacity when there are no connections if you enable the pause-and-resume option for your DB cluster's capacity settings.

Source: How Aurora Serverless v1 works

Take this with a grain of salt, though, as I haven't tested this behaviour myself, and the docs aren't perfect. The same doc goes on to reference "no activity" without defining it:

You can choose to pause your Aurora Serverless v1 DB cluster after a given amount of time with no activity.

Which begs the question: "does an idle connection count as activity?"

I think the best hint that an idle connection counts as "activity" is that the moment a connection is needed, Aurora Serverless resumes:

If database connections are requested when an Aurora Serverless DB cluster is paused, the DB cluster automatically resumes and services the connection requests.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.