问题描述
我使用 Laravel Vapor 将 Laravel 应用程序部署到 AWS Lambda。我想使用 RDS Proxy 而不是直接连接到 RDS 实例。
Laravel Vapor 允许您从仪表板和 CLI 管理数据库和代理。但是,我没有使用 Vapor 来管理我的数据库。我正在通过云形成模板管理它们。
我发现没有任何文档可以将非托管 RDS 代理与 Laravel Vapor 或 Laravel 集成。
我尝试了几件事,但总是出现以下错误:
Illuminate\Database\QueryException sqlSTATE[HY000] [1045] Access denied for user 'gxadmin'@'%' (using password: NO)
以下是我尝试过的事情。
- 我已将环境中的直接 RDS 端点替换为代理端点。
- 我已授予 Lambda 角色必要的权限。以下是政策:
{
"Version": "2012-10-17","Statement": [
{
"Action": [
"cloudwatch:GetMetricStatistics","ec2:CreateNetworkInterface","ec2:DeleteNetworkInterface","ec2:DescribeNetworkInterfaces","logs:CreateLogGroup","logs:CreateLogStream","logs:FilterLogEvents","logs:PutLogEvents","kms:Decrypt","secretsmanager:GetResourcePolicy","secretsmanager:GetSecretValue","secretsmanager:DescribeSecret","secretsmanager:ListSecretVersionIds","secretsmanager:GetRandomPassword","secretsmanager:ListSecrets","ssm:GetParameters","ssm:GetParameter","lambda:invokeFunction","s3:*","ses:*","sqs:*","dynamodb:*","route53domains:*","es:*","rds-db:connect"
],"Effect": "Allow","Resource": "*"
}
]
}
我找到了一个 PHP 示例 here 来连接到 RDS 代理。
Laravel Vapor 或 Laravel 一般支持 RDS Proxy 吗?或者我是否必须使用服务容器覆盖数据库连接逻辑?
请指导。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)