Организация сетевой связности между несколькими виртуальными сетями с помощью VPC Stitching
Важно
Функция доступна только при подключенной услуге Cloud Interconnect с объемом трафика не менее 300 ТБ.
С помощью VPC Stitching вы можете организовать IP-связность между двумя и более облачными сетями Virtual Private Cloud, которые находятся в разных каталогах или облаках.
Внимание
VPC Stitching можно настроить только для облачных сетей, принадлежащих облакам в составе одной организации. Связность между сетями из разных организаций не поддерживается.
Схема решения:
В этом руководстве используется следующая конфигурация:
- облачная сеть
Net-1с несколькими подсетями; - облачная сеть
Net-2с несколькими подсетями; - приватное соединение
vpc-stitching, через которое замыкается трафик между облачными сетями; - виртуальный маршрутизатор
ri-1, в который добавлены приватное соединение, облачные сети и IP-префиксы их подсетей; - склеивающие анонсы, объединяющие IP-префиксы подсетей каждой облачной сети.
Важно
Для VPC Stitching не предоставляется SLA. Объем переданного через VPC Stitching трафика нельзя отслеживать средствами мониторинга. Передача данных сверх емкости транкового подключения возможна, но не гарантируется.
Чтобы настроить VPC Stitching:
- Создайте транковое подключение, если у вас еще нет подходящего подключения Cloud Interconnect.
- Создайте приватное соединение.
- Создайте виртуальный маршрутизатор.
- Обратитесь в поддержку для включения VPC Stitching.
- Добавьте облачные сети и IP-префиксы в виртуальный маршрутизатор.
- Добавьте склеивающие анонсы в приватное соединение.
- Проверьте сетевую связность.
Перед началом работы
Убедитесь, что:
- облачные сети, между которыми нужно настроить связность, принадлежат облакам в одной организации;
- IP-префиксы подсетей этих сетей не пересекаются;
- у вас есть роли cic.editor и cloud-router.editor в каталогах с ресурсами Cloud Interconnect и Cloud Router соответственно;
- если вы будете использовать Yandex Cloud CLI, он установлен и настроен.
Для VPC Stitching необходимы:
- транковое подключение с объемом данных не менее 300 ТБ, что соответствует емкости 1 Гбит/с;
- приватное соединение, созданное в этом транковом подключении со специальными параметрами VPC Stitching;
- виртуальный маршрутизатор, в который добавлены приватное соединение и облачные сети.
Если у вас уже есть транковое подключение с объемом данных не менее 300 ТБ, перейдите к созданию приватного соединения. Если объем данных меньше 300 ТБ, измените емкость подключения и дождитесь подтверждения поддержки.
Если приватное соединение и виртуальный маршрутизатор с требуемыми параметрами уже созданы, а поддержка подтвердила включение VPC Stitching, перейдите к настройке IP-префиксов.
Создайте транковое подключение
Создайте обращение в поддержку
Используйте следующий шаблон обращения:
Тема: [CIC] Создание нового транка для включения VPC Stitching.
Текст обращения:
Прошу создать в каталоге <идентификатор_каталога> новое транковое
подключение Cloud Interconnect для VPC Stitching с объемом данных 300 ТБ.
Дождитесь подтверждения поддержки. После создания подключения получите его идентификатор — он понадобится при создании приватного соединения.
Создайте приватное соединение
Создайте приватное соединение со следующими параметрами:
|
Параметр |
Значение |
|
Имя |
|
|
VLAN ID |
|
|
Подсеть для BGP-пиринга |
|
|
IP-адрес на оборудовании клиента |
|
|
IP-адрес на оборудовании Yandex Cloud |
|
|
Номер BGP ASN на оборудовании клиента |
|
-
В консоли управления
выберите каталог, в котором находится транковое подключение. -
Перейдите
в сервис Cloud Interconnect. -
На панели слева выберите
Приватные соединения и нажмите Создать приватное соединение. -
В открывшемся окне:
- В поле Идентификатор транкового подключения выберите созданное ранее транковое подключение.
- В поле VLAN ID укажите
4095. - В поле Стыковая подсеть укажите
172.31.255.0/30. - В поле Peer IP укажите
172.31.255.1. - В поле Cloud IP укажите
172.31.255.2. - В поле BGP ASN укажите
65534. - В блоке Общая информация в поле Имя укажите
vpc-stitching. - Нажмите Создать.
-
Получите идентификатор созданного приватного соединения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для создания приватного соединения:
yc cic private-connection create --help -
Создайте приватное соединение:
yc cic private-connection create \ --name vpc-stitching \ --trunk-id <идентификатор_транкового_подключения> \ --vlan-id 4095 \ --ipv4-peering 'peering-subnet=172.31.255.0/30,peer-ip=172.31.255.1,cloud-ip=172.31.255.2,peer-bgp-asn=65534' \ --asyncГде:
--name— имя приватного соединения;--trunk-id— идентификатор транкового подключения;--vlan-id— идентификатор VLAN приватного соединения;--ipv4-peering— параметры BGP-пиринга в форматеключ=значение, разделенные запятыми;--async— необязательный параметр для асинхронного выполнения операции.
-
Дождитесь завершения операции и получите информацию о приватном соединении:
yc cic private-connection get --name vpc-stitchingСохраните значение поля
id— идентификатор понадобится на следующих шагах.
Создайте виртуальный маршрутизатор
Создайте виртуальный маршрутизатор ri-1 и добавьте в него приватное соединение vpc-stitching.
- В консоли управления
выберите каталог, в котором хотите создать виртуальный маршрутизатор. - Перейдите
в сервис Cloud Router. - Нажмите Создать виртуальный маршрутизатор.
- Введите имя виртуального маршрутизатора
ri-1. - В поле Приватные соединения выберите соединение
vpc-stitchingили укажите его идентификатор. - Нажмите Создать.
- Получите идентификатор созданного виртуального маршрутизатора.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для создания виртуального маршрутизатора:
yc cloudrouter routing-instance create --help -
Создайте виртуальный маршрутизатор и добавьте в него приватное соединение:
yc cloudrouter routing-instance create \ --name ri-1 \ --folder-id <идентификатор_каталога> \ --cic-prc <идентификатор_приватного_соединения> \ --asyncГде:
--name— имя виртуального маршрутизатора;--folder-id— идентификатор каталога, в котором создается виртуальный маршрутизатор;--cic-prc— идентификатор приватного соединенияvpc-stitching;--async— необязательный параметр для асинхронного выполнения операции.
-
Дождитесь завершения операции и получите информацию о виртуальном маршрутизаторе:
yc cloudrouter routing-instance get --name ri-1Сохраните значение поля
id.
Обратитесь в поддержку для включения VPC Stitching
Создайте обращение в поддержку
Используйте следующий шаблон обращения:
Тема: [CloudRouter] Включение VPC Stitching.
Текст обращения:
Прошу включить VPC Stitching:
* идентификатор приватного соединения (prc-id):
bd6g2**********7c8sv (vpc-stitching);
* идентификатор виртуального маршрутизатора (ri-id):
fokrf**********ml058 (ri-1).
Дождитесь подтверждения поддержки о включении VPC Stitching, прежде чем продолжить настройку.
Добавьте облачные сети и IP-префиксы
Добавьте в виртуальный маршрутизатор сети Net-1 и Net-2 и настройте IP-префиксы подсетей.
Для облачных сетей используются следующие имена подсетей и IP-префиксы:
-
Net-1(enpcfncr6uld********):-
зона
ru-central1-a:subnet-a1—10.10.12.0/24;subnet-a2—10.10.13.0/24;
-
зона
ru-central1-b:subnet-b1—10.10.16.0/24;subnet-b2—10.10.17.0/24;
-
зона
ru-central1-d:subnet-d1—10.10.20.0/24;subnet-d2—10.10.21.0/24;
-
-
Net-2(enpt8ok6snlp********):-
зона
ru-central1-a:subnet-a3—172.16.11.0/24;subnet-a4—172.16.25.0/24;
-
зона
ru-central1-b:subnet-b3—172.18.28.0/24;subnet-b4—172.18.30.0/24;
-
зона
ru-central1-d:subnet-d3—10.10.42.0/24;subnet-d4—10.10.69.0/24.
-
- В консоли управления
выберите каталог, в котором находится виртуальный маршрутизаторri-1. - Перейдите
в сервис Cloud Router. - В строке с виртуальным маршрутизатором
ri-1нажмите значок и выберите Редактировать. - В блоке Маршрутизируемые сети и префиксы выберите сети
Net-1иNet-2. - В появившихся блоках с сетями выберите подсети по именам и добавьте их IP-префиксы для соответствующих зон доступности, используя значения из списка выше.
- Нажмите Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для управления сетями и IP-префиксами виртуального маршрутизатора:
yc cloudrouter routing-instance update-networks --help -
Добавьте сети
Net-1иNet-2и IP-префиксы их подсетей:yc cloudrouter routing-instance update-networks \ <идентификатор_виртуального_маршрутизатора> \ --add-vpc-net 'id=enpcfncr6uld********,zone=ru-central1-a,ipv4-prefixes=[10.10.12.0/24,10.10.13.0/24]' \ --add-vpc-net 'id=enpcfncr6uld********,zone=ru-central1-b,ipv4-prefixes=[10.10.16.0/24,10.10.17.0/24]' \ --add-vpc-net 'id=enpcfncr6uld********,zone=ru-central1-d,ipv4-prefixes=[10.10.20.0/24,10.10.21.0/24]' \ --add-vpc-net 'id=enpt8ok6snlp********,zone=ru-central1-a,ipv4-prefixes=[172.16.11.0/24,172.16.25.0/24]' \ --add-vpc-net 'id=enpt8ok6snlp********,zone=ru-central1-b,ipv4-prefixes=[172.18.28.0/24,172.18.30.0/24]' \ --add-vpc-net 'id=enpt8ok6snlp********,zone=ru-central1-d,ipv4-prefixes=[10.10.42.0/24,10.10.69.0/24]' \ --asyncЗначение каждого параметра
--add-vpc-netзадается в форматеid=<идентификатор_сети>,zone=<зона_доступности>,ipv4-prefixes=[<CIDR>,...].Если сеть уже добавлена в виртуальный маршрутизатор, используйте параметр
--update-vpc-netвместо--add-vpc-net. -
Дождитесь завершения операции и проверьте конфигурацию виртуального маршрутизатора:
yc cloudrouter routing-instance get \ <идентификатор_виртуального_маршрутизатора>В блоке
vpc_infoдолжны отображаться обе сети и все настроенные IP-префиксы.
Добавьте склеивающие анонсы
Добавьте в приватное соединение агрегированные IP-префиксы, которые будут использоваться как склеивающие анонсы:
-
для сети
Net-1:-
10.10.12.0/23; -
10.10.16.0/23; -
10.10.20.0/23;
-
-
для сети
Net-2:-
172.16.10.0/23; -
172.16.24.0/23; -
172.18.28.0/22; -
10.10.42.0/23; -
10.10.68.0/23.
-
Важно
Не используйте в качестве склеивающих анонсов IP-префиксы самих подсетей. Каждый склеивающий анонс должен быть агрегированным префиксом, включающим соответствующие префиксы подсетей.
- В консоли управления
выберите каталог, в котором находится приватное соединениеvpc-stitching. - Перейдите
в сервис Cloud Interconnect. - На панели слева выберите
Приватные соединения. - В строке с соединением
vpc-stitchingнажмите значок и выберите Редактировать. - В поле IPv4 StaticRoute prefix добавьте все склеивающие анонсы из списка выше. Чтобы добавить очередной префикс, нажмите Добавить префикс.
- Нажмите Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для добавления статических маршрутов в приватное соединение:
yc cic private-connection upsert-static-routes --help -
Добавьте склеивающие анонсы:
yc cic private-connection upsert-static-routes \ <идентификатор_приватного_соединения> \ --ipv4-static-routes "10.10.12.0/23,10.10.16.0/23,10.10.20.0/23,172.16.10.0/23,172.16.24.0/23,172.18.28.0/22,10.10.42.0/23,10.10.68.0/23" \ --asyncПервый позиционный аргумент — идентификатор или имя приватного соединения. В параметре
--ipv4-static-routesпередайте склеивающие анонсы в формате CIDR, разделив их запятыми без пробелов. Параметр--asyncнеобязательный. -
Дождитесь завершения операции и проверьте конфигурацию приватного соединения:
yc cic private-connection get \ <идентификатор_приватного_соединения>В поле
ipv4_static_routesдолжны отображаться все добавленные префиксы.
Проверьте сетевую связность
Перед проверкой убедитесь, что:
- в каждой из связываемых сетей есть запущенный ресурс с IP-адресом из настроенного префикса;
- группы безопасности и локальные файрволы ресурсов разрешают ICMP-трафик между сетями;
- виртуальный маршрутизатор находится в состоянии
ACTIVE; - в его конфигурации отображаются сети
Net-1,Net-2, их IP-префиксы и приватное соединениеvpc-stitching.
-
Подключитесь к ресурсу в сети
Net-1и выполните команду:ping -c 5 <внутренний_IP-адрес_ресурса_в_Net-2> -
Подключитесь к ресурсу в сети
Net-2и выполните команду:ping -c 5 <внутренний_IP-адрес_ресурса_в_Net-1>
Если пакеты передаются в обоих направлениях, сетевая связность настроена. Сообщите о результатах проверки в обращении, созданном для включения VPC Stitching.
Если связность отсутствует, проверьте IP-префиксы и склеивающие анонсы, правила групп безопасности и локальных файрволов. Если самостоятельно устранить проблему не удалось, сообщите результаты проверки в обращении в поддержку.