Шаблоны облачной информации - заменить кластер, сохранить объемы (и VPC) - PullRequest
1 голос
/ 03 апреля 2019

Я адаптировал шаблон ML Cloudformation (ML 8.08) для разделения ресурсов VPC, Volume и Cluster на их собственные шаблоны / стеки. Двумя целями этого были: 1) позволить нам хранить наши данные на томах EBS, но удалить стек ML Cluster, чтобы сэкономить на расходах EC2, пока кластер простаивает (недели, месяцы); и 2) удалить все экземпляры стека кластера и заменить их новыми экземплярами другого типа (для настройки производительности).

Однако мы столкнулись с проблемой: тома содержат имена хостов (в основном внутренние IP-адреса AWS), и если вы остановите весь кластер и вызовете новый, кластер будет в непригодном для использования состоянии из-за несоответствия IP-адресов. Замена одного узла работает через группы автоматического масштабирования, поскольку он заменит только 1 узел (и использует DynamoDB для поддержания второго IP-адреса, который он получает после перезапуска).

Нужен совет, если это возможно / возможно, или возможны другие подходы.

1 Ответ

1 голос
/ 04 апреля 2019

CF-стеки предназначены для полного отключения без их удаления.Если вы удаляете их, вы запрашиваете много «своих»

Вместо удаления стеков, просто обновите их, установив 0 для узлов в зону. Это безопасно уменьшит до 0 экземпляров EC2.сохраняйте данные нетронутыми, синхронизируйте метаданные (в таблице DDB) и всякий раз, когда вы хотите разбудить их, просто обновите для стека некоторые значения> 0

Существует множество соглашений и неочевидных зависимостейесли вы попытаетесь частично использовать логику, но не полностью.

И да, если вы удаляете стек, но сохраняете либо тома, либо базу данных DDB вокруг. Очень плохие вещи могут случиться, если вы присоединяете их к другим кластерам -
Очень, очень, очень плохо, если вы делаете скопируйте томов и прикрепите их к различным кластерам - не делайте этого.

...