Từ những gì tôi đọc đây Các nhà cung cấp năng lực ECS nên (nói chung) ngăn chặn các tác vụ ngay lập tức bị lỗi do giới hạn tài nguyên bằng cách đặt chúng ở trạng thái "Cung cấp" và tạo ra một phiên bản EC2 mới
Điều này có nghĩa là, ví dụ: nếu bạn gọi API RunTask và các tác vụ không được đặt trên một phiên bản do không đủ tài nguyên (có nghĩa là không có phiên bản hoạt động nào có đủ bộ nhớ, vCPU, cổng, ENI và/hoặc GPU để chạy nhiệm vụ), thay vì thất bại ngay lập tức, tác vụ sẽ chuyển sang trạng thái cung cấp (tuy nhiên, xin lưu ý rằng quá trình chuyển đổi sang cung cấp chỉ xảy ra nếu bạn đã bật tính năng thay đổi quy mô được quản lý cho nhà cung cấp dung lượng; nếu không, các tác vụ không thể tìm thấy dung lượng sẽ không thành công ngay lập tức như chúng đã làm trước đây).
Tôi đã thiết lập một cụm ECS, với nhóm tự động thay đổi quy mô và nhà cung cấp năng lực ECS trong địa hình. Nhóm autoscaling được thiết lập với kích thước tối thiểu = 1
và nó ngay lập tức tạo ra một phiên bản duy nhất... vì vậy tôi tin rằng cấu hình khởi chạy của mình vẫn ổn.
Tuy nhiên, khi tôi liên tục gọi "RunTask" thông qua API (tác vụ với bộ nhớ = 128
), tôi nhận được nhiệm vụ không thể bắt đầu ngay lập tức với lý do NGUỒN: BỘ NHỚ
. Cũng không có trường hợp mới nào khởi động.
Tôi không thể tìm ra những gì tôi đã cấu hình sai.
Đây là tất cả các thiết lập trong địa hình:
tài nguyên "aws_ecs_cluster" "ecs_cluster" {
tên = local.cluster_name
cài đặt {
tên = "containerInsights"
giá trị = "đã bật"
}
thẻ = var.tags
Công suất_nhà cung cấp = [aws_ecs_ Công suất_nhà cung cấp. Công suất_nhà cung cấp.name]
# Tôi đã thêm phần này để cố gắng tạo ra phiên bản mới
default_capital_provider_strategy {
capacity_provider = aws_ecs_ capacity_provider. capacity_provider.name
}
}
tài nguyên "aws_ecs_abilities_provider" " capacity_provider" {
name = "${var.tags.PlatformName}-stack-${var.tags.Environment}"
auto_scaling_group_provider {
auto_scaling_group_arn = aws_autoscaling_group.autoscaling_group.arn
quản lý_termination_protection = "KHÔNG KHUYẾT TẬT"
Managed_scaling {
max_scaling_step_size = 4
minimum_scaling_step_size = 1
trạng thái = "ĐÃ BẬT"
mục tiêu_công suất = 100
}
}
thẻ = var.tags
}
#Tính toán
tài nguyên "aws_autoscaling_group" "autoscaling_group" {
name = "${var.tags.PlatformName}-${var.tags.Environment}"
# Nếu chúng tôi không sử dụng nó, đừng trả tiền cho nó
min_size = "1"
max_size = var.ecs_max_size
launch_configuration = aws_launch_configuration.launch_config.name
health_check_grace_period = 60
default_cooldown = 30
terminating_policies = ["OldestInstance"]
vpc_zone_identifier = local.subnets
protection_from_scale_in = sai
nhãn {
phím = "Tên"
value = "${var.tags.PlatformName}-${var.tags.Environment}"
tuyên truyền_at_launch = true
}
nhãn {
key = "AmazonECSQuản lý"
giá trị = ""
tuyên truyền_at_launch = true
}
"thẻ" động {
for_each = var.tags
Nội dung {
khóa = tag.key
tuyên truyền_at_launch = true
giá trị = tag.value
}
}
enable_metrics = [
"Dung lượng mong muốn của nhóm",
"Các trường hợp GroupInService",
"NhómMaxSize",
"Kích thước tối thiểu của nhóm",
"Các trường hợp nhóm đang chờ xử lý",
"Phiên bản chờ nhóm",
"Các trường hợp kết thúc nhóm",
"GroupTotalInstances",
]
}