Правильное решение зависит от ваших критериев.
Я предполагаю, что вы используете Preemptible экземпляры для их экономии затрат, но - как вы видели, есть цена - иногда приоритетные ресурсы имеют приоритетные ресурсы, а иногда (чаще, чем для обычных ядер), есть недостаточно загруженных ядер.
Хотя это разумно, вы не можете перемещать остановленные экземпляры между зонами в регионе.
Я думаю, что есть несколько вариантов:
- Не используйте выжимку. Вы будете платить больше, но вы получите больше гибкости.
- Использование Групп управляемых экземпляров (MIG) для поддержки ~ 1 экземпляра (в регионе | зоне)
- (для полноты) рассмотрите возможность использования контейнеров и, возможно, Cloud Run или Kubernetes
Вы описываете желание перезапустить ваш экземпляр. Возможно, это потому, что вы внесли в него некоторые изменения. Если это так, вы можете рассмотреть возможность рассмотрения своих случаев как более доступного.
Когда вы хотите внести изменения в рабочую нагрузку:
- ВАЖНО убедитесь, что вы сохраняете любое важное состояние вне экземпляра
- создать новый экземпляр (в настоящее время вы сможете найти зону с емкостью для него)
- после того, как новый экземпляр работает правильно, удалите предыдущую версию
NB Оба варианта 2 (MIG) и 3 (Cloud Run | Kubernetes), описанные выше, реализуют эту практику.