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

Автоматическое лечение экземпляра EC2 с помощью группы автоматического масштабирования?

Я пытаюсь настроить экземпляр EC2 с автоматическим восстановлением, используя группу автоматического масштабирования и сценарий запуска пользовательских данных. Если у текущего сервера возникла проблема, из-за которой он больше не доступен, экземпляр должен быть завершен, и его место займет новый. Это достаточно просто, но одно требование оказывается трудным.

Мне нужен новый сервер с таким же частным IP-адресом, что и у предыдущего сервера. Я считаю, что вторичный частный IP-адрес (он находится в VPC) назначен исходному серверу, а затем переназначен новому серверу.

  1. Я предполагаю, что могу использовать aws-cli, установленный во время сценария запуска пользовательских данных, чтобы повторно назначить частный IP-адрес, но как мне узнать, какой сервер заменяется, и переназначить IP-адрес от него (например, если в в будущем пул серверов будет больше, и 2 одновременно будут отключены).

  2. Если исходный сервер завершает работу, смогу ли я вообще переназначить частный IP-адрес?

После долгих исследований и проб / ошибок вот что мы в итоге сделали:

  1. Мы помещаем каждый тип сервера в отдельную группу автоматического масштабирования с помощью сценария оболочки пользовательских данных для полной настройки серверов.
  2. Мы использовали теги для отслеживания ресурсов на серверах, которые мы хотели передать (частный IP, эластичный IP, EBS и т. Д.).
  3. При запуске замещающего экземпляра наш сценарий пользовательских данных запрашивает у интерфейса командной строки AWS завершенный экземпляр того же типа, для которого доступны теги ресурсов.
  4. Мы используем данные в этих тегах и интерфейс командной строки AWS для переназначения этих ресурсов на заменяющий сервер, а затем удаляем теги со старого сервера.
  5. Поскольку это все в VPC, частный IP-адрес все еще доступен нам, поскольку он возвращается обратно в VPC после завершения работы экземпляра.

У нас это работает уже несколько дней, и, похоже, он работает достаточно хорошо (хотя это еще предстоит выяснить, когда экземпляр действительно выходит из строя из-за чего-то другого, кроме того, что мы завершаем его напрямую для тестирования).

AWS недавно объявленный функция «Автоматическое восстановление для инстансов EC2». Насколько я понимаю, это работает в основном так же, как группа автоматического масштабирования, но сохраняет IP-адрес экземпляра, тома и т. Д.

На данный момент эта функция доступна только для новых экземпляров и только в восточно-американском регионе.