AWS-ECS Task Services重新启动自动化

时间:2019-07-10 07:38:59

标签: aws-lambda amazon-ecs aws-automation

当前,我们正在使用AWS ECS来运行具有无服务器架构微服务的应用程序,每当我们在ECR上部署或更新新工件时,我们都需要通过将任务从0更改为1来重新启动服务,反之亦然,以重新启动服务并进行提取新的文物。我们知道此过程是非常手动的,需要采取一些步骤来完成,因此我想使其自动化,是否可以使用AWS-lambda或cloudwatch?或任何配置,只要跳过手动过程即可。我需要什么样的代码和语言以及自动化示例?

2 个答案:

答案 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
    )   

来自https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html#ECS.Client.update_service