【问题标题】:AWS-ECS Task Services restart automationAWS-ECS 任务服务重启自动化
【发布时间】:2020-09-25 11:33:58
【问题描述】:

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

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-ecs


    【解决方案1】:

    看看ecs-deploy 脚本。基本上,它将用来自 ECR 的最新(或特定)图像替换现有服务。因此,如果您可以使用最新映像自动更新 ECR,则此脚本会将该映像部署到 ECS

    【讨论】:

      【解决方案2】:

      如果您有 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

      【讨论】:

        猜你喜欢
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-01
        • 2019-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多