Службы задач AWS-ECS перезапускают автоматизацию

В настоящее время мы запускаем приложение с микросервисами безсерверной архитектуры с использованием AWS ECS. При каждом развертывании или обновлении новых артефактов в ECR нам необходимо перезапускать службы, изменяя задачи с 0 на 1 и наоборот, чтобы перезапустить службу и забрать новые артефакты., Поскольку мы знаем, что этот процесс является очень ручным, и предпринимаются некоторые шаги для его выполнения, я хочу автоматизировать его, возможно ли использовать AWS-lambda или cloudwatch? или любую конфигурацию, если пропустить ручной процесс. Какой код и язык и пример автоматизации мне нужны для этого?

2 ответа

Взгляните на скрипт ecs-deploy. По сути, он заменит существующий сервис последним (или конкретным) изображением из ECR. Таким образом, если у вас есть автоматизация для обновления ECR с последним образом, этот сценарий развернет этот образ в ECS

Настройка, которая может работать, если у вас есть конвейер CI/CD, происходит при загрузке в ECR, запускает лямбду, которая сбрасывает эту соответствующую службу. Предоставление любых переменных в лямбду, таких как тег ECR для получения или имя службы. ECS имеет возможность перезапустить службы с помощью ForceNewDeployment. В Python вызов будет выглядеть так:

        updateTrigger = client.update_service(
        cluster = myClusterName,
        service = serviceToUpdate,
        desiredCount = 1,
        forceNewDeployment=True
    )   

С https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html

Другие вопросы по тегам