在 AWS 上存储 Docker 容器的配置文件的最佳方式是什么?

Dmi*_*kin 5 containers environment-variables amazon-web-services amazon-ecs docker

我有一个 node.js 应用程序,它有一个包含敏感数据的配置文件。我想通过 AWS ECS(集群)将其作为 Docker 容器启动。

存储敏感配置数据的最佳方式是什么?

我目前正在通过 Docker 容器的任务定义中的环境变量发送它们,但必须有更好的方法来做到这一点。

对于这样的事情,最佳实践是什么?我应该使用 Docker 密钥还是 Amazon 密钥管理器?

我知道这是一个非常普遍的问题,但我找不到答案,所以也许有人有建议?

Mar*_*cin 1

存储敏感配置数据的最佳方式是什么?

通常您会使用SSM Parameter StoreAWS Secrets Manager。它们之间的一个区别是,SSM Parameter Store免费(标准型),而AWS Secrets Manager不是。

然后,您可以使用任务定义中的环境变量将“链接”传递到商店或经理中的秘密 。

为此,您的应用程序需要使用AWS SDK来获取容器中的机密。此外,还需要设置任务角色,以便您的容器可以访问机密

该任务还需要能够访问SSM ParameterStore 或AWS Secrets Manager. 因此,如果您在没有互联网的私有子集中运行它们,则需要设置 SSM 和 Secret Manager 的NAT 网关VPC 接口端点(取决于您使用的内容)以允许访问。

额外详细信息如下: