Похоже, ваша организация экспериментирует с запуском своих сервисов в докере и ECS. Я также предполагаю, что вы используете AWS ECR для размещения ваших образов докера (хотя технически это не имеет значения).
Когда вы создаете кластер ECS, он изначально пуст. Если вам нужно будет повторно запустить шаблон terraform еще раз, он должен показать вам, что обновлений нет. Чтобы сделать следующий шаг, вам нужно определить ecs-service и ecs-task-definition . Это можно сделать либо в существующем шаблоне terraform, либо в новом шаблоне, либо вы можете сделать это вручную (веб-консоль aws или awscli). Поскольку вы уже используете terraform, я предполагаю, что вы продолжите использовать его. Лично я бы сохранил все в 1 шаблоне, но опять же, это зависит от вас.
ecs-сервис - это, по сути, конфигурация времени выполнения для ваших ecs-задач.
Определение ecs-task - это набор Docker-контейнеров для запуска. В простейшем случае это 1 контейнер с одним докером. Здесь вы будете указывать образ (ы) докера, который будете использовать, сколько ЦП + ОЗУ для контейнера докера и т. Д ...
Для того чтобы ваши текущие службы ecs обновлялись без остановки узлов EC2, вам просто нужно обновить образ докера в части определения задачи ecs вашего шаблона terraform (конечно же, terraform run run) ,
со всей этой фоновой информацией теперь вы можете добавить Terraform ecs-service Terraform ecs-task-definition в свой шаблон terraform.
Поскольку вы не предоставили свой шаблон, я не могу точно сказать, как это должно быть настроено, но пример шаблона terraform полного кластера ECS с nginx можно найти ниже
Завершить пример Terraform ECS
больше примеров можно найти на
Официальные примеры использования Terraform ECS github