laravel - 连接到 Laravel 中的 AWS RDS 代理
问题描述
我有一个使用 Laravel Vapor 部署到 AWS Lambda 的 Laravel 应用程序。我想使用 RDS 代理而不是直接连接到 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": "*"
}
]
}
- 我尝试从 Vapor YAML 文件中添加或删除“database-proxy: true”,但错误仍然相同。
我在这里找到了一个 PHP 示例来连接到 RDS 代理。
Laravel Vapor 或 Laravel 一般是否支持 RDS 代理?还是我必须使用服务容器覆盖数据库连接逻辑?
请指导。
解决方案
推荐阅读
- c - 在其他数组值中查找大于阈值的值和顺序的函数
- python - AttributeError: keypoints - 使用 tensorflow 1.14 进行对象检测
- java - 我正在尝试在 java 中使用递归 Topdown DP 实现 TSP。逻辑是对的,但答案不同
- google-kubernetes-engine - 为什么 GKE Ingress 控制器会出现 404 错误
- javascript - 如何将一个数组推送到另一个数组
- c++ - 如何迭代多图以满足 IF 条件 - C++
- angular - 对服务器的 Http 请求在后台模式下不起作用
- c# - 在 C# 中的非锯齿状 2D 字节数组中查找元素
- javascript - 在 reactjs 中更新状态时出错
- php - 如何在php中仅获取不为空的列