ECS和本机同时使用Secrets Manager或SSM参数
·
目标
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
Amazon ECS 使您能够通过将敏感数据存储在 AWS Secrets Manager 密钥或 AWS Systems Manager Parameter Store 参数中,然后在容器定义中引用它们来将敏感数据注入容器。使用 EC2 和 Fargate 启动类型的任务都支持此功能。
将参数注入 ECS 上的容器很有用。
我也想将此方法用于本地机器上的容器。
因为我调试的时候经常在本地机器上运行容器。
如何
示例
将名为 ServiceSettings 的参数从 Secret Manager 或 SSM Parameter Store 注入到本地计算机上的容器中。
前提条件
AWS CLI 已安装。
外壳
使用 Secret Manager 时。
setting=`aws secretsmanager get-secret-value --secret-id ServiceSetting --output text --query 'SecretString'`
docker run -it \
-e SERVICE_SETTING=$setting \
...
进入全屏模式 退出全屏模式
关键是使用“--output text”选项。
使用 SSM 参数存储时
setting=`aws ssm get-parameter --name ServiceSetting --with-decryption --output text --query Parameter.Value | tr -d ' \n'`
docker run -it \
-e SERVICE_SETTING=$setting \
...
进入全屏模式 退出全屏模式
关键是使用“tr”删除空格和换行符。
并在加密参数时使用“--with-decryption”选项。
结果
ECS 和本地机器不再需要更改在应用程序代码中捕获环境变量的方式。
更多推荐
所有评论(0)