Моя компания создает различные веб-сайты для своих клиентов с помощью специального хостинг-провайдера.
Этот хостинг-провайдер случайно отключил устройства, ответственные за объявления протокола пограничного шлюза (BGP) для небольшого диапазона IP-адресов. Так как мне повезло, один из этих IP-адресов оказался общедоступным IP-адресом, назначенным балансировщику нагрузки для всего веб-трафика наших клиентов. В результате реклама маршрутизации BGP для этого диапазона была снята и быстро стала недоступной во всем мире.
Хостинг-провайдер устранил проблему, как только об этом предупредил, но это стоило нам более 15 минут простоя, чего мы очень стараемся избежать в будущем.
Как мы могли это контролировать? Это намного более низкий уровень, чем наш обычный мониторинг, который просто проверяет статус apache httpd, JVM и т. Д. У нас есть внутренний мониторинг, который использует Advent AppEngine для проверки серверных процессов, ответов статуса сервера apache, ответов домашней страницы приложения.
Можем ли мы сами предпринять шаги, чтобы исправить это; например как-то делать наши собственные объявления BGP?
Я рад указателям / предлагаемому чтению, а не просто прямым ответам, поскольку этот уровень стека для меня совершенно новый, и я хотел бы заполнить пробелы в своих знаниях.
Вы вряд ли сможете обойти это, если только ваше адресное пространство не достаточно велико, чтобы вы могли запускать собственный BGP. Даже в этом случае вы уязвимы перед сбоями BGP со стороны ваших коллег.
Если вы используете несколько DNS-серверов в разных AS, у вас может быть возможность поработать, установив низкий TTL и переключившись на отдельный веб-сервер в другом сетевом блоке / центре обработки данных, изменив DNS, как только будут обнаружены проблемы. . Однако даже это займет как минимум несколько минут.
РЕДАКТИРОВАТЬ: как указал Крис, если вы используете BGP, вам нужно все ваших сверстников потерпят неудачу, прежде чем вы станете недоступными.
Вы вряд ли сможете запустить BGP, если у вас не будет хотя бы / 23 адресного пространства, независимого от провайдера, и нет номера ASN. Таким образом, вам нужно доверять своей хостинговой компании. Смена маршрутизатора, как правило, происходит довольно редко, поэтому вероятность повторения этой проблемы невелика. Вы можете изучить любое SLA, которое у вас есть с ними, но это, вероятно, просто связано с получением возмещения стоимости вашего хостинга.
Что касается мониторинга, у нас есть выделенный сервер за пределами нашей сети, который мы используем как внешний сервер Nagios. Вы можете купить дешевый VPS-сервер и использовать его для отслеживания вещей из PoV внешнего пользователя. Например, мы проверяем работу SMTP и HTTP, а не проверяем, запущены ли exim и apache, что мы делаем при нашем внутреннем мониторинге.
Для справки, существует несколько бесплатных систем мониторинга и сигнализации BGP. Ни один из них не обеспечивает разрешение 15 мин, как вы хотите. А поскольку у вас может быть много других причин сбоя, мониторинг IP-соединения извне - единственное реальное решение.
Общая статья о мониторинге BGP, На французском.
В зависимости от того, как все настроено, размера рекламируемого сетевого блока и того, как все происходит в восходящем направлении, вы можете использовать один из сценариев зеркала для отслеживания объявлений BGP для блока, в котором находится ваш сервер.
Возможно, будет проще просто пропинговать ваш хост и маршрутизатор на один шаг назад от вашего сервера извне. Вы можете использовать traceroute, чтобы определить, какой адрес использовать.
Вы мало что можете сделать, чтобы ваша хостинговая компания не сделала этого снова. Для этого вам потребуется как минимум маршрутизатор или другой хост, на котором работает BGP, подключенный к вашему провайдеру. Если у вас нет другого провайдера, это не поможет, если они случайно выключат пиринговый маршрутизатор.
Лучшим решением может быть отказоустойчивый сайт, как упоминалось в другом ответе. В зависимости от вашей устойчивости к риску вы можете настроить аварийное переключение на очень короткое время, но это предполагает полный контроль над вашим DNS.
Ваши возможности довольно ограничены. Вы можете кричать и кричать на своего провайдера, вы можете перейти к другому провайдеру, вы можете получить 2 разных диапазона IP и рекламировать услуги на обоих и иметь короткие TTL для ваших записей DNS.
Но
если ты действительно Чтобы решить эту проблему, переместитесь в колорадо с комнатой для встреч и купите пропускную способность и IP-адреса у пары провайдеров. Затем, регистр ASN с arin (или любой другой регистратор, подходящий для вашего места проживания) и самостоятельно подключитесь к поставщикам.
Если вы покупаете достаточную пропускную способность, их не составит труда заставить откашляться от / 24 или / 23. Пиринг также будет довольно простым, в зависимости от размера объекта colo и количества запрашиваемой полосы пропускания.
Если вы выписываете большие чеки и ведете себя так, будто точно знаете, чего хотите (и что вы хотите, разумно), это несложно сделать. Если вы передадите его своему «провайдеру», вы всегда будете в тупике.