Сначала я немного объясню свой случай.
Я использую консоль AWS (веб-сайт), чтобы делать все, о чем я расскажу. В настоящее время я размещаю новый проект, который представляет собой API. Мне нужно решение, которое может автоматически адаптироваться к текущему трафику, и я хочу, чтобы развертывание было как можно проще.
Для размещения своего API и других служб я использую кластер ECS, в котором в настоящее время есть только одна служба (API). К нему также прикреплен ALB (Application Load Balancer). Эта служба может запускать от 1 до X задач, где X - максимальное количество экземпляров, которое может запустить автоматическое масштабирование. Автоматическое масштабирование предназначено для настройки количества экземпляров по мере увеличения количества запросов к ALB.
Замечание: на каждый экземпляр приходится одна задача. Таким образом, наличие 5 экземпляров означает 5 всего задач.
Насколько я понимаю, для правильного размещения задач ECS между экземплярами, которые будут добавляться или удаляться автоматически, требуется поставщик емкости.
Поскольку я хочу, чтобы развертывание было простым, я сначала выбрал CodeBuild, чтобы кое-что сделать (например, создать многоразовый и настраиваемый образ докера для моего API). Я обнаружил, что CodePipeline также может каким-то образом обернуть процесс сборки И процесс развертывания. Но для этого нужно, чтобы CodeDeploy уже был настроен, поэтому я попытался создать его с ECS в качестве вычислительной платформы.
Теперь проблема в том, что CodeDeploy требуется служба ECS для использования синих / зеленых развертываний. Кажется, что для включения синего / зеленого развертывания нам не разрешено иметь поставщика емкости.
Поставщики емкости кластера не поддерживаются при использовании сине-зеленого типа развертывания. Источник
Я нашел тему, которая, кажется, использует автоматическое масштабирование в качестве вычислительной платформы для приложения CodeDeploy Источник
Но здесь используют только EC2, а не ECS ...
Итак, есть ли другой способ достичь того, чего я хочу?