Как изменить тип экземпляра в кластере AWS ECS?

У меня есть кластер в AWS EC2 Container Service. Когда я его установил, я использовал экземпляры t2.micro, потому что их было достаточно для разработки. Теперь я хотел бы использовать более мощные экземпляры, например m4.large.

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

Ответ 1

Да, это возможно

Типы экземпляров в вашем кластере определяются настройкой "Тип экземпляра" в вашей конфигурации запуска. Чтобы обновить тип экземпляра без повторного создания кластера:

  1. Сделайте копию кластера Запустите конфигурацию и обновите "Тип экземпляра".
  2. Настройте группу автоматического масштабирования кластера так, чтобы она указывала на новую конфигурацию запуска.
  3. Подождите, пока ваши новые экземпляры зарегистрируются в вашем кластере и ваши службы запустятся.

Вы также можете добавить несколько типов экземпляров в один кластер, создав несколько групп автоматического масштабирования, связанных с различными конфигурациями запуска. Обратите внимание, что вы не можете легко скопировать группы автоматического масштабирования в консоли.

Ответ 2

Да, вы можете добиться этого в CloudFormation.

  • Нажмите на стек, соответствующий вашему ECS-кластеру.
  • Нажмите Update Stack
  • Используйте радио current template, Next
  • изменить EcsInstanceType
  • Next, Next, Update
  • Повысить масштабирование вашего кластера до 2*n экземпляров
  • Подождите, пока будут созданы новые экземпляры n нового типа
  • Уменьшите масштаб кластера до n
  • Или вы можете просто слить и завершить экземпляры 1 на 1

Ответ 3

Вот как это сделать без простоев:

  1. Создайте копию конфигурации запуска, используемой вашей группой автоматического масштабирования, включая любые изменения, которые вы хотите внести.
  2. Отредактируйте группу автоматического масштабирования, чтобы:
    • Используйте новую конфигурацию запуска
    • Желаемая мощность = Желаемая емкость * 2
    • Мин = Желаемая емкость
  3. Дождитесь, пока все новые экземпляры станут активными на вкладке Экземпляры ECS в кластере ECS.
  4. Выберите старые экземпляры и нажмите Действия → Слить экземпляры.
  5. Подождите, пока все старые экземпляры не запустят 0 задач
  6. Отредактируйте группу автоматического масштабирования и измените Min и Desired на их исходные значения

Ответ 4

Это может быть достигнуто путем изменения EcsInstanceType в стеке CloudFormation для экземпляра ECS. Любое изменение в группе автоматического масштабирования вручную будет перезаписано следующей операцией "Scale ECS Instances".

Ответ 5

Как изменить тип экземпляра контейнера в Amazon ECS?

Чтобы изменить тип экземпляра контейнера, выполните действия, описанные в одном из следующих разделов:

  • Обновление экземпляров контейнера, запущенных в кластере ECS через стек AWS CloudFormation
  • Обновление экземпляров контейнера, запущенных вручную в кластере ECS

Разрешение

  • Обновление экземпляров контейнера, запущенных в кластере ECS через стек AWS CloudFormation

Важное замечание: Следующие шаги применимы только к кластерам ECS, созданным из ресурсов, которые внутренне создают базовый стек AWS CloudFormation. Имя стека имеет следующий формат: EC2ContainerService-yourClusterName. Эти шаги не применяются к пустым кластерам ECS или к настраиваемым подходам для подготовки экземпляров контейнера.

Обновите значение параметра EcsInstanceType в стеке AWS CloudFormation:

1. Откройте консоль AWS CloudFormation.

  1. Выберите стек, который содержит ваш кластер ECS.

Примечание. Имя кластера добавляется в конец имени вашего стека (например, EC2ContainerService-yourClusterName).

  1. Выберите "Действия", а затем - "Обновить стек".

  2. Выберите "Использовать текущий шаблон", а затем нажмите "Далее".

  3. Для EcsInstanceType установите значение, соответствующее типу экземпляра в вашем экземпляре контейнера, а затем нажмите "Далее".

  4. Пропустите раздел "Параметры", нажмите "Далее", а затем выберите "Обновить".

Замените старые экземпляры контейнеров в кластере:

  1. Чтобы обновить стек AWS CloudFormation, выполните шаги 1–4 в предыдущем разделе.

  2. Для AsgMaxSize введите значение параметра, которое удваивает текущий размер. Примечание. Например, если текущее значение равно 2, установите новое значение равным 4. Это помогает предотвратить простои при изменении типа экземпляра.

  3. Откройте консоль Amazon ECS.
  4. В области навигации выберите "Кластеры", а затем выберите кластер.
  5. Выберите вкладку Экземпляры ECS, а затем выберите идентификаторы экземпляров контейнера для старых экземпляров контейнера, которые вы хотите заменить. Примечание: Если DeploymentConfiguration позволяет размещать задачи замены на 6. экземплярах контейнеров, Amazon ECS автоматически размещает задачи замены.
  6. Выберите меню "Действия", а затем выберите "Слить экземпляры", чтобы слить экземпляры.
  7. На вкладке Экземпляры ECS убедитесь, что количество запущенных задач равно 0 для ваших старых экземпляров контейнера.
  8. В области навигации выберите "Кластеры", а затем выберите свой кластер. Перейдите на вкладку "Экземпляры ECS", выберите идентификаторы экземпляров контейнера ваших старых экземпляров контейнера, а затем выберите "Отменить регистрацию". Примечание. Отмена регистрации экземпляра удаляет его из Amazon ECS.
  9. В своем шаблоне AWS CloudFormation установите значение AsgMaxSize равным исходному значению, чтобы завершить более старые экземпляры контейнера. Важное замечание: Этот шаг предполагает, что ваша группа автоматического масштабирования имеет Политику завершения по умолчанию.

Ответ 6

Вот точные шаги, которые я предпринял, чтобы обновить тип экземпляра в моем кластере:

  • Зайдите в сервис кластера, обновите Количество задач до 0

  • Перейдите в EC2 → Конфигурации запуска → Раскрывающийся список действий → Скопировать конфигурацию запуска и установите новый тип экземпляра.

  • Перейдите в EC2 → Группы автоматического масштабирования → Изменить → Установить конфигурацию запуска для вновь созданной конфигурации запуска.

  • Перейдите в EC2 → Группы автоматического масштабирования → Экземпляры → Отключить экземпляр

  • Перейти к EC2 → Launch Configurations → Удалить старую конфигурацию запуска

  • Зайдите в сервис кластера, обновите Количество задач до нужного вам количества.

Теперь, когда задачи запускаются, они будут работать с обновленным типом экземпляра EC2.

Ответ 7

Определенно, существует несколько способов изменить тип экземпляра, как предлагается при использовании конфигураций запуска.

Но имейте в виду, что для подключения к кластеру ECS, имеющему политики масштабирования экземпляров контейнеров, сложно использовать конфигурацию с несколькими запусками.

Например, если запущен кластер с экземплярами типа t2.medium, использующими конфигурацию запуска, и к кластеру ECS прикреплена политика автоматического масштабирования, то он может сигнализировать только о группе автоматического масштабирования и не более 1.

Ответ 8

Да, вы можете изменить тип экземпляра в кластере ECS. Я считаю, что вы создали кластер ECS вручную из графического интерфейса AWS. За кулисами создается шаблон формирования облака aws согласно вашим входам из консоли AWS (ECS), таким как VPC, тип экземпляра, размер и т.д. Для того же выполните следующие действия.

  1. Найдите шаблон формирования облака с именем "EC2ContainerService- {your-ecs-cluster-name}".
  2. Проверьте существующий параметр на вкладке "Параметры" (вы можете проверить тип экземпляра здесь).
  3. Теперь вам нужно обновить формирование облака. Нажмите on-> Обновить → использовать текущий шаблон → next->обновить переменную EcsInstanceType → next-> next-> стек обновлений.
  4. Теперь ваша облачность обновилась. теперь вы можете проверить в консоли EC2, что существует новый спотовый парк с новым типом экземпляра.