LinuxCommandLibrary

aws-rds

Manage Amazon Relational Database Service (RDS) instances

TLDR

Display help for a specific RDS subcommand

$ aws rds [subcommand] help
copy

Stop instance
$ aws rds stop-db-instance --db-instance-identifier [instance_identifier]
copy

Start instance
$ aws rds start-db-instance --db-instance-identifier [instance_identifier]
copy

Modify an RDS instance
$ aws rds modify-db-instance --db-instance-identifier [instance_identifier] [parameters] --apply-immediately
copy

Apply updates to an RDS instance
$ aws rds apply-pending-maintenance-action --resource-identifier [database_arn] --apply-action [system-update] --opt-in-type [immediate]
copy

Change an instance identifier
$ aws rds modify-db-instance --db-instance-identifier [old_instance_identifier] --new-db-instance-identifier [new_instance_identifier]
copy

Reboot an instance
$ aws rds reboot-db-instance --db-instance-identifier [instance_identifier]
copy

Delete an instance
$ aws rds delete-db-instance --db-instance-identifier [instance_identifier] --final-db-snapshot-identifier [snapshot_identifier] --delete-automated-backups
copy

SYNOPSIS

aws rds <subcommand> [--options] [arguments]

PARAMETERS

--db-instance-identifier <value>
    DB instance identifier; used in many subcommands like describe, modify

--db-cluster-identifier <value>
    DB cluster identifier for Aurora/multi-AZ setups

--region <value>
    AWS region (e.g., us-east-1); overrides default

--output <value>
    Output format: json|text|table

--query <value>
    JMESPath expression to filter output

--profile <value>
    Named profile for credentials

--db-snapshot-identifier <value>
    Snapshot identifier for restore/copy operations

--engine <value>
    DB engine: mysql|postgres|aurora-mysql etc.

--master-username <value>
    Admin username for new instances

--master-user-password <value>
    Admin password (sensitive)

--help (-h)
    Display help and exit

--debug
    Enable debug logging

DESCRIPTION

The aws rds command, part of the AWS Command Line Interface (CLI), enables management of Amazon Relational Database Service (RDS) resources from Linux terminals. RDS supports managed databases like MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server, and Amazon Aurora.

Key operations include creating/modifying DB instances and clusters, taking/restoring snapshots, configuring parameter groups, managing security, monitoring events, and scaling. Subcommands handle tasks such as describe-db-instances, create-db-cluster, and modify-db-parameter-group.

Requires AWS CLI v2 (preferred) installed via pip or package manager. Configure with aws configure for access keys, region, and output format. Supports JSON querying with JMESPath. IAM policies dictate permissions; e.g., rds:DescribeDBInstances for queries.

Ideal for automation via scripts, CI/CD, or infrastructure-as-code tools like Terraform. Outputs structured data for parsing. Handles multi-region, multi-account setups with profiles.

CAVEATS

Requires AWS CLI installed/configured and IAM permissions. Not all options apply to every subcommand; check aws rds <subcommand> help. Long-running ops like create may timeout; use --no-cli-pager. Secrets like passwords logged unless --no-cli-history.

COMMON SUBCOMMANDS

describe-db-instances, create-db-instance, delete-db-instance, start-db-instance, modify-db-instance, create-db-snapshot, restore-db-instance-from-db-snapshot. Full list via aws rds help.

AUTHENTICATION

Uses ~/.aws/credentials or environment vars (AWS_ACCESS_KEY_ID). MFA/STS sessions supported via --profile.

HISTORY

Part of AWS CLI v1 (2013); refactored in v2 (2020) for better performance/modularity. RDS service launched 2009; CLI evolved with features like Aurora support (2014) and global databases.

SEE ALSO

aws(1), aws-ec2(1), mysql(1), psql(1)

Copied to clipboard