0

我正在安装gitlab ci脚本以在Amazon ECS和升级服务部分部署我的多容器应用程序,我必须使用json作为任务定义我的容器定义(图像,名称,内存,...)。我需要使用环境变量(数据库密码,电子邮件,...),但我不想放在这个json文件(它将存储在gitlab存储库),所以什么是存储这个最好的解决方案变量存储库中?AWS ECS:ENV vars超出任务定义JSON

AWS建议存储在S3卷(https://aws.amazon.com/es/blogs/security/how-to-manage-secrets-for-amazon-ec2-container-service-based-applications-by-using-amazon-s3-and-docker/),但我不知道是否有更好的选择。

谢谢!

回答

-1

将云信息模板存储在git中是正确的,因为它会改变,您需要跟踪这些更改。但是在源代码控制中当然没有秘密!在这种情况下,我的首选选项是将源代码管理下的代码保存在云信息模板中,并将秘密存储在安全的位置,如S3或专用数据库。

在这种情况下,您可以让CI系统从您的GitLab存储库中提取代码来构建应用程序并运行测试,然后从所选位置提取配置,以便为部署做好准备。

例如,如果将秘密存储在S3中的文件中,则使用读取这些值的脚本并将它们替换为json(或yaml)文件的正确字段中的任务定义。这样,您可以使代码与配置完全分离,并且可以独立管理它们。

+1

谢谢!所以再一次,亚马逊是正确的....“$%/&%(%&/·哈哈哈:) – mbellido