当前,我们正在使用AWS ECS来运行具有无服务器架构微服务的应用程序,每当我们在ECR上部署或更新新工件时,我们都需要通过将任务从0更改为1来重新启动服务,反之亦然,以重新启动服务并进行提取新的文物。我们知道此过程是非常手动的,需要采取一些步骤来完成,因此我想使其自动化,是否可以使用AWS-lambda或cloudwatch?或任何配置,只要跳过手动过程即可。我需要什么样的代码和语言以及自动化示例?
答案 0 :(得分:0)
看看ecs-deploy脚本。基本上,它将用ECR的最新(或特定)映像替换现有服务。因此,如果您可以使用最新映像自动更新ECR,则此脚本会将映像部署到ECS
答案 1 :(得分:0)
如果您具有CI / CD管道,则该设置将在上载到ECR时起作用,并触发一个lambda来重置相应的服务。向lambda提供任何变量,例如要提取的ECR标记或服务名称。 ECS可以选择使用 ForceNewDeployment 重新启动服务。在Python中,调用看起来像。
updateTrigger = client.update_service(
cluster = myClusterName,
service = serviceToUpdate,
desiredCount = 1,
forceNewDeployment=True
)