【问题标题】:Setting the min_scaling_capacity parameter to 0 in an ECS cluster with EC2 deployment在 EC2 部署的 ECS 集群中将 min_scaling_capacity 参数设置为 0
【发布时间】:2021-06-02 20:29:34
【问题描述】:

我正在尝试使用 CDK 部署 EC2 部署的 ECS 集群。我正在使用 QueueProcessingEc2Service ECS 模式。

这是堆栈

from aws_cdk import core, aws_ecs_patterns, aws_ec2, aws_ecs


class EcsTestStack(core.Stack):

def __init__(self, scope: core.Construct, construct_id: str, **kwargs) -> None:
    super().__init__(scope, construct_id, **kwargs)

    _container_image = aws_ecs.ContainerImage.from_asset(
        directory=".",
        file='Dockerfile.ECS_Test',
        exclude=["cdk.out"]
    )

    vpc = aws_ec2.Vpc(self, "ecs-test-vpc-v4", max_azs=3)

    cluster = aws_ecs.Cluster(self, "ecs-test-cluster-v4", vpc=vpc)

    cluster.add_capacity("ecs-autoscaling-capacity-v4",
                         instance_type=aws_ec2.InstanceType("t2.small"),
                         min_capacity=0,
                         max_capacity=3)

    self.ecs_test = aws_ecs_patterns.QueueProcessingEc2Service(
        self,
        "ECS_Test_Pattern_v4",
        cluster=cluster,
        cpu=512,
        memory_limit_mib=512,
        image=_container_image,
        min_scaling_capacity=0,
        max_scaling_capacity=5,

    )

我想在队列为空时堆叠为“冷”,并仅在将消息添加到队列时启动 EC2 实例和 ECS 服务和任务。

QueueProcessingEc2Servicecluster.add_capacity 上的min_scaling_capacity 设置为0 会使堆栈无法部署。 IE。部署在步骤 48/56 处冻结(附加屏幕截图)。我已从 CloudFormation 中删除堆栈并重新部署并获得相同的结果。当我将 -v 标志添加到 CDK 部署命令时,我得到一堆 Stack EcsTestStackV4 has an ongoing operation in progress and is not stable (CREATE_IN_PROGRESS) 而没有别的。 (附截图)

当我将min_scaling_capacity 设置为 1 时,它似乎可以正常部署。

问题:将 min_scaling_capacity 设置为 0 有效吗?如果是,为什么设置为0时我的堆栈不深?

【问题讨论】:

  • 进展如何?仍然不清楚您遇到此问题的原因?

标签: amazon-web-services amazon-ec2 amazon-ecs aws-cdk


【解决方案1】:

min_scaling_capacity 的最小大小为 1。所以即使你设置为0,它也会设置为1

我猜你设置 min_capacity=0 时它不起作用。在这种情况下,您的集群中没有没有实例,也没有任务能够部署。 QueueProcessingEc2Service 不会扩展您的实例,因此您最终会得到空的 Auto Scaling 组。

QueueProcessingEc2Service 仅用于扩展您的任务,而不是运行这些任务的实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-06
    • 2020-03-23
    • 1970-01-01
    • 2019-06-21
    • 2019-02-24
    • 1970-01-01
    • 2021-08-10
    • 2016-07-27
    相关资源
    最近更新 更多