Настройте безопасную сетевую конфигурацию
- Зарезервируйте два статических публичных IP-адреса
- Создайте ВМ для сервиса во всех зонах доступности
- Создайте IPSec-инстанс для удаленного доступа
- Настройте маршрутизацию для VPN
- Создайте и настройте группы безопасности
- Назначьте группы безопасности ВМ
- Создайте сетевой балансировщик
- Проверьте работоспособность инфраструктуры
- Удалите созданные ресурсы
Зарезервируйте два статических публичных IP-адреса
Для работы интернет-сервиса потребуются два статических публичных IP-адреса: один будет назначен VPN-шлюзу, а другой — сетевому балансировщику.
- В консоли управления
откройте сервис Virtual Private Cloud в каталоге, где требуется зарезервировать IP-адреса. - Откройте вкладку IP-адреса. Нажмите кнопку Зарезервировать адрес.
- В открывшемся окне выберите зону доступности
ru-central1-b. Нажмите кнопку Зарезервировать. - Снова нажмите Зарезервировать адрес.
- В открывшемся окне выберите зону доступности
ru-central1-a. Нажмите кнопку Зарезервировать.
Создайте ВМ для сервиса во всех зонах доступности
-
В консоли управления
откройте ваш каталог и нажмите кнопку Создать ресурс. Выберите пунктВиртуальная машина. -
В блоке Образ загрузочного диска перейдите на вкладку Marketplace, нажмите кнопку Показать все продукты Marketplace и выберите образ Drupal.
-
В блоке Расположение выберите зону доступности
ru-central1-a. -
В блоке Сетевые настройки укажите:
- Подсеть —
subnet-a. - Публичный IP-адрес —
Без адреса.
- Подсеть —
-
В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа к ВМ:
-
В поле Логин введите имя пользователя.
Внимание
Не используйте логин
rootили другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте командуsudo. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
-
Нажмите кнопку Добавить ключ.
-
Задайте имя SSH-ключа.
-
Выберите вариант:
-
Ввести вручную— вставьте содержимое открытого SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно. -
Загрузить из файла— загрузите открытую часть SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно. -
Сгенерировать ключ— автоматическое создание пары SSH-ключей.При добавлении сгенерированного SSH-ключа будет создан и загружен архив с парой ключей. В ОС на базе Linux или macOS распакуйте архив в папку
/home/<имя_пользователя>/.ssh. В ОС Windows распакуйте архив в папкуC:\Users\<имя_пользователя>/.ssh. Дополнительно вводить открытый ключ в консоли управления не требуется.
-
-
Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.
-
-
-
В блоке Общая информация задайте имя виртуальной машины:
web-node-a. -
Нажмите кнопку Создать ВМ.
-
Повторите операции для ВМ
web-node-bиweb-node-d. Создайте их в зонахru-central1-bиru-central1-d, и подключите к подсетямsubnet-bиsubnet-dсоответственно.
Создайте IPSec-инстанс для удаленного доступа
Для организации защищенного доступа к вашим ресурсам создайте IPSec-инстанс.
-
В консоли управления
откройте ваш каталог и нажмите кнопку Создать ресурс. Выберите пунктВиртуальная машина. -
В блоке Образ загрузочного диска перейдите на вкладку Marketplace, нажмите кнопку Показать все продукты Marketplace и выберите образ IPSec-инстанс.
-
В блоке Расположение выберите зону доступности
ru-central1-a. -
В блоке Сетевые настройки:
- В поле Подсеть выберите подсеть
subnet-a. - В поле Публичный IP-адрес выберите
Списоки выберите из списка зарезервированный IP-адрес.
- В поле Подсеть выберите подсеть
-
В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа к ВМ:
-
В поле Логин введите имя пользователя.
Внимание
Не используйте логин
rootили другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте командуsudo. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
-
Нажмите кнопку Добавить ключ.
-
Задайте имя SSH-ключа.
-
Выберите вариант:
-
Ввести вручную— вставьте содержимое открытого SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно. -
Загрузить из файла— загрузите открытую часть SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно. -
Сгенерировать ключ— автоматическое создание пары SSH-ключей.При добавлении сгенерированного SSH-ключа будет создан и загружен архив с парой ключей. В ОС на базе Linux или macOS распакуйте архив в папку
/home/<имя_пользователя>/.ssh. В ОС Windows распакуйте архив в папкуC:\Users\<имя_пользователя>/.ssh. Дополнительно вводить открытый ключ в консоли управления не требуется.
-
-
Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.
-
-
-
В блоке Общая информация задайте имя виртуальной машины:
vpc. -
Нажмите кнопку Создать ВМ.
Настройте маршрутизацию для VPN
Настройте маршрутизацию между удаленной сетью и IPSec-инстансом. В примере будет использоваться подсеть 192.168.0.0/24.
Создайте таблицу маршрутизации
Создайте таблицу маршрутизации и добавьте в нее статические маршруты:
- В консоли управления
откройте раздел Virtual Private Cloud в каталоге, где требуется настроить маршрутизацию. - Выберите сеть, в которой требуется создать таблицу маршрутизации.
- На панели слева выберите
Таблицы маршрутизации. - Нажмите кнопку Создать.
- Задайте имя таблицы маршрутизации:
vpn-route. - Нажмите кнопку Добавить маршрут.
- В открывшемся окне введите префикс подсети назначения на удаленной площадке, в примере это
192.168.0.0/24. - В поле Next hop укажите внутренний IP-адрес IPSec-шлюза. Нажмите кнопку Добавить.
- Нажмите кнопку Создать таблицу маршрутизации.
Привяжите таблицу маршрутизации ко всем подсетям
Чтобы использовать статические маршруты, необходимо привязать таблицу маршрутизации к подсети. Для этого:
- В консоли управления
откройте сервис Virtual Private Cloud в каталоге, где требуется настроить маршрутизацию. - Выберите сеть, в которой находятся подсети, которым нужно назначить таблицу маршрутизации.
- В строке нужной подсети нажмите кнопку
. - В открывшемся меню выберите пункт Привязать таблицу маршрутизации.
- В открывшемся окне выберите созданную таблицу в списке.
- Нажмите кнопку Привязать.
- Привяжите таблицу маршрутизации
vpn-routeко всем трем подсетям.
Создайте и настройте группы безопасности
Чтобы разделить трафик между сегментами сети, необходимо создать группы безопасности и настроить в них правила приема и отправки трафика.
Создайте группу безопасности для VPN
Для работы VPN необходимо разрешить прием и передачу трафика на UDP-порты 500 и 4500 из внешней сети — это необходимо для работы IPSec-туннеля. Также необходимо разрешить передачу трафика между подсетями вашей виртуальной сети и сетью на удаленной площадке.
- В консоли управления
откройте сервис Virtual Private Cloud в каталоге, где требуется создать группу безопасности. - На панели слева выберите
Группы безопасности. - Нажмите кнопку Создать группу безопасности.
- Введите имя группы безопасности —
vpn-sg. - В поле Сеть выберите сеть, к которой будет относиться группа безопасности.
- В блоке Правила создайте правила для управления трафиком:
- Выберите вкладку Исходящий трафик.
- Нажмите кнопку Добавить правило.
- В открывшемся окне в поле Диапазон портов укажите порт:
500. - В поле Протокол выберите
UDP. - В поле Назначение укажите публичный адрес удаленного VPN-концентратора с маской
32.
- Нажмите кнопку Сохранить.
- Нажмите кнопку Добавить правило.
- В открывшемся окне в поле Диапазон портов укажите порт:
4500. - В поле Протокол выберите
UDP. - В поле Назначение укажите публичный адрес удаленного VPN-концентратора с маской
32.
- В открывшемся окне в поле Диапазон портов укажите порт:
- Нажмите кнопку Сохранить.
- Настройте правила, разрешающие передачу трафика между веб-серверами и машинами на удаленной площадке. Нажмите кнопку Добавить правило.
- В открывшемся окне в поле Диапазон портов нажмите кнопку Выбрать весь диапазон.
- В поле Протокол выберите
Любой. - В поле Назначение укажите CIDR внутренней сети —
10.0.0.0/8. - Нажмите кнопку Добавить CIDR и укажите CIDR удаленной площадки —
192.168.0.0/24.
- Создайте такие же правила для входящего трафика.
Создайте группу безопасности для ВМ интернет-сервиса
Создайте группу безопасности web-service-sg и настройте правила для трафика.
Правила для исходящего трафика
Разрешите исходящие соединения к другим машинам из группы безопасности:
- Протокол:
Любой; - Назначение:
Группа безопасности; - Группа безопасности:
Текущая.
Правила для входящего трафика
Разрешите следующие входящие соединения:
- HTTP-соединения от нескольких тестовых несуществующих IP-адресов:
- Протокол:
TCP, - Диапазон портов:
80, - CIDR:
1.1.1.1/32,85.32.45.45/32.
- Протокол:
- HTTPS-соединения от нескольких тестовых несуществующих IP-адресов:
- Протокол:
TCP, - Диапазон портов:
443, - CIDR:
1.1.1.1/32,85.32.45.45/32.
- Протокол:
- TCP-соединения для доступа по SSH:
- Протокол:
TCP, - Диапазон портов:
22, - CIDR:
0.0.0.0/0.
- Протокол:
- Соединения от других машин из группы безопасности:
- Протокол:
Любой, - Назначение
Группа безопасности, - Группа безопасности:
Текущая.
- Протокол:
- Проверки состояния от сетевого балансировщика:
- Протокол:
Любой, - Диапазон портов:
80, - CIDR:
198.18.235.0/24и198.18.248.0/24.
- Протокол:
Назначьте группы безопасности ВМ
Чтобы правила групп безопасности начали действовать, группы необходимо назначить сетевым интерфейсам ВМ.
- В консоли управления
откройте сервис Compute Cloud. - Выберите виртуальную машину
vpn. - В блоке Сеть нажмите значок
и выберите Изменить. - В открывшемся окне в поле Группы безопасности выберите группу безопасности
vpn-sg. - Нажмите кнопку Сохранить.
- Повторите шаги и назначьте группу безопасности
web-service-sgвиртуальным машинамweb-node-a,web-node-bиweb-node-d.
Создайте сетевой балансировщик
Сетевой балансировщик будет распределять входящий трафик интернет-сервиса по ВМ, объединенным в целевую группу.
Чтобы создать сетевой балансировщик:
- В консоли управления
откройте сервис Network Load Balancer в каталоге, где требуется создать балансировщик. - Нажмите кнопку Создать сетевой балансировщик.
- Задайте имя балансировщика:
web-service-lb. - В поле Публичный адрес выберите
Списоки укажите публичный статический адрес. - В блоке Обработчики нажмите кнопку Добавить обработчик.
- В открывшемся окне введите имя обработчика и укажите порт
80в полях Порт и Целевой порт. Нажмите кнопку Добавить. - В блоке Целевые группы нажмите Добавить целевую группу.
- В поле Целевая группа нажмите на список и нажмите Создать целевую группу.
- В открывшемся окне задайте имя целевой группы:
web-tg. - Выберите виртуальные машины
web-node-a,web-node-bиweb-node-d. - Нажмите кнопку Создать.
- Выберите созданную целевую группу из списка.
- Нажмите кнопку Создать.
Проверьте работоспособность инфраструктуры
Проверьте работоспособность инфраструктуры и убедитесь, что трафик к ВМ интернет-сервиса поступает только от разрешенных правилами адресов:
- Выполните на вашем компьютере команду
curl <Публичный IP-адрес сетевого балансировщика>. Убедитесь, что ответ не поступил. - Создайте группу безопасности
web-service-test-sgбез правил и назначьте ее ВМweb-node-a,web-node-bиweb-node-d. - Создайте в группе безопасности
web-service-test-sgследующее правило для входящего трафика:- Протокол:
TCP, - Диапазон портов:
80, - CIDR:
<IP-адрес вашего компьютера>/32.
- Протокол:
- Снова выполните на вашем компьютере команду
curl <Публичный IP-адрес сетевого балансировщика>. Убедитесь, что в качестве ответа вернулся HTML-код стартовой страницы Drupal. - Удалите тестовую группу.
Удалите созданные ресурсы
Чтобы перестать платить за развернутые ресурсы, удалите созданные виртуальные машины и балансировщик:
vpn;web-node-a;web-node-b;web-node-d;web-service-lb.
Освободите и удалите зарезервированные статические публичные IP-адреса.