AWS 秘密管理器不允许我为 RDS 只读副本创建秘密
AWS Secret manager does not allow me to create a secret for a RDS read-replica
我已经为生产 RDS PostgreSQL 实例创建了只读副本。我计划使用该只读副本来连接 redshift 联合查询。该文档建议创建一个秘密,但是当我转到 AWS Secret Manager 并尝试创建一个新的秘密时,副本实例不存在。
我还没有发现任何迹象表明上述情况是不可能的。事实上,为联合查询提供一个只读副本是一种建议的良好做法。有什么想法吗?
秘密管理器和 RDS 之间的关联 仅基于秘密值格式。可用格式为 here.
在控制台中,您只能为主数据库实例执行此关联。但是使用 CLI,您也可以为 read-replicas 执行此操作。这很有用,因为只读副本与主实例具有 不同的端点。
例如,对于 MySql:
aws secretsmanager create-secret \
--name read-replica-secret \
--secret-string file:///tmp/secret.json
其中 /tmp/secret.json
将是:
{
"engine": "mysql",
"host": "<required: read replica instance host name/resolvable DNS name>",
"username": "admin",
"password": "2PLvZK5Gcuht8qefK5O7",
"dbname": "testdb",
"port": "3306"
}
这样,您的 read-only 客户端就可以从 SM 获得全套凭据,其中包括 正确的 read-endpoint.
但问题是你现在有两个秘密。一个用于小学,另一个用于 reader。这是一项 管理工作 。如果你想自动旋转,那就更复杂了。
我已经为生产 RDS PostgreSQL 实例创建了只读副本。我计划使用该只读副本来连接 redshift 联合查询。该文档建议创建一个秘密,但是当我转到 AWS Secret Manager 并尝试创建一个新的秘密时,副本实例不存在。
我还没有发现任何迹象表明上述情况是不可能的。事实上,为联合查询提供一个只读副本是一种建议的良好做法。有什么想法吗?
秘密管理器和 RDS 之间的关联 仅基于秘密值格式。可用格式为 here.
在控制台中,您只能为主数据库实例执行此关联。但是使用 CLI,您也可以为 read-replicas 执行此操作。这很有用,因为只读副本与主实例具有 不同的端点。
例如,对于 MySql:
aws secretsmanager create-secret \
--name read-replica-secret \
--secret-string file:///tmp/secret.json
其中 /tmp/secret.json
将是:
{
"engine": "mysql",
"host": "<required: read replica instance host name/resolvable DNS name>",
"username": "admin",
"password": "2PLvZK5Gcuht8qefK5O7",
"dbname": "testdb",
"port": "3306"
}
这样,您的 read-only 客户端就可以从 SM 获得全套凭据,其中包括 正确的 read-endpoint.
但问题是你现在有两个秘密。一个用于小学,另一个用于 reader。这是一项 管理工作 。如果你想自动旋转,那就更复杂了。