现在,如果我们想在任何环境中更新应用程序(例如UAT),我们将构建docker映像,找到当前的ECS Task并使用新映像进行更新,找到正在运行的ECS集群,并更新任务。
广泛地讲,在持续集成环境中跟踪云资源ID(ECS群集ID,ECS任务ID,EC2 ID等)的最佳实践是什么?
#1 楼
明智地使用其中一种“编排”工具(例如Terraform或可能的Fugue)似乎是最好的方法。您可以从小处着手,选择一个不太重要但不是非常广泛的环境将其解密为可自动化的代码,然后从那里进行操作。
广泛地被称为基础结构即代码,用于谷歌搜索和其他面向流行词的媒体应用。
更具体地说,例如,如果您在Terraform的HCL文件中描述了您的环境,则需要将ID导出为“输出”,并且可以对脚本/ Jenkins作业/ etc中的ID进行操作
#2 楼
Netflix提出了解决资源泛滥问题的方法。他们创建了看门人猴子,负责清理显然没有使用的资源。要在Amazon AWS中跟踪创建的资源,请生成审核日志并允许搜索通过时间(和历史),他们还创建了Edda。 Edda允许存储和搜索您的AWS资源。
有人提到Janitor Monkey可能与Edda集成在一起,但是从那以后他们还没有发布太多有关这些的信息。
如今,借助AWS CloudTrail和AWS Config Rules,无需第三方软件就可以实现类似的结果。当Edda和Janitor Monkey(2012-2013)宣布时,这两种服务尚未准备好解决这类问题。
借助CloudTrail和Config,资源跟踪已经到位。所有要做的就是编写一个脚本,该脚本将通过不时遍历列表来决定如何处理这些问题。
评论
谢谢,查看您的链接,aws可能为此提供了便利,所以我可能在错误的位置。
–克里斯
17 Mar 2 '17 at 4:22
评论
谢谢,看起来terraform可能是我正在使用的替代方法。做一些研究。
–克里斯
17 Mar 2 '17 at 4:21
答案就是使用云编排工具进行部署和更新。我实际上是在使用CloudFormation来自动化初始构建,但我只是没有意识到我可以使用它来更新我一直在寻找的部分。
–克里斯
17年3月3日在15:30
这是处理可见性问题的一种方法。我目前正在使用TotalCloud [totalcloud.io]。它提供了我的云帐户中存在的资源的可视拓扑视图。
– Veer Abheek Singh Manhas
18年2月6日在6:34