代码之家  ›  专栏  ›  技术社区  ›  Ian

是否可以在AWS中按需启动/停止docker contains?

  •  1
  • Ian  · 技术社区  · 4 年前

    我尝试将docker映像部署到AWS的弹性容器服务,然后将其作为EC2实例运行(通过Fargate)。但是,我认为我需要在TaskDefinition中至少指定一个正在运行的实例。

    但我想实现的是基本上能够按需启动这个容器,因为它将不经常使用,然后关闭它。因此,计划是通过lambda启动/停止此操作,并重定向到公共IP(因此在web请求超时内)。

    我见过使用EC2实现这一点的例子,但实际上没有一个使用Fargate。我不相信我可以根据docker映像定义EC2任务(如果可以,这可能是我的解决方案?)。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Daniel Hornik    4 年前

    为服务器定义ECS任务几乎没有区别 EC2 Fargate 黑洞拦截 你必须使用 awsvpc 网络。

    要精确地旋转一个任务,您必须设置

    • 最小实例数:0
    • 最大实例数:1个或更多

    然而,比Lambda更好的主意是使用服务自动缩放。ECS服务自动缩放需要cloudwatch中的度量。所以您可以将metric推送到cloudwatch来启动任务。然后计算您的任务,并在计算结束时输入停止任务的指标。

    手动解决方案

    另一个解决方案是切换 desired count

    参考文献: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html