AWS Serverless 共享配置数据
无服务器环境中的配置数据共享
在微服务架构中,服务和函数之间的通信至关重要。
一个服务需要配置或连接数据才能与其他服务进行通信。
在代码中处理配置数据或秘密是开发人员面临的常见问题。
这些包括连接字符串、日志记录选项和输出。
这些数据可能是敏感的,因此请勿无意中将其检入源代码或分发。
在处理敏感数据(如配置数据)时,有几种部署选项
- 这些数据可以硬编码在您的代码中
- 您可以使用环境变量
- 您可以使用这些数据的运行时加载
切勿在应用程序代码中硬编码秘密或配置数据。
运行时加载数据会增加延迟,并将敏感数据排除在您的代码之外。
这是一个最佳实践。
无服务器环境中的配置数据共享视频
W3schools.com 与 Amazon Web Services 合作,为我们的学生提供数字培训内容。
环境变量
环境变量是一个动态命名的项,可以改变程序的行为。
使用 Lambda 时,请将配置参数与代码分开。
AWS Key Management Service 可以加密这些值。
由于环境变量是函数特定的,因此无法设置 Lambda 函数。
必须更新所有使用环境变量的 Lambda 函数。
AWS Systems Manager Parameter Store
配置数据的一种解决方案是 AWS Systems Manager Parameter Store。
它是一个免费的、完全托管的、集中的存储系统,用于配置数据管理。
Parameter Store 通过版本控制跟踪所有参数更改。
切勿在代码或环境变量中保留敏感数据。
使用 Systems Manager 参数来存储您的秘密和共享配置设置。
但是,Parameter Store 可能会增加延迟。
因此,您应该对函数进行基准测试,以确定最佳技术。
解决性能问题的一种技术是使用 AWS X-Ray。
相关阅读
什么是 AWS Secrets Manager?AWS Systems Manager FAQ
使用 AWS Systems Manager Parameter Store 与 AWS Lambda 共享秘密
AWS Lambda 环境变量