要解决"AWS Lambda RDS代理 - 无法选择RDS实例"的问题,需要先确保在Lambda函数中正确设置了RDS代理。以下是一个包含代码示例的解决方法:
确保已正确安装并配置AWS CLI并设置了正确的访问密钥和秘密访问密钥。
在Lambda函数代码中,使用以下代码示例来创建RDS代理:
import boto3
def create_rds_proxy():
client = boto3.client('rds')
response = client.create_db_proxy(
DBProxyName='my-proxy',
EngineFamily='MYSQL',
Auth={
'AuthScheme': 'SECRETS',
'IAMAuth': 'DISABLED',
'SecretArn': 'arn:aws:secretsmanager:us-west-2:123456789012:secret:my-secret-arn'
},
VpcSubnetIds=[
'subnet-12345678',
'subnet-98765432'
],
VpcSecurityGroupIds=[
'sg-12345678'
],
DebugLogging=True,
IdleClientTimeout=1800
)
print(response)
确保将上述代码中的DBProxyName、EngineFamily、Auth、VpcSubnetIds、VpcSecurityGroupIds和SecretArn替换为您自己的值。
确保在Lambda函数的执行角色中包含了允许创建和管理RDS代理的权限,以及访问相关资源的权限。
调用create_rds_proxy()函数来创建RDS代理。
运行Lambda函数后,如果您仍然遇到"无法选择RDS实例"的问题,请确保:
如果上述解决方法仍然不能解决问题,请查看AWS文档或联系AWS支持以获取更多帮助。