命令行工具包,帮助了解有关aws rds参数组的信息。

rdspg的Python项目详细描述


命令行工具包,帮助了解有关aws rds参数组的信息。

安装

pip install rdspg

目的

在分析rds的参数组时,aws在blog post中建议只能使用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++.

我认为我们可以做得更好。这个工具是为了帮助我们使这项任务容易得多。还添加了一些其他功能来帮助分析更改。

权限配置

此工具需要特定的IAM权限才能工作。示例策略:

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "rds:DescribeDBInstances",
            "rds:DescribeDBParameters",
            "rds:DescribeDBParameterGroups",
            "rds:DescribeDBClusters",
            "rds:DescribeDBClusterParameterGroups",
            "rds:DescribeDBClusterParameters",
            "rds:ListTagsForResource"
         ],
         "Resource":"*"
      }
   ]
}

用法

  • 列出参数组:
$ 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
  • 获取参数组中的参数,过滤掉默认值:
$ 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
  • 获取参数组的映射->;实例:
$ 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
  • 比较两个参数组之间的差异:
$ 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
  • 以TerraForm模板格式导出参数组:
$ 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"
  }

}
  • 所有命令都适用于带有--cluster标志的db集群
$ 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在IntelliJ中导入Gradle项目?   java使用dropwizard在ContainerResponseFilter上注入HttpServletRequest HttpServletRequest   基于Java的简单规则引擎的回退实现   java无法在引号“”中获取字符串值(Android)   直接从java书籍中复制的用户界面代码不希望运行   java如何检查已安装的libevent版本?   javascript如何在CryptoJS中解密文件,由JAVA使用AES加密   如何为自制软件打包Java GUI应用程序   java IntelliJ,在调试模式下运行glassfish,未部署工件   swing重新打开以前关闭的窗口Java   带参数的java测试资源   此URL不支持java HTTP Status 405 HTTP方法GET,即使没有doget()方法   java Heroku应用程序使用s3上传图像   java使两个水平文本视图在一起小于某个宽度时保持左侧,但如果它们大于宽度,则省略左侧视图?   Thymeleaf中的java绑定列表;索引超出范围   java类型JspWriter中的print(boolean)方法不适用于参数   java安卓要么没有足够的内存用于后台任务,要么GC有问题   如何使用证书过期的旧java小程序?   java如何从事件中获取数据到主函数?