Определения задач ECS состоят из нескольких определений контейнеров с некоторыми дополнительными параметрами, которые могут устанавливать жесткие ограничения для всей задачи, а также устанавливать такие вещи, как ограничения размещения и сетевая конфигурация.
Чтобы установить мягкую памятьограничить использование задачи в ECS, а не жесткое ограничение, которое вам нужно использовать memoryReservation
из определения контейнера вместо определения задачи.
Код в вашем вопросе нене показывает, как вы определяете определения контейнеров в вашей локальной сети, но базовый пример установки ограничений мягкой памяти в задаче ECS будет выглядеть примерно так:
resource "aws_ecs_task_definition" "service" {
family = "service"
container_definitions = <<EOF
[
{
"name": "first",
"image": "service-first",
"cpu": 10,
"memoryReservation": 512,
"essential": true,
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
]
},
{
"name": "second",
"image": "service-second",
"cpu": 10,
"memoryReservation": 256,
"essential": true,
"portMappings": [
{
"containerPort": 443,
"hostPort": 443
}
]
}
]
EOF
}