如何为 AWS RDS 凭证创建配置文件并将其导入我的 AWS Lambda API?
Posted
技术标签:
【中文标题】如何为 AWS RDS 凭证创建配置文件并将其导入我的 AWS Lambda API?【英文标题】:How can I create a config file for AWS RDS credentials and import them in my AWS Lambda APIs? 【发布时间】:2020-07-25 17:54:11 【问题描述】:抱歉,如果我是 AWS 新手,这个问题看起来太简单了。我需要帮助创建一个配置文件,我可以在其中存储我的 RDS 凭证并将此文件导入我的 Lambda 函数中,而不是在每个函数中写入凭证。 Lambda API 使用以下凭证连接到 RDS:
#rds settings
rds_host = "<host url>"
name = '<host name>'
password = '<host password>'
db_name = '<name of the schema being used>'
我想将此信息放入配置文件中,但我无法弄清楚在 AWS 中放置此配置文件的位置以及如何导入它。我想配置它的原因是,如果我更改凭据,我希望它们反映在我的每个 Lambda 中。
谢谢
【问题讨论】:
【参考方案1】:将 db 凭据放在 lambda 函数中不是一个好习惯。我建议遵循良好做法并考虑将 db 凭据传递给 lambda 函数的以下方法之一:
使用 lambda 函数的 environment variables 传递凭据。环境变量甚至可以是 encrypted using KMS 以提高安全性。
使用SSM Parameter Store 集中存储和管理凭据(免费)。
使用AWS Secrets Manager 存储和自动轮换数据库凭据(不是免费的)。
使用IAM Database Authentication for mysql and PostgreSQL,无需使用传统的用户名和密码来访问数据库。
如果您有许多 lambda 函数,则方法 2、3 和 4 最适合。这些方法还解决了更新数据库凭据的问题。
【讨论】:
以上是关于如何为 AWS RDS 凭证创建配置文件并将其导入我的 AWS Lambda API?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 aws Secrets Manager 服务中管理 aws RDS(由 cloudformation 创建)的主用户凭证?