Инфраструктура в разных концах города: как не проворонить сетевую связность
Размещение ИТ-инфраструктуры на двух и более площадках решает разные задачи: помогает быстро расширить ресурсы или стать ближе к конечному потребителю в случае размещения контента в разных CDN-зонах. Но особенно часто такое распределение систем используется для георезервирования: когда при выходе из строя одной площадки вторая находится вне зоны аварии и берет на себя критически важные нагрузки.
Обеспечить георезервирование можно, если разместить оборудование в удаленных дата-центрах или взять ресурсы в разных облачных зонах доступности. Но важно не забыть про сетевую связность и на берегу выяснить несколько вопросов у телеком-провайдера. Иначе сбой сети сведет на нет все плюсы распределенной архитектуры.
В октябре по просьбе наших подписчиков мы обсудили тему сетевой связности на эфире в Салатовой телеге. Здесь решили продолжить обсуждение в двух частях:
в первой части покажем сценарии георезервирования и варианты связности в рамках одной сети дата-центров в одном городе;
в следующий раз поговорим, как обеспечить связность, если нужно держать резерв в другом городе и у другого сервис-провайдера.
Кому и какое георезервирование нужно
В идеальном сценарии георезервирование обеспечивает скорость восстановления. Что бы ни произошло на основной площадке, сначала переключимся на резервную, а потом разберемся в проблеме и устраним аварию. Реализовать эту идею можно разными способами: единой для всех таблетки “георезервирование” не существует.
С точки зрения сети важно продумать нужное качество соединения, резервирование каналов на всех уровнях и информационную безопасность. Для этого комплексно анализируем, какую систему, как и для чего резервируем. Например, у нас к проекту обычно подключаются не только сетевые инженеры, но и группы виртуализации, резервного копирования, архитекторы, специалисты центра киберзащиты.
На какие вопросы нужно ответить перед разработкой решения:
Какие площадки связываем: ЦОДы или собственные площадки клиента?
Между крупными дата-центрами уже проложены каналы и есть телеком-операторы на выбор. На базе этих каналов можно выбрать разные услуги. А вот для связи с клиентской серверной, возможно, потребуется достроить канал от ближайшей точки присутствия провайдера.
Какое расстояние между площадками?
Даже если резерв находится в пределах одного города, важно выяснить расстояние. От этого зависит задержка сети и скорость.
Средневзвешенная задержка в пределах одного города будет меньше 10 миллисекунд — этот показатель растет при расстояниях в тысячу и более километров. Но для предсказания фактической задержки важно знать топологию сети и маршрут между узлами присутствия.
А в случае со скоростью многое зависит и от оборудования. Например: дальнобойные трансиверы дают максимальную скорость на расстоянии до 40—50 км.
Какие нужны показатели допустимого времени восстановления (RTO) и допустимой потери данных (RPO) исходя из задачи?
Резервная площадка может понадобиться для хранения бэкапов, когда важно сохранить максимум информации, а скорость развертывания вторична. Тогда мы задаем строгий RPO и не так требовательны к RTO.Или, наоборот, клиент может держать площадку в другом ЦОДе, чтобы максимально быстро поднять свой сервис при аварии. Тогда выбираем решение с предсказуемым RTO: отказоустойчивый кластер между двумя дата-центрами, послеаварийное восстановление как сервис (DRaaS) или катастрофоустойчивое облако.
С точки зрения сети нам важно, как будет происходить репликация на стороннюю площадку. Когда речь идет про репликацию в реальном времени или кластер Active-Active с высокой нагрузкой, то важно обеспечить широкий канал с минимальными задержками. Например, мы уже рассказывали, как это устроено в нашем катастрофоустойчивом облаке.
Если же репликация происходит сессионно раз в несколько минут, то требования к каналу снижаются. В этом случае уже можно использовать межрегиональное резервирование.
Дальше мы уточняем детали и предлагаем решения по ситуации.
Покажем на конкретных примерах, какие удачные решения и ошибки могут возникнуть в таких проектах.
Резервируем ресурсы и трассы внутри Москвы
Мы уже рассказывали про варианты подключения к нашим облакам здесь: 5+ способов подключиться к облаку. Дополним список с точки зрения георезервирования, когда нужно организовать подключение к разным дата-центрам одной сети.
Вот какие способы организации сети и резервирования тут есть.
Публичный интернет. Вариант, если нужно дешево и сердито. Есть очевидные минусы: негарантированная полоса пропускания, негарантированная задержка, ограничения по объему трафика и риск кибератак.
Кажется, что для георезервирования даже в пределах города не подходит. Но есть сценарии, когда требования к RTO и RPO не такие высокие, а риски этого варианта компенсируются дополнительными инструментами:
Например, сеть магазинов нужно подключить к облаку с внутренними системами. В этом случае главный узел в облаке собирает информацию от торговых точек, которые работают как второстепенные узлы.
Тянуть каналы L2 в каждую точку нет смысла: так магазин никогда не окупится. Компания готова мириться с небольшой временной деградацией трафика — главное, чтобы связь с магазинами была.
Чтобы застраховаться от сбоев интернет-соединения, каждую точку ритейлер подключает к двум разным интернет-провайдерам. Неплохо, если ритейлер узнает больше про их сети и убедится, что при аварии не откажут сразу оба провайдера.
А для защиты от угроз ИБ затем можно использовать фаерволы и подключение по шифрованному каналу: классический IPsec site-to-site, IPsec с GRE и так далее. Подробнее об их настройке мы рассказывали здесь:
VMware NSX для самых маленьких. Часть 1
Настройка VPN. VMware NSX для самых маленьких. Часть 6.
Как ритейлер в этом примере может проверить телеком-операторов? Во-первых, запросить карту сети и убедиться, что маршруты выбранных провайдеров не пересекаются. Еще лучше, если удастся изучить схему прокладки оптического кабеля в офисном здании. Так можно проверить, насколько кабельные вводы далеко друг от друга и застрахованы от “шального экскаватора”.
Такая проверка не будет лишней даже в Москве. К сожалению, единственный кабельный ввод без резерва встречается и в крупных московских дата-центрах: Воздушки, релейки, кабель в окно: как не напороться на провайдера-монополиста в бизнес-центре.
Во-вторых, у провайдера важно выяснить количество апстримов — стыков с вышестоящими операторами связи. Так можно обезопасить себя от ситуаций, когда интернет пропадет из-за сбоя вышестоящего оператора, а у вашего поставщика интернета нет резерва.
Для проверки можно использовать сервисы Looking Glass, они есть даже у небольших телеком-провайдеров. По названию провайдера можно проверить, в каком состоянии находится пиринг — обмен трафиком между операторами. Для примера поищем по названию DataLine в сервисе от Hurricane Electrics:
Более интересный кейс: можно выходить в интернет с помощью протокола маршрутизации BGP. Для этого у клиента должна быть своя автономная система (АС) — система IP-сетей и маршрутизаторов, которыми управляют операторы связи. При наличии у клиента АС и независимых адресов сервис-провайдер может поднять BGP-пиринг, то есть организовать обмен маршрутами с клиентом и отдавать их в сторону собственных апстримов. При этом для резервирования можно поднять второй пиринг с другим телеком-провайдером.
Возможен и более экзотический кейс георезервирования. Клиент может поднять BGP-сессии на серых АС с IP-адресами, которые выделяет сервис-провайдер. В этом случае организовать пиринг с другим провайдером уже не получится.
Вот как мы реализуем эту схему. Вы анонсируете эти адреса нам из двух ЦОДов. Если что-то случилось в одном из ЦОДов, то другой берет на себя эти адреса, и даунтайм минимален.
В целом, наш опыт подсказывает, что вполне можно использовать интернет в связке с VPN для доступа к легкому статичному контенту. А вот нагруженные решения уже стоит связывать по-взрослому.
Использование каналов сервис-провайдера между площадками. Когда две площадки для резервирования расположены в одной сети дата-центров, можно воспользоваться готовой связностью между ними. Например, первые проекты с резервированием внутри Москвы мы начинали на базе двух площадок: NORD и OST. Для обеспечения связности между ними была построена наша собственная оптоволоконная сеть.
Какие есть варианты связывания площадок с использованием такой сети:
Если обе площадки облачные, можно растянуть между ними канал L2 на уровне виртуализации. Для этого часто применяют технологию VxLAN, которая использует готовую сеть между зонами доступности облака. Это как раз тот случай, когда к проекту подключается группа виртуализации.
Если клиент подключает площадку в дата-центре со своим физическим оборудованием, то можно взять канал L2 Ethernet в аренду. Тогда в конечных точках сразу будет установлен коммутатор. Чаще всего этот вариант берут компании с объемом трафика до 1 гигабита между площадками с “физикой” — так получается выгоднее всего. На самом деле, в таком сценарии мы можем предоставить порт и на 10 гигабит. А вот все, что больше, нужно прорабатывать отдельно. Не всегда IP-транспорт способен обеспечить передачу такого объема трафика без потерь.
Поэтому, если трафика много, есть DWDM — спектральное уплотнение канала. Простыми словами: DWDM позволяет отправлять больше информации по одному волокну. Для этого используется оптоволокно с дальномерными трансиверами на концах каждой связки. Такое оборудование стоит довольно дорого, зато за счет уплотнения можно сильно сэкономить на оптике.
Облачные сервис-провайдеры строят DWDM-системы между своими площадками, чтобы с запасом обеспечить транспорт для всех “растянутых” облачных сервисов. Но и некоторые крупные клиенты могут создать DWDM-решение для собственных нужд.
Внутри DWDM уже заложена отказоустойчивость. Каждый трансивер подключен сразу к двум непересекающимся трассам. Для переключения между ними используется коммутатор L1, в котором установлен датчик света. Если датчик “не видит” света в волокне, то переводит трафик на резервный канал (на самом деле все чуть сложнее, но об этом как-нибудь в следующий раз).
Можно предоставить клиенту темную оптику — свободные волокна, к которым не подключено активное оборудование. Это уже для тех, кто хочет организовать все сам и поставить свое железо. Но тогда клиенту придется самостоятельно позаботиться и о сценариях резервирования сети: не забыть про резервный канал и настроить аварийные переключения на собственном оборудовании.
Поверх транспортной сети также возможны дополнительные услуги: VPN, Anti-DDoS и так далее.
Все эти сценарии помогут за счет ресурсов провайдера обеспечить нужное RTO c практически мгновенным переключением на резерв. Вот по каким признакам можно убедиться, что у сервис-провайдера хорошо организовано резервирование сети между площадками:
На уровне опорной сети связь идет по нескольким трассам непересекающимися маршрутами.
На уровне каждой площадки есть резервирование трасс и оборудования. Например, у нас на OST есть 3 независимых узла связи: по одному кластеру в каждом энергоцентре. На второй площадке NORD независимых кластеров еще больше, все они соединены друг с другом и с узлами дата-центра OST. При падении целого сетевого сегмента нагрузка перераспределяется на другие узлы.
На уровне самих каналов достаточная пропускная способность обеспечивается за счет оборудования Enterprise-уровня. Например, у нас на этом уровне предусмотрено двойное резервирование сети. Что это значит: мы наблюдаем за утилизацией сети на мониторинге и следим, чтобы ее загруженность не превышала 50%. При такой загрузке даже падение половины линков нам не страшно. Как только загрузка начинает регулярно превышать 50%, пора модернизировать сеть. Где-то наращивать линки, где-то менять оборудование на более мощное.
Если нужно соединить с облаком собственную площадку клиента, вопрос стоимости резерва может встать чуть острее. Достраивать оптику до клиента бывает недешево само по себе, а нам вдобавок нужно продумать резервирование этого канала. Здесь уже есть варианты: достроить второй канал, арендовать второй канал у подрядчиков на площадке клиента или обойтись резервом через интернет с учетом его издержек.
Посмотрим, как можно применить сразу несколько вариантов в конкретном проекте.
У одного из крупных клиентов на территории Москвы было 2 офиса с собственными серверными. Изначально инфраструктура не предполагала других площадок.
Но затем произошла авария и компания задумалась о послеаварийном восстановлении за пределами офиса. Резервную инфраструктуру решили разместить в защищенном облаке DataLine Cloud-152. В случае падения виртуальной машины на одной из клиентских площадок резервная ВМ должна мгновенно подниматься в Cloud-152.
До этого проекта реплицировать машины куда-то еще не планировали, поэтому сетевую часть нужно было переделать. При этом из-за финансовых ограничений клиент не мог полностью перестроить всю инфраструктуру. В этих условиях инженеры продумывали резерв на разные случаи отказа: если будет сбой у одного из операторов связи, либо если отключится питание в серверной.
В итоге к офисам компании подключились через 2 канала: один канал арендовали у DataLine, а второй у другого оператора связи. Получилось резервирование сети за счет двух независимых телеком-операторов.
Из-за особенностей клиентской инфраструктуры нужно было минимизировать возможные проблемы единого растянутого L2-домена. Мы посоветовали клиенту разделить домен на два сегмента с его стороны. К нам на площадку NORD приходят оба VLAN'а, и, в случае падения ВМ на одной из основных площадок заказчика, на нашей они поднимутся сразу в нужном IP-сегменте.
В данной схеме есть свои узкие места, но в кейсе клиента она решила задачи с учетом ограниченного бюджета на переделку инфраструктуры.
В следующий раз поговорим, какие риски и особенности могут возникнуть у межпровайдерского георезервирования:
какие есть варианты для связи независимых дата-центров по России;
какие трудности появляются на больших расстояниях и как их преодолеть;
где между телеком-операторами возникают серые зоны, за которые никто не отвечает.