Связать S3 с другими продуктами
Связать S3 с другими продуктами по приватной сети можно только в определенных пулах: в пулах ru-3 и ru-7 — с серверами в России, в пуле uz-2 — с серверами в Узбекистане.
Для связи S3 с другими продуктами по приватной сети используется глобальный роутер.
- Если у вас еще нет глобального роутера, создайте роутер.
- Подключите подсеть другого продукта к глобальному роутеру.
- Создайте стыковочную подсеть для связи S3 с глобальным роутером.
- Пропишите статический маршрут к S3 на серверах в другом продукте.
- Настройте обращение к приватному эндпоинту S3 на серверах в другом продукте.
1. Создать глобальный роутер
- В панели управления в верхнем меню нажмите Продукты и выберите Глобальный роутер.
- Нажмите Создать роутер. Для каждого аккаунта установлен лимит в пять глобальных роутеров.
- Введите имя роутера.
- Нажмите Создать.
- Если роутер создался со статусом
ERRORили завис в одном из статусов, создайте тикет.
2. Подключить подсеть другого продукта к глобальному роутеру
Выделенный сервер
Облачный сервер или кластер Managed Kubernetes
Вы можете подключить к роутеру новую сеть или существующую сеть, если она еще не подключена к любому из глобальных роутеров аккаунта.
-
В панели управления в верхнем меню нажмите Продукты и выберите Глобальный роутер.
-
Откройте страницу роутера → вкладка Сети.
-
Нажмите Создать сеть.
-
Введите имя сети. Оно будет использоваться только в панели управления.
-
Выберите услугу Серверы и оборудование.
-
Выберите локацию сети.
-
Выберите или введите VLAN.
-
Если вы хотите создать сеть до внутреннего сегмента (Q-in-Q), укажите его тег — число от 2 до 4094. Если до VLAN уже есть сеть, обязательно укажите Q-in-Q-сегмент этого VLAN.
-
Введите имя подсети. Оно будет использоваться только в панели управления.
-
Введите CIDR — IP-адрес и маску приватной подсети. Можно ввести новую подсеть либо существующую приватную подсеть сервера, если она еще не добавлена на любой из глобальных роутеров в аккаунте. Подсеть должна соответствовать условиям:
- принадлежать диапазону приватных адресов по RFC 1918:
10.0.0.0/8,172.16.0.0/12или192.168.0.0/16; - иметь размер не меньше
/29, так как три адреса будут заняты сетевым оборудованием Selectel; - не пересекаться с другими подсетями, добавленными на этот роутер, — в подсетях одного роутера не должно быть одинаковых IP-адресов;
- если в сеть глобального роутера будет включен кластер Managed Kubernetes на облачных серверах, подсеть не должна пересекаться с диапазонами
10.10.0.0/16,10.96.0.0/12,10.250.0.0/16и10.251.0.0/24. Если в сеть будет включен кластер на выделенных серверах — с диапазонами10.10.0.0/16,10.222.0.0/16,10.250.0.0/16,10.251.0.0/24и172.250.0.0/14. Эти подсети участвуют во внутренней адресации Managed Kubernetes, их использование может привести к конфликтам в сети глобального роутера.
- принадлежать диапазону приватных адресов по RFC 1918:
-
Введите IP шлюза или оставьте первый адрес из подсети, который назначается по умолчанию. Не назначайте этот адрес на свои устройства, чтобы не нарушить работу сети.
-
Введите служебные IP или оставьте последние адреса из подсети, которые назначаются по умолчанию. Не назначайте эти адреса на свои устройства, чтобы не нарушить работу сети.
-
Нажмите Создать сеть.
-
Опционально: проверьте топологию сети на глобальном роутере. В панели управления в верхнем меню нажмите Продукты → Глобальный роутер → страница роутера → Карта сети.
-
Если на шаге 8 вы указали тег Q-in-Q, нужно включить технологию Q-in-Q на порту коммутатора и настроить сетевой интерфейс приватной сети, которую вы указали на шаге 10. Подробнее в подразделе Настроить Q-in-Q инструкции Q-in-Q.
3. Создать стыковочную подсеть для связи S3 с глобальным роутером
-
Создайте тикет. В тикете укажите:
- ID глобального роутера, можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Глобальный роутер Selectel → страница роутера → под именем роутера скопируйте ID;
- желаемый CIDR подсети размером не менее
/28, которая будет использоваться в качестве стыковочной подсети от глобального роутера до S3. Подсеть должна принадлежать диапазону приватных адресов по RFC 1918:10.0.0.0/8,172.16.0.0/12или192.168.0.0/16. Подсеть не должна пересекаться с другими подсетями, добавленными на этот роутер, — в подсетях одного роутера не должно быть одинаковых IP-адресов; - эндпоинт — приватный IP-адрес с маской
/32, на который будет отправляться трафик в S3. Этот IP-адрес не должен входить в выбранную стыковочную подсеть.
-
Дождитесь ответа сотрудника Selectel о том, что связность от S3 до глобального роутера организована. Созданная стыковочная сеть не будет отображаться в глобальном роутере в панели управления. Если вам нужно изменить настройки связности на стороне S3, создайте тикет.
4. Прописать статические маршруты к S3
На каждом сервере, который вы связываете с S3, нужно прописать статический маршрут в стыковочную подсеть через глобальный роутер.
Если глобальный роутер используется на серверах в качестве шлюза по умолчанию, то маршруты прописывать не нужно.
Если нет, на серверах, которые нужно связать с S3, пропишите статический маршрут:
- в качестве подсети назначения укажите CIDR стыковочной подсети, которую указали в тикете на этапе 3;
- в качестве шлюза укажите адрес из подсети, в которую добавлен соответствующий сервер и который используется как шлюз глобального роутера.
Выделенный сервер, облако на базе VMware
Облачная платформа
Ubuntu
Debian
CentOS
Windows
-
Откройте файл конфигурации сети:
vi /etc/netplan/01-netcfg.yaml -
В конце блока с данными нужного сетевого интерфейса добавьте маршрут:
routes:- to: <ip_address>/<mask>via: <gateway>Укажите:
<ip_address>/<mask>— подсеть, до которой нужен маршрут, с указанием маски, например192.168.0.0/28;<gateway>— шлюз для подсети текущего сервера, который указан на глобальном роутере.
-
Если вам нужно прописать несколько маршрутов, добавьте их последовательно в том же блоке, например:
routes:- to: 192.168.0.0/28via: 172.16.0.1- to: 192.168.1.0/28via: 172.16.0.1 -
Сохраните файл.
-
Проверьте настройки:
sudo netplan try -
Примените изменения:
netplan apply
5. Настроить обращение к приватному эндпоинту S3 на серверах в другом продукте
По умолчанию обращение к S3 происходит по публичному домену. Если запрос поступает на приватный IP-адрес, то в ответе будет возвращаться ошибка о несовпадении сертификата.
Чтобы избежать ошибки, необходимо задать соответствие приватного IP-адреса, который вы указали в качестве эндпоинта на этапе 3, и домена S3 API в нужном пуле (ru-3, ru-7 или uz-2).
Настройка зависит от того, есть ли в вашей инфраструктуре собственный DNS-рекурсор.
Есть свой DNS-рекурсор
Нет своего DNS-рекурсора
Добавьте на рекурсоре A-записи:
storage.selcloud.ru. IN A <endpoint_ip_address>
<s3_domain>. IN A <endpoint_ip_address>
Укажите:
<endpoint_ip_address>— приватный IP-адрес эндпоинта, который вы указали при создании стыковочной подсети на этапе 3;<s3_domain>— домен S3 API в нужном пуле (ru-3, ru-7 или uz-2). Если вы настраиваете связность для S3 в нескольких пулах, укажите каждый в отдельной записи.