После небольшого прочтения подобных постов здесь, на serverfault.com и форумах AWS, я смог решить эту проблему.
В моем случае проблема заключалась в том, что мой файл taskdef.json был недействительным. Мне потребовалось несколько часов, чтобы пройти каждый шаг, чтобы понять, что, хотя это был действительный JSON, он включал только раздел определений контейнеров. Исправляя это, теперь он работает правильно.
В итоге у меня есть два связанных CodePipelines. Один для развертывания обновленных образов ECR в ECS (описан выше), а другой - для обновления инфраструктуры и создания архива, содержащего taskdef.json
и appspec.yaml
. Если этот zip изменяется, то мой контейнерный конвейер работает Аналогично, если источник изображения контейнера изменяется. Нужно больше тестировать, но сейчас все работает очень гладко.