Подключение к VK Cloud через Cloud Direct Connect в отказоустойчивой конфигурации с VRRP
Cloud Direct Connect позволяет организовать соединение между виртуальными сетями VK Cloud и внешней сетевой инфраструктурой (например, вашими локальными сетями), используя отказоустойчивое L3-подключение на основе протокола VRRP. Для этого используется виртуальный IP-адрес сетевого шлюза (VRRP VIP). При отказе активного маршрутизатора трафик, направляемый на VRRP VIP, переводится на резервный маршрутизатор.
Отказоустойчивость L2-подключения обеспечивается физическим дублированием канала связи в двух независимых точках присутствия.
При организации соединения Cloud Direct Connect с VRRP используются:
- два выделенных канала связи Cloud Direct Connect;
- два продвинутых маршрутизатора с динамической маршрутизацией по протоколу BGP;
- VRRP-протокол для создания виртуального IP-адреса в качестве шлюза в сети облака.
Продвинутые маршрутизаторы в этой конфигурации отвечают за интеграцию и обеспечивают связь с удаленной инфраструктурой, а также обслуживают сеть, где размещаются виртуальные машины.
Рассматриваемый вариант подключения предполагает использование трех виртуальных сетей:
- две независимые сети сетевого стыка (Cloud Direct Connect);
- сеть облака, где размещены виртуальные машины и формируется виртуальный IP-адрес шлюза.
Такой вариант предполагает, что каждая из сетей сетевого стыка доводится до своего продвинутого маршрутизатора индивидуально и имеет следующие особенности:
- обмен адресными префиксами между удаленной инфраструктурой и облаком осуществляется с помощью eBGP-протокола;
- обмен адресными префиксами между продвинутыми маршрутизаторами осуществляется с помощью iBGP-протокола.
Все вместе это позволяет сформировать надежную отказоустойчивую сетевую интеграцию облака с внешней инфраструктурой.
Схема организации сетевой связности выглядит следующим образом:
-
Подключитесь к сервису Cloud Direct Connect, если этого еще не сделано.
-
Активируйте доступ по API, если этого еще не сделано.
-
Убедитесь, что клиент OpenStack установлен, и пройдите аутентификацию в проекте.
-
Убедитесь, что на вашем компьютере установлены пакеты curl и jq.
-
Узнайте UUID подключенных сетей сетевого стыка Cloud Direct Connect:
- В личном кабинете перейдите в раздел Виртуальные сети → Сети.
- В списке сетей найдите две сети сетевого стыка с именами вида
external-vni-10XXX. ЗдесьXXX— индивидуальный порядковый номер вашего подключения. - Сохраните UUID этих сетей. В этом примере UUID сетей сетевого стыка:
- первая сеть стыка
external-vni-10XX1—b2b8468e-aaaa-bbbb-cccc-327c8c2670d4; - вторая сеть стыка
external-vni-10XX2—a2b8967e-aaaa-bbbb-cccc-327f9a2670e5.
- первая сеть стыка
-
Определите адресные префиксы (CIDR) подсетей в локальной инфраструктуре, которые будут анонсироваться в облако с использованием BGP-маршрутизации.
-
Убедитесь, что маршрутизаторы локальной инфраструктуры, подключенные к сервису Cloud Direct Connect:
- оповещены об определенных ранее адресных префиксах и могут анонсировать их в сторону облака с использованием BGP-маршрутизации;
- взаимодействуют друг с другом с помощью iBGP-протокола;
- (опционально) поддерживают BFD-протокол: это позволит сократить время восстановления маршрутизации в случае сбоя.
-
Запишите IP-адрес машины в локальной инфраструктуре, которая будет использоваться для проверки связи между сетями.
-
Выберите или создайте виртуальную сеть в вашем проекте в VK Cloud. Сеть не должна быть подключена к маршрутизатору.
Запишите следующую информацию:
- Имя и CIDR подсети.
- IP-адрес, который определен в качестве шлюза по умолчанию, например
172.17.0.1. Этот адрес будет использоваться при настройке VRRP. - Имя сети, в которой находится подсеть.
-
Создайте виртуальную машину в выбранной сети. Запишите присвоенный ей IP-адрес.
-
Убедитесь, что собраны все сведения, необходимые для дальнейшей работы. Далее в качестве примера используются следующие данные:
Объект
Сеть облака
Сеть Cloud Direct Connect
Сеть
vkcloud-netexternal-vni-10XX1,b2b8468e-aaaa-bbbb-cccc-327c8c2670d4;external-vni-10XX2,a2b8967e-aaaa-bbbb-cccc-327f9a2670e5
Подсеть
vkcloud-subnet,172.17.0.0/24Виртуальная машина
vkcloud-vm,172.17.0.8
После выполнения описанных ниже действий итоговая схема организации сетевой связности с учетом адресации должна выглядеть следующим образом:
Здесь:
C.R1(ClientRouter1) — первый BGP-маршрутизатор в локальной инфраструктуре;C.R2(ClientRouter2) — второй BGP-маршрутизатор в локальной инфраструктуре;A.A.A.0/24— первый анонсируемый CIDR из адресного пространства локальных сетей;B.B.B.0/24— второй анонсируемый CIDR из адресного пространства локальных сетей;Adv.R1(AdvancedRouter1) — первый продвинутый маршрутизатор в облаке;Adv.R2(AdvancedRouter2) — второй продвинутый маршрутизатор в облаке;172.17.0.0/24— анонсируемый CIDR из облака.
-
В сеть сетевого стыка Cloud Direct Connect
external-vni-10XX1добавьте подсеть с маской/30. При добавлении переменных окружения укажите параметры:N_CIDR="192.168.0.0/30";N_ID="<UUID_СЕТЕВОГО_СТЫКА_1>".
Запишите имя и CIDR подсети.
В этом примере для сети
external-vni-10XX1:- имя подсети:
dc-subnet1; - CIDR:
192.168.0.0/30; - UUID:
b2b8468e-aaaa-bbbb-cccc-327c8c2670d4.
-
В сеть сетевого стыка Cloud Direct Connect
external-vni-10XX2добавьте подсеть с маской/30. При добавлении переменных окружения укажите параметры:N_CIDR="192.168.1.0/30";N_ID="<UUID_СЕТЕВОГО_СТЫКА_2>".
Запишите имя и CIDR подсети.
В этом примере для сети
external-vni-10XX2:- имя подсети:
dc-subnet2; - CIDR:
192.168.1.0/30; - UUID:
a2b8967e-aaaa-bbbb-cccc-327f9a2670e5.
-
Создайте первый продвинутый маршрутизатор со следующими параметрами:
- Название: в этом примере
AdvancedRouter1; - SNAT: опция выключена.
- Название: в этом примере
-
Создайте второй продвинутый маршрутизатор со следующими параметрами:
- Название: в этом примере
AdvancedRouter2; - SNAT: опция выключена.
- Название: в этом примере
-
Добавьте интерфейс первого продвинутого маршрутизатора, направленный в сеть облака:
- Название:
vkcloud-net-iface1; - Подсеть:
vkcloud-subnet; - IP-адрес интерфейса:
172.17.0.253.
- Название:
-
Добавьте интерфейс первого продвинутого маршрутизатора, направленный в сеть Cloud Direct Connect
external-vni-10XX1:- Название:
dc-iface1; - Подсеть:
dc-subnet1; - IP-адрес интерфейса:
192.168.0.1.
- Название:
-
Добавьте интерфейс второго продвинутого маршрутизатора, направленный в сеть облака:
- Название:
vkcloud-net-iface2; - Подсеть:
vkcloud-subnet; - IP-адрес интерфейса:
172.17.0.254.
- Название:
-
Добавьте интерфейс второго продвинутого маршрутизатора, направленный в сеть Cloud Direct Connect
external-vni-10XX2:- Название:
dc-iface2; - Подсеть:
dc-subnet2; - IP-адрес интерфейса:
192.168.1.1.
- Название:
-
Убедитесь, что интерфейсы маршрутизаторов локальной инфраструктуры (
ClientRouter1,ClientRouter2), подключенных к сервису Cloud Direct Connect, активны. -
Настройте на маршрутизаторах статическую IP-адресацию с использованием свободных IP-адресов из CIDR сетей Cloud Direct Connect.
В этом примере:
192.168.0.2— интерфейс первого маршрутизатора в подсетьdc-subnet1сети стыкаexternal-vni-10XX1;192.168.1.2— интерфейс второго маршрутизатора в подсетьdc-subnet2сети стыкаexternal-vni-10XX2;
-
(Опционально) Если маршрутизатор поддерживает BFD, настройте BFD-протокол.
Чтобы настроить связь по BGP-протоколу, нужно добавить динамические маршруты и указать BGP-соседей. Для настройки динамической маршрутизации используйте приватные номера автономных сетей (ASN) из диапазона 64512–65534. Номера ASN на маршрутизаторах в VK Cloud и на стороне удаленной инфраструктуры должны отличаться. В примере будут использованы следующие номера:
65512для сети локальной инфраструктуры;64512для сети облакаvkcloud-net.
Чтобы настроить динамические маршруты на продвинутом маршрутизаторе через сеть стыка external-vni-10XX1:
-
В личном кабинете перейдите в раздел Виртуальные сети → Маршрутизаторы.
-
Откройте продвинутый маршрутизатор
AdvancedRouter1и перейдите на вкладку Динамическая маршрутизация. -
Нажмите кнопку Создать BGP маршрутизатор.
-
Укажите параметры BGP-маршрутизатора:
- Название:
to-ClientRouter1; - Router ID:
192.168.0.1; - ASN:
64512.
- Название:
-
Нажмите кнопку Создать.
-
Откройте добавленный BGP-маршрутизатор и перейдите на вкладку BGP соседи.
-
Добавьте BGP-соседа. Укажите параметры:
- Название:
ClientRouter1; - Remote neighbor:
192.168.0.2; - Remote ASN:
65512.
- Название:
-
Нажмите кнопку Создать.
-
Убедитесь, что маршрутизатор установил связь с соседом: маркер рядом с названием зеленый. Если вы используете BFD, убедитесь, что маркер BFD также горит зеленым.
Продвинутый маршрутизатор начнет передавать BGP-анонсы своему соседу сразу после успешного согласования BGP-соседства. Перейдите на вкладку BGP анонсы и убедитесь, что маршрутизатор передает анонсы всех сетей, в которые направлены его интерфейсы:
172.17.0.0/24;192.168.0.0/30.
Все анонсы должны иметь зеленые маркеры.
Чтобы настроить связь по BGP-протоколу, нужно добавить динамические маршруты и указать BGP-соседей. Для настройки динамической маршрутизации используйте приватные номера автономных сетей (ASN) из диапазона 64512–65534. Номера ASN на маршрутизаторах в VK Cloud и на стороне удаленной инфраструктуры должны отличаться. В примере будут использованы следующие номера:
65512для локальной сети;64512для сети облакаvkcloud-net.
Чтобы настроить динамические маршруты на продвинутом маршрутизаторе через сеть стыка external-vni-10XX2:
-
В личном кабинете перейдите в раздел Виртуальные сети → Маршрутизаторы.
-
Откройте продвинутый маршрутизатор
AdvancedRouter2и перейдите на вкладку Динамическая маршрутизация. -
Нажмите кнопку Создать BGP маршрутизатор.
-
Укажите параметры BGP-маршрутизатора:
- Название:
to-ClientRouter2; - Router ID:
192.168.1.1; - ASN:
64512.
- Название:
-
Нажмите кнопку Создать.
-
Откройте добавленный BGP-маршрутизатор и перейдите на вкладку BGP соседи.
-
Добавьте BGP-соседа. Укажите параметры:
- Название:
ClientRouter2; - Remote neighbor:
192.168.1.2; - Remote ASN:
65512.
- Название:
-
Нажмите кнопку Создать.
-
Убедитесь, что маршрутизатор установил связь с соседом: маркер рядом с названием зеленый. Если вы используете BFD, убедитесь, что маркер BFD также горит зеленым.
Продвинутый маршрутизатор начнет передавать BGP-анонсы своему соседу сразу после успешного согласования BGP-соседства. Перейдите на вкладку BGP анонсы и убедитесь, что маршрутизатор передает анонсы всех сетей, в которые направлены его интерфейсы:
172.17.0.0/24;192.168.1.0/30.
Все анонсы должны иметь зеленые маркеры.
-
Подключитесь к маршрутизатору в вашей локальной сети.
-
Укажите параметры для подключения по BGP-протоколу через сеть
external-vni-10XX1:-
ASN локальной сети:
65512. -
(Опционально) ID маршрутизатора:
192.168.0.2. -
ASN внешней сети:
64512. -
ID BGP-соседа:
192.168.0.1. -
Использовать BFD — включите опцию, если ранее включили ее для продвинутых маршрутизаторов облачной сети. В случае использования BFD-протокола убедитесь, что BFD-связь установлена.
-
-
Проверьте, что установлена связь с BGP-соседом. Если BGP-соединение установлено, в ответе должны прийти значения
keepalive-timeиuptime, отличные от нуля. -
Просмотрите все доступные BGP-маршруты. В списке маршрутов должны быть указаны сети
172.17.0.0/24и192.168.0.0/30.
-
Подключитесь к маршрутизатору в вашей локальной сети.
-
Укажите параметры для подключения по BGP-протоколу через сеть
external-vni-10XX2:-
ASN локальной сети:
65512. -
(Опционально) ID маршрутизатора:
192.168.1.2. -
ASN внешней сети:
64512. -
ID BGP-соседа:
192.168.1.1. -
Использовать BFD — включите опцию, если ранее включили ее для продвинутых маршрутизаторов облачной сети. В случае использования BFD-протокола убедитесь, что BFD-связь установлена.
-
-
Проверьте, что установлена связь с BGP-соседом. Если BGP-соединение установлено, в ответе должны прийти значения
keepalive-timeиuptime, отличные от нуля. -
Просмотрите все доступные BGP-маршруты. В списке маршрутов должны быть указаны сети
172.17.0.0/24и192.168.0.0/30.
-
В личном кабинете перейдите в раздел Виртуальные сети → Маршрутизаторы.
-
Настройте BGP-соседство для первого продвинутого маршрутизатора:
- Откройте продвинутый маршрутизатор
AdvancedRouter1и перейдите на вкладку Динамическая маршрутизация. - Откройте ранее добавленный BGP-маршрутизатор и перейдите на вкладку BGP соседи.
- Укажите параметры:
- Название: логическое название, которое позволит легко идентифицировать BGP-соседа, в этом примере
to-AdvancedRouter2; - Remote neighbor: IP-адрес BGP-соседа в VK Cloud, в этом примере
172.17.0.254; - Remote ASN: удаленный номер ASN, который использован на маршрутизаторе в VK Cloud, в этом примере
64512.
- Название: логическое название, которое позволит легко идентифицировать BGP-соседа, в этом примере
- Нажмите кнопку Создать.
- Откройте продвинутый маршрутизатор
-
Настройте BGP-соседство для второго продвинутого маршрутизатора:
- Откройте продвинутый маршрутизатор
AdvancedRouter2и перейдите на вкладку Динамическая маршрутизация. - Откройте ранее добавленный BGP-маршрутизатор и перейдите на вкладку BGP соседи.
- Укажите параметры:
- Название: логическое название, которое позволит легко идентифицировать BGP-соседа, в этом примере
to-AdvancedRouter1; - Remote neighbor: IP-адрес BGP-соседа в VK Cloud, в этом примере
172.17.0.253; - Remote ASN: удаленный номер ASN, который использован на маршрутизаторе в VK Cloud, в этом примере
64512.
- Название: логическое название, которое позволит легко идентифицировать BGP-соседа, в этом примере
- Нажмите кнопку Создать.
- Откройте продвинутый маршрутизатор
-
В личном кабинете перейдите в раздел Виртуальные сети → Маршрутизаторы.
-
Перейдите на вкладку VRRP и нажмите кнопку Добавить VRRP группу.
-
Укажите имя VRRP-группы. В этом примере:
vrrp-group. -
Укажите подсеть, для которой будет создан виртуальный IP-адрес.
-
(Опционально) Измените предложенный параметр Advertise timer — интервал, с которым мастер отправляет пакеты объявления VRRP.
-
(Опционально) Добавьте описание VRRP-группы.
-
(Опционально) Измените предложенный параметр Номер группы.
-
Включите VRRP-группу с помощью переключателя.
-
Нажмите кнопку Добавить.
-
Нажмите на название созданной VRRP-группы в списке и перейдите на вкладку Интерфейсы.
-
Добавьте интерфейс для первого маршрутизатора:
- Нажмите кнопку Добавить интерфейс.
- Укажите имя интерфейса, который принадлежит первому маршрутизатору в группе.
- Укажите требуемое состояние:
MasterилиSlave. - (Опционально) Измените значение приоритета в диапазоне от 0 до 255.
- (Опционально) Измените опцию Preempt. При включенной опции маршрутизатор с наивысшим приоритетом всегда будет становиться ведущим.
- Выберите из списка адрес интерфейса, который принадлежит первому маршрутизатору.
- Нажмите кнопку Добавить.
-
Добавьте интерфейс для второго маршрутизатора аналогичным образом.
-
Перейдите на вкладку IP-адреса и нажмите кнопку Добавить виртуальный IP.
-
(Опционально) Укажите имя виртуального IP-адреса.
-
Укажите IP-адрес, который будет использован в качестве виртуального IP-адреса VRRP-группы. Используйте IP-адрес, который был определен в качестве шлюза по умолчанию при создании подсети. В этом примере
172.17.0.1.
Отправьте ping или traceroute из одной сети до машины в подключенной сети. Если из другой сети приходит ответ, то настройка связности сетей выполнена правильно.
Например, выполните пинг с машины 172.17.0.8 в виртуальной сети до машины 10.0.0.5 в локальной сети:
-
Откройте сессию терминала с ВМ
vkcloud-vm. -
Выполните пинг внутреннего IP-адреса машины в локальной сети:
ping 10.0.0.5
IP-адрес должен отвечать на пинг.
Если созданные ресурсы вам больше не нужны, удалите их: