DocsAWS 101BlogServices

RDS

RDS — spins up real Postgres/MySQL/MariaDB/Aurora containers, plus the RDS Proxy control plane. Control-plane is emulated; data-plane is a real database.

Query (form-encoded) multi-tenant 71 operations

Quick start

import boto3
rds = boto3.client("rds", endpoint_url="http://localhost:4566",
                   region_name="us-east-1",
                   aws_access_key_id="test", aws_secret_access_key="test")
rds.create_db_instance(DBInstanceIdentifier="db",
    Engine="postgres", EngineVersion="15",
    MasterUsername="admin", MasterUserPassword="pw123456",
    DBInstanceClass="db.t3.micro", AllocatedStorage=20)

Supported operations

71 operations exposed by this service as of MiniStack 1.5.24. Extracted directly from the handler dispatch in the source module.

AddTagsToResource CreateDBCluster CreateDBClusterParameterGroup CreateDBClusterSnapshot CreateDBInstance CreateDBInstanceReadReplica CreateDBParameterGroup CreateDBProxy CreateDBProxyEndpoint CreateDBSnapshot CreateDBSubnetGroup CreateGlobalCluster CreateOptionGroup DeleteDBCluster DeleteDBClusterParameterGroup DeleteDBClusterSnapshot DeleteDBInstance DeleteDBParameterGroup DeleteDBProxy DeleteDBProxyEndpoint DeleteDBSnapshot DeleteDBSubnetGroup DeleteGlobalCluster DeleteOptionGroup DeregisterDBProxyTargets DescribeDBClusterParameterGroups DescribeDBClusterParameters DescribeDBClusters DescribeDBClusterSnapshotAttributes DescribeDBClusterSnapshots DescribeDBEngineVersions DescribeDBInstances DescribeDBParameterGroups DescribeDBParameters DescribeDBProxies DescribeDBProxyEndpoints DescribeDBProxyTargetGroups DescribeDBProxyTargets DescribeDBSnapshots DescribeDBSubnetGroups DescribeGlobalClusters DescribeOptionGroupOptions DescribeOptionGroups DescribeOrderableDBInstanceOptions DescribePendingMaintenanceActions DisableHttpEndpoint EnableHttpEndpoint FailoverDBCluster FailoverGlobalCluster ListTagsForResource ModifyDBCluster ModifyDBClusterParameterGroup ModifyDBInstance ModifyDBParameterGroup ModifyDBProxy ModifyDBProxyEndpoint ModifyDBProxyTargetGroup ModifyDBSubnetGroup ModifyGlobalCluster RebootDBInstance RegisterDBProxyTargets RemoveFromGlobalCluster RemoveTagsFromResource ResetDBClusterParameterGroup ResetDBParameterGroup RestoreDBInstanceFromDBSnapshot StartDBCluster StartDBInstance StopDBCluster StopDBInstance SwitchoverGlobalCluster

CloudFormation

The CloudFormation engine provisions these resource types via this service:

AWS::RDS::DBCluster AWS::RDS::DBClusterParameterGroup AWS::RDS::DBInstance AWS::RDS::DBParameterGroup AWS::RDS::DBSubnetGroup

See CloudFormation engine for intrinsic support and lifecycle details.

Known limitations

  • Backup/restore APIs return success but the underlying snapshots aren't actual Postgres/MySQL dumps.
  • Host port is allocated starting at RDS_BASE_PORT (default 15432).
  • DB parameter groups reach the server for standalone MySQL and MariaDB instances only (startup options, and SET GLOBAL for immediate changes to dynamic parameters); parameter names and values are not validated against the engine's list, and formula values are not evaluated.
  • RDS Proxy is control-plane metadata only — proxies, endpoints and target groups round-trip with the documented shapes, but nothing listens on the proxy endpoint hostname.
  • IAM database authentication covers MySQL and Aurora MySQL 8.0/8.4 (not MariaDB or PostgreSQL): with IAMDatabaseAuthenticationEnabled on the instance or cluster, a user created IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS' logs in with a generate-db-auth-token token over mysql_clear_password. With AUTH=true the token and the rds-db:connect policy are verified; otherwise any token is accepted.

Source

  • ministack/services/rds.py

Read the source to verify the ops list above — dispatch tables and handler functions are the ground truth.