Назад | Перейти на главную страницу

Как заменить ami экземпляра кластера ECS на другой тип ami, избегая простоев?

Компания, в которой я работаю, использует Amazon ECS.

Здесь настроено 5 или более производственных кластеров, и на прошлой неделе возникла проблема, и группа поддержки AWS порекомендовала нам изменить ami экземпляра ECS на "Ubuntu ECS оптимизирован"ами.

Я хотел бы пройтись по всем кластерам и заменить используемые в настоящее время ami на ami, оптимизированные для ecs, но я не уверен, как лучше всего подойти к этой задаче.

Никакого простоя кластера быть не может.

Как бы вы это сделали?

  1. Установите новую конфигурацию запуска с новым AMI для кластера ECS. Убедитесь, что новые экземпляры подключены к сети и связаны с кластером.
  2. Запустите столько экземпляров контейнеров ECS, сколько вам нужно. Убедитесь, что ваша стратегия размещения задач ECS отражает ваше намерение (т. Е. Гарантирует, что новые задачи будут размещены в новых экземплярах. Пример стратегии будет spread(attribute:ecs.availability-zone), spread(instanceId). Если сомневаешься, обратитесь к документации.
  3. Завершите нежелательные экземпляры. Ваша стратегия для этого сильно зависит от вашего сервиса. Предполагая, что у вас есть веб-приложение, вы можете добавить в группу автоматического масштабирования ловушку жизненного цикла, которая истощает ненужные экземпляры контейнера ECS. Есть интересный пост в блоге по этому вопросу, если вам нужны идеи.

Вероятно, вы сначала захотите попробовать это в безопасной среде.