gpt4 book ai didi

amazon-web-services - 在 AWS 中的何处存储应用程序商店的配置

转载 作者:行者123 更新时间:2023-12-05 02:18:50 25 4
gpt4 key购买 nike

我正在构建一个使用 EC2、lambda、API 网关、S3、SQS 和其他服务的 AWS 应用程序。

是否有一种机制来存储可以在多个组件之间共享的全局应用程序设置

我想避免为每个组件设置环境变量;相反,每个组件应该从配置存储库读取配置。

我尝试使用 S3 配置文件,但存储桶具有其他组件无法猜测的唯一 URL。在 RDS 中存储配置不起作用,因为 RDS 实例也具有唯一名称。

KMS 可以用于此吗?如果是,我如何将 S3 存储桶名称存储和检索到 KMS 中?我只找到了一种存储 256 位加密 key 的方法。

最佳答案

AWS System Manager Parameter Store 可用于存储配置。

可以使用 AWS API 在您的应用程序中直接使用配置。 AWS 还提供了从参数存储中获取值的包。示例:对于 dotnet 核心 -- https://aws.amazon.com/blogs/developer/net-core-configuration-provider-for-aws-systems-manager/

在 Parameter Store 中,值可以存储为 StringStringListSecureString

SecureString 可用于存储密码,这可以使用内置或用户定义的 KMS key 进行保护。因此,KMS key 只是提供了一个选项( key )来保护我们存储在各种 AWS 资源中的数据。

用于存储更安全的信息 AWS Secret Manager 可以使用。

定价:

  • Parameter Store 对于标准参数是免费的,而高级参数是 charged 每个高级参数每月 0.05 USD。
  • secret 管理员是 charged 每个 secret 每月 0.40 USD。

标准参数足以存储正常使用的参数。但请确保不要过于频繁地获取参数,并有一个重试逻辑来从 AWS 参数存储中获取参数,因为有一个速率限制(AWS 包将在内部处理重试逻辑,所以我们不需要担心这一点。它甚至提供了一个选项,可以在一段时间后刷新配置值)。最好在应用程序启动时获取所有必需的配置值并将其存储在内存缓存中。

Parameter Store 和Secret Manager 使用的是路径形式的Naming。这对于存储特定于环境的配置以及基于使用策略的路径限制对参数的访问很有用。

例子:

  • 参数名称 -->/AppName/Environment/ParameterName -->/app/dev/version,/app/prod/version(允许更长的路径)
  • 根据路径(名称)策略进行限制
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSSMAccess",
"Effect": "Allow",
"Action": [
"ssm:PutParameter",
"ssm:DeleteParameter",
"ssm:GetParameterHistory",
"ssm:GetParametersByPath",
"ssm:GetParameters",
"ssm:GetParameter",
"ssm:DescribeParameters",
"ssm:DeleteParameters"
],
"Resource": "arn:aws:ssm:*:*:parameter/*"
},
]
}

关于amazon-web-services - 在 AWS 中的何处存储应用程序商店的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44099559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com