我希望有一种简单的方法可以将参数组从一个帐户导出到另一个帐户。这似乎无法通过 aws 控制台实现。
我检查了 aws cli rds 命令文档,其中有 DESCRIBE 命令,我用它来创建文本或 json 输出文件。但我没有找到导入该 pg 的方法。
感谢您的任何帮助/建议。
啊...在发布这个问题之前,我应该更深入地研究一下 aws cli 命令。对不起!
发布后,我刚刚注意到 create 命令接受 json 输入文件!
这将满足我的需要。
aws rds create-db-parameter-group \
--db-parameter-group-name <group-name> \
--db-parameter-group-family <group-family> \
--description <group-description> \
--cli-input-json file://<path-to-file>
很高兴您找到了一个解决方案,此外,您还可以评估使用 AWS Cloudformation 模板以更简单的方式为多个账户部署配置。您可以在下面找到有关使用 AWS Cloudformation 的 AWS RDS 参数组的更多信息。
这里还有一个博客,介绍使用 AWS Cloudformation 部署 AWS 资源的最佳实践。
使用 AWS CloudFormation 部署 Amazon Aurora 数据库的最佳实践
致以诚挚的问候
我希望上面的答案能起作用,但我从帐户 1 导出了参数,然后进行了创建,它给了我
Parameter validation failed: Unknown parameter in input: "Parameters", must be one of: DBParameterGroupName, DBParameterGroupFamily, Description, Tags
,因为 JSON 没有您在命令行中放置的内容。
AWS 似乎非常愚蠢,提供了一个导出工具,然后就不会重新导入。
就我而言,我必须对 PostgreSQL 数据库执行相同的转换,在这里我完成了以下操作:
1. 从源数据库参数组导出参数:
aws rds describe-db-parameters --db-parameter-group-name <My-Parameter-Group-Name> >> My-Parameters.json
2. 通过更改第一个键(即 Parameters 和 DBParameterGroupName)编辑了 My-Parameters.json
参数 json 的示例部分编辑后:
{
"DBParameterGroupName": [
{
"ParameterName": "application_name",
"Description": "Sets the application name to be reported in statistics and logs.",
"Source": "engine-default",
"ApplyType": "dynamic",
"DataType": "string",
"IsModifiable": true,
"ApplyMethod": "pending-reboot"
},
......
3. 在目标中创建了新的参数组:
aws rds create-db-parameter-group \
--db-parameter-group-name "<My-New-Parameter-Group-Name>" \
--db-parameter-group-family "postgres13" \
--description "<My-Parameter-Group-Description>" \
--cli-input-json file://My-Parameters.json \
--region <Preffered-Region>