我正在使用 serverless
在 AWS 上配置基础设施的框架。我需要添加 database proxy
在我的 lambda 上,但我找不到如何配置它。我已阅读文档 https://www.serverless.com/framework/docs/providers/aws/guide/functions/但它没有提到与数据库代理相关的任何内容。
下面的屏幕截图是 aws 控制台中 lambda 的底部。如何通过 serverless.yml
添加代理?
最佳答案
provider:
name: aws
iam:
role:
statements:
- Effect: "Allow"
Action:
- "rds-db:connect"
Resource: "arn:aws:rds-db:us-east-1:123123123:admin:blah-123abc123abc/*"
请注意,ARN 中的“rds”已更改为“rds-db”,ARN 中的“db-proxy”已更改为“admin”(数据库的管理员用户)。 sls deploy
并检查 lambda。您应该在数据库代理配置部分看到代理。例如,我从 RDS 复制的 Proxy ARN 是
arn:aws:rds:us-east-1:123123123:db-proxy:blah-123abc123abc
我把它编辑成arn:aws:rds-db:us-east-1:123123123:admin:blah-123abc123abc/*
另外,请确保您的 lambda 在 same Vpc 中作为 RDS 代理,否则将无法连接。我在用:
% sls --version
Framework Core: 2.50.0
Plugin: 5.4.3
SDK: 4.2.3
Components: 3.13.2
关于amazon-web-services - 如何在 serverless.yml 中的 lambda 上配置数据库代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64444314/