Как заменить экземпляр кластера ECS ами на другой тип ами, избегая при этом времени простоя?
Компания, в которой я работаю, использует Amazon ECS.
Там сконфигурировано 5 или более производственных кластеров, и на прошлой неделе возникла проблема, и служба поддержки AWS рекомендовала нам заменить экземпляр ECS на ami на Ubuntu ECS optimized.
Я хотел бы пройтись по всем кластерам и заменить используемый в настоящее время ami оптимизированным для ecs ami, но я не уверен, каков наилучший способ решения этой задачи.
Не может быть никакого простоя любого из кластеров.
Как бы вы это сделали?
1 ответ
- Создайте новую конфигурацию запуска с новым AMI для кластера ECS. Убедитесь, что новые экземпляры находятся в сети и связаны с кластером.
- Запустите столько экземпляров контейнера ECS, сколько вам нужно. Убедитесь, что ваша стратегия размещения задач ECS отражает ваше намерение (т. Е. Что новые задачи будут размещены в новых экземплярах. Примером стратегии будет
spread(attribute:ecs.availability-zone), spread(instanceId)
, В случае сомнений обратитесь к документации. - Прекратить нежелательные экземпляры. Ваша стратегия для этого сильно зависит от вашего сервиса. Предполагая, что у вас есть веб-приложение, вы можете добавить в свою группу автоматического масштабирования хук жизненного цикла, который истощает ненужные экземпляры контейнера ECS. Есть интересная запись в блоге по этому вопросу, если вам нужны идеи.
Вы, вероятно, хотите сначала попробовать это в безопасной среде.