Check out the Database Migration Service of Amazon.
https://aws.amazon.com/dms/
I found creating a task for dumping RDS to S3 to be fairly straight forward in the console and this guide should applicable to you even those it discusses Aurora:
https://aws.amazon.com/blogs/database/replicate-data-from-amazon-aurora-to-amazon-s3-with-aws-database-migration-service/
I have a lambda that is scheduled to run on a periodic basis that kicks off a DMS task to dump a few tables of a database.
The code for the lambda (or just a manual job) is really simple (Python 3.6):
import boto3
import os
DMS_TASK_ARN = os.environ.get("DMS_TASK_ARN")
MAX_RETRY = int(os.environ.get("MAX_RETRY", 600))
WAIT_TIME = int(os.environ.get("WAIT_TIME", 10))
dms = boto3.client('dms')
def lambda_handler(event, context):
# Start the replication task
print(f"Starting replication task {DMS_TASK_ARN}")
dms.start_replication_task(
ReplicationTaskArn=DMS_TASK_ARN,
StartReplicationTaskType='reload-target'
)