Command-line toolkit to help understand information about your AWS RDS Parameter Groups.
Project description
Command-line toolkit to help understand information about your AWS RDS Parameter Groups.
Installation
pip install rdspg
Purpose
When it comes to analyzing parameter groups for RDS, AWS suggested in a blog post that it could only be done using diff:
There is no AWS CLI command to compare two parameter groups simultaneously; this feature is only available by using the RDS console. You can then compare the plain text files that list the parameter groups using a Linux tool such as the diff command, or a source code editor like Notepad++.
I think we can do better. This tool is to help us make that task a lot easier. Also adding a few other features to help analyzing changes.
Permission Config
This tool needs certain IAM permissions in order to work. Example policy:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "rds:DescribeDBInstances", "rds:DescribeDBParameters", "rds:DescribeDBParameterGroups", "rds:DescribeDBClusters", "rds:DescribeDBClusterParameterGroups", "rds:DescribeDBClusterParameters", "rds:ListTagsForResource" ], "Resource":"*" } ] }
Usage
Listing Parameter Groups:
$ rdspg list DBParameterGroupName DBParameterGroupFamily Description ------------------------------- ------------------------ ---------------------------------------------------------- default.aurora-postgresql9.6 aurora-postgresql9.6 Default parameter group for aurora-postgresql9.6 default.aurora5.6 aurora5.6 Default parameter group for aurora5.6 default.postgres9.3 postgres9.3 Default parameter group for postgres9.3 default.postgres9.4 postgres9.4 Default parameter group for postgres9.4 default.postgres9.5 postgres9.5 Default parameter group for postgres9.5 default.postgres9.6 postgres9.6 Default parameter group for postgres9.6 my-parameter-group postgres9.6 My Parameter Group
Getting parameters in parameter group, filtering out default values:
$ rdspg get my-replica ParameterName ParameterValue ApplyMethod ApplyType ------------------------------- ---------------- ------------- ----------- autovacuum_analyze_scale_factor 0.1 immediate dynamic checkpoint_segments 512 immediate dynamic checkpoint_timeout 300 immediate dynamic checkpoint_warning 60 immediate dynamic default_statistics_target 100 immediate dynamic hot_standby_feedback 1 immediate dynamic log_autovacuum_min_duration 0 immediate dynamic log_connections 1 immediate dynamic log_disconnections 1 immediate dynamic
Getting a mapping of parameter group -> instances:
$ rdspg mapping ParameterGroup DBInstances ------------------- --------------------------------- default.postgres9.4 <not-used> default.postgres9.5 db-replica-9-5-a,db-replica-9-5-b default.postgres9.6 db-replica-9-6-a,db-replica-9-6-b
Compare differences between two parameter groups:
$ rdspg diff my-replica-a my-replica-b ParameterName my-replica-a my-replica-b ------------------- -------------- --------------------- checkpoint_timeout 300 450 checkpoint_warning 60 <not-set> checkpoint_segments 512 32
Export parameter group in terraform template format:
$ rdspg terraform my-parameter-group resource "aws_db_parameter_group" "my-parameter-group" { name = "my-parameter-group" family = "postgres9.5" description = "My awesome parameter group" parameter { name = "autovacuum_analyze_scale_factor" value = "0.01" apply_method = "immediate" } parameter { name = "autovacuum_vacuum_scale_factor" value = "0.01" apply_method = "immediate" } }
All the commands work for db clusters with --cluster flag
$ rdspg list --cluster DBClusterParameterGroupName DBParameterGroupFamily Description ----------------------------- ------------------------ -------------------------------------------------------- customers-p-cluster aurora-postgresql9.6 Managed by Terraform default.aurora-postgresql1 aurora-postgresql1 Default cluster parameter group for aurora-postgresql1 default.aurora-postgresql9.6 aurora-postgresql9.6 Default cluster parameter group for aurora-postgresql9.6 default.aurora5.6 aurora5.6 Default cluster parameter group for aurora5.6
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file rdspg-0.1.9.tar.gz
.
File metadata
- Download URL: rdspg-0.1.9.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 080a66f25f463c8e6cec507cf58ad27d26d67f9312d7e43f27d101a3c4a6fd45 |
|
MD5 | 18c36eb89471f7e8eda5e7c4dd810c40 |
|
BLAKE2b-256 | ffdf9b33a453c07e9db6c23cc06320fb0a8d99043b906a6dc4a945fbbcb8fccc |