Можно ли показать статическую страницу, если все зарегистрированные экземпляры ELB не работают?

8

Мы используем AWS ELB для разгрузки SSL и балансировки нагрузки входящего трафика. Если все экземпляры не работают или не работают, ELB просто отправляет обратно пустую страницу со статусом HTTP 503.

Можно ли отправить статическую страницу, например, для указания технического обслуживания?

Heinrich
источник

Ответы:

8

У меня есть пара вариантов, о которых я могу подумать:

  1. Разместите AWN Cloudfront CDN перед вашим ELB и настройте ответ на 503 ошибки. Подробная информация о том, как это сделать, находится в документации AWS, и это можно сделать через CLI или консоль.
  2. Используйте AWS Route53 (или другого DNS-провайдера, если они предлагают что-то подобное) для переключения при сбое DNS, чтобы определить, когда ваш ELB не работает, и указать DNS на что-то еще, например на резервный сервер или корзину S3. Подробности об этом снова в документах AWS .
ceejayoz
источник
3
Или объедините их и используйте аварийное переключение Route 53, чтобы изменить запись для исходного сервера, к которому подключается CloudFront, изменив ELB на сегмент (с тем же именем, что и у обычного исходного узла), с правилами перенаправления в сегменте для отправки 403 / 404 обратно /... это звучит немного запутанно, но позволяет избежать неприятного кэширования DNS в браузерах, что может заставить браузеры придерживаться либо ELB, либо резервного узла, пока все окна браузера не будут закрыты. Обнаружил этот трудный путь, тестируя аварийное переключение Route 53. CloudFront, напротив, учитывает DNS TTL при поиске имени хоста исходного сервера.
Майкл - sqlbot