如何解决在 Laravel 中连接到 AWS RDS 代理
我使用 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 举报,一经查实,本站将立刻删除。