繁体   English   中英

AWS Secret Manager仅从RDS群集返回了主主机。 从主机不返回

[英]AWS secret manager returned only master host from RDS cluster. Slave hosts are not returned

我正在用python语言创建一个AWS lambda以从RDS(Aurora)获取数据。 RDS凭证存储在AWS Secret Manager中。 在创建机密时,要求我选择RDS群集。 选定的RDS群集具有主主机和从属主机。 但是,当我通过访问使用密钥管理器创建的密钥在lambda中获取凭据时,它仅返回该群集中的主主机,而不返回从属主机。 有什么方法可以访问从属主机?

码:

def get_secret():
    secret_name = "abc"
    region_name = "xyz"

    session = boto3.session.Session()
    client = session.client(
        service_name='secretsmanager',
        region_name=region_name
    )
    try:
        get_secret_value_response = client.get_secret_value(
            SecretId=secret_name
        )
    except ClientError as e:
        print(e)
    else:
        if 'SecretString' in get_secret_value_response:
            secret = get_secret_value_response['SecretString']
            #Print Credentials
            print(secret)

输出:

{"username":"xxxxx","password":"yyyyyyy","engine":"mysql","host":"**returned only master host here**","port":1234,"dbClusterIdentifier":"aaaaaaaaa"}

主服务器和从服务器上的密码(实际密码)相同。 由于Secrets Manager仅需要知道母版即可完成轮换,因此它存储在机密中。

通常,应用程序仅连接到主服务器,以便它们可以写入数据。 如果要连接到只读从属服务器(例如,卸载主服务器),则可能必须调用describe db clusters来获取从属端点。 但是,这并不总是一个好主意。 如果从属设备承受重负载,则与主设备同步可能会失败,从而使其处于损坏状态。 我以前在MySQL上已经看到过这一点,它需要手动操作来恢复从属。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM