Skip to main content

Creating and Connecting to an Aurora Serverless Database via CLI

Hands-On Lab

 

Photo of Moosa Khalid

Moosa Khalid

AWS Training Architect II

Length

00:45:00

Difficulty

Intermediate

Aurora Serverless is an excellent choice for your relational database workloads without needing to worry about scaling, disaster recovery, or maintenance. In this lab, we use the AWS CLI to create an Aurora Serverless (MySQL) database and show how we can run queries against it using the RDS Data API. All of this will be done from the command line.

What are Hands-On Labs?

Hands-On Labs are scenario-based learning environments where learners can practice without consequences. Don't compromise a system or waste money on expensive downloads. Practice real-world skills without the real-world risk, no assembly required.

Creating and Connecting to an Aurora Serverless Database via CLI

Introduction

Aurora Serverless is an excellent choice for your relational database workloads without needing to worry about scaling, disaster recovery, or maintenance. In this lab, we use the AWS CLI to create an Aurora Serverless (MySQL) database and show how we can run queries against it using the RDS Data API. All of this will be done from the command line.

Solution

Open a terminal session and log in to the provided EC2 instance via SSH using the credentials provided on the lab page:

ssh cloud_user@<PUBLIC IP>

Create Aurora Serverless DB Cluster

  1. Run the following command, creating a <USERNAME> (e.g., admin) and <SECURE_PASSWORD> (e.g., adminstrong12345) and replacing <DB_SUBNET_NAME> with the database subnet group name provided on the lab page:

    aws rds create-db-cluster --engine-version 5.6.10a --db-cluster-identifier serverlessdb --engine-mode serverless --engine aurora --master-username <USERNAME> --master-user-password <SECURE_PASSWORD> --db-subnet-group-name <DB_SUBNET_NAME> --scaling-configuration MinCapacity=2,MaxCapacity=4,AutoPause=false,TimeoutAction=ForceApplyCapacityChange --enable-http-endpoint --region us-east-1
  2. In the returned JSON, copy the DBClusterArn and paste it into a text file, as we'll need it a little later.

Create a Secret in Secrets Manager for DB Credentials

  1. Create a secret in Secrets Manager, replacing <USERNAME> and <SECURE_PASSWORD> with the credentials you set in the previous command:

    aws secretsmanager create-secret --name "ServerlessDBSecret" --description "Credentials for serverless DB" --secret-string '{"username":"<USERNAME>" , "password":"<SECURE_PASSWORD>"}' --region us-east-1
  2. In the returned JSON, copy the secret's ARN and paste it into a text file, as we'll need it in a minute.

Connect to and Execute SQL Query Against Your Provisioned Serverless Aurora DB Instance

  1. Connect to and execute a SQL query against the provisioned Aurora Serverless DB instance (replacing <DB_CLUSTER_ARN> and <SECRET_ARN> with the ARNs you copied earlier):

    aws rds-data execute-statement --resource-arn <DB_CLUSTER_ARN> --secret-arn <SECRET_ARN> --database information_schema --sql "select * from information_schema.tables LIMIT 1" --region us-east-1

Conclusion

Congratulations on successfully completing this hands-on lab!