Skip to content
This repository has been archived by the owner on Dec 23, 2023. It is now read-only.
/ aurora-term Public archive

Amazon Aurora Serverless interactive terminal

License

Notifications You must be signed in to change notification settings

julianolf/aurora-term

Repository files navigation

aurora-term

AWS Aurora Serverless interactive terminal.

Introduction

The aurora-term app allows you to run SQL statements against Aurora Serverless databases without establishing a persistent connection, this is easily achieved thanks to the Data-API.

Besides the non-persistent connection it works just as any other interactive terminal like mysql-cli and psql.

Requirements

  • Python 3 and Pip.
  • An AWS IAM user authorized to access the Data API (with the AmazonRDSDataFullAccess policy for example).
  • Access key and secret access key properly configured for the same user (it can be done using the aws-cli).

Installation

The easiest and recommended way to install it is using Pip.

pip install aurora-term

Usage

Just specify the database cluster ARN, the secret manager ARN and the database name.

aurora-term --cluster="arn:aws:rds:..." --secret="arn:aws:secretsmanager:..." mydb

TIP:

There are a few environment variables that might come in handy, you can set them to avoid the need to pass all the credentials when starting aurora-term.

  • AWS_PROFILE Profile to be used.
  • RDS_CLUSTER_ARN Aurora cluster ARN.
  • RDS_SECRET_ARN Secret manager ARN.
  • RDS_DB_NAME Database name.

e.g.

export RDS_CLUSTER_ARN="arn:aws:rds:..."
export RDS_SECRET_ARN="arn:aws:secretsmanager:..."

aurora-term mydb

The interactive terminal looks like as follow.

aurora-term (0.1.0)
Type "help" or "?" for help.

mydb=#

For more usage details.

aurora-term -h