Ash*_*des 5 amazon-web-services amazon-ecs terraform terraform-provider-aws
我已启用 ECS 使用容量提供程序,这是我的配置详细信息
最初部署后,2 个 ECS 任务在 2 个不同的 EC2 实例上运行,然后我运行负载测试来验证集群和 ECS 任务是否按预期扩展,但 ECS 任务所需计数更改为 8,并且只有 4 个 ECS 任务正在运行(预期为有 2 个 EC2 实例,我使用 t3.medium(3 ENI) 实例和 AWSVPC 进行部署)。
为什么集群没有扩展,因为已经有 4 个任务处于配置状态,容量提供者阈值为 100?
我正在使用 terraform 部署我的基础设施,容量提供商的详细信息如下,
resource "aws_autoscaling_group" "kong" {
...
min_size = var.asg_min_size
max_size = var.asg_max_size
desired_capacity = var.asg_desired_capacity
protect_from_scale_in = true
tags = [
{
"key" = "Name"
"value" = local.name
"propagate_at_launch" = true
},
{
"key" = "AmazonECSManaged"
"value" = ""
"propagate_at_launch" = true
}
]
}
resource "aws_ecs_capacity_provider" "capacity_provider" {
name = local.name
auto_scaling_group_provider {
auto_scaling_group_arn = aws_autoscaling_group.kong.arn
managed_termination_protection = "ENABLED"
managed_scaling {
maximum_scaling_step_size = 4
minimum_scaling_step_size = 1
status = "ENABLED"
target_capacity = 100
}
}
provisioner "local-exec" {
when = destroy
command = "aws ecs put-cluster-capacity-providers --cluster ${self.name} --capacity-providers [] --default-capacity-provider-strategy []"
}
}
resource "aws_ecs_cluster" "kong-reg-proxy" {
name = local.name
capacity_providers = [
aws_ecs_capacity_provider.capacity_provider.name,
]
tags = merge(
{
"Name" = local.name,
"Environment" = var.environment,
"Description" = var.description,
"Service" = var.service,
},
var.tags
)
}
Run Code Online (Sandbox Code Playgroud)
将目标容量降低到 100% 以下是一种肮脏的伎俩。有了它,您就可以运行很少的备用 EC2 实例。也许这也是您想要的,但这样 ECS 就无法控制 EC2 自动缩放。您很可能已经为服务分配了 launch_type="EC2",就像这样
resource "aws_ecs_service" "foo" {
...
launch_type = "EC2"
...
}
Run Code Online (Sandbox Code Playgroud)
您应该做的是使用容量提供程序策略分配服务,以便 ECS 可以管理处于 PROVISIONING 状态的任务并CapacityProviderReservation正确填充指标
resource "aws_ecs_service" "foo" {
...
capacity_provider_strategy {
capacity_provider = aws_ecs_capacity_provider.foo.name
weight = 1
}
...
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅参考https://aws.amazon.com/en/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/
| 归档时间: |
|
| 查看次数: |
1916 次 |
| 最近记录: |