[Документация Yandex Cloud](../../index.md) > [Yandex Virtual Private Cloud](../index.md) > [Практические руководства](index.md) > Настройка сетевых ресурсов и взаимодействие между ними > Архитектура и защита базового интернет-сервиса

# Архитектура и защита базового интернет-сервиса


{% note info %}

В [регионе Казахстан](../../overview/concepts/region.md) доступна только [зона доступности](../../overview/concepts/geo-scope.md) `kz1-a`.

{% endnote %}


В этом руководстве вы развернете и настроите инфраструктуру базового интернет-сервиса с несколькими виртуальными машинами. Подключение к инфраструктуре будет выполняться с удаленной площадки. Доступ к ВМ будет ограничен с помощью [групп безопасности](../concepts/security-groups.md). Нагрузка по серверам с веб-приложениями будет распределяться [сетевым балансировщиком](../../network-load-balancer/concepts/index.md). 

Схема организации сетевого взаимодействия удаленной площадки и базового интернет-сервиса:

![image](../../_assets/tutorials/web-service.svg)

Удаленная площадка:

* Сеть `remote-net` с подсетью `subnet-1` (`10.129.0.0/24`).
* Тестовая ВМ — `vm-1` на базе Linux Ubuntu в подсети `subnet-1`. С помощью этой ВМ проверяется работоспособность инфраструктуры облачной площадки.

{% note info %}

В качестве удаленной площадки вы также можете использовать свой персональный компьютер. Для этого вам необходимо знать CIDR подсети локального компьютера и внешний IP-адрес, который он использует для выхода в интернет.

{% endnote %}

Облачная площадка:

* Сеть `network` с подсетями `subnet-a` (`192.168.5.0/24`), `subnet-b` (`192.168.15.0/24`) и `subnet-d` (`192.168.25.0/24`).
* IPsec-инстанс (шлюз) `vpn` в подсети `subnet-a`. Основная задача IPsec-шлюза — организация IPsec-соединения с удаленной площадкой и обеспечение сетевого взаимодействия между облачными ВМ.
* Таблица маршрутизации со статическим маршрутом `vpn-route` обеспечивает передачу трафика из подсети `subnet-1` удаленной площадки к ВМ облачной площадки через основной IPsec-шлюз.
* ВМ базового интернет-сервиса `web-node-a`, `web-node-b` и `web-node-d` на базе Drupal в подсетях `subnet-a`, `subnet-b` и `subnet-d` соответственно.
* Группа безопасности `vpn-sg` используется на ВМ `vpn` для управления трафиком IPSec-туннеля. Группа безопасности `web-service-sg` обеспечивает передачу трафика между ВМ `web-node-a`, `web-node-b` и `web-node-d`. 
* Сетевой балансировщик `web-service-lb` распределяет входящий трафик между ВМ `web-node-a`, `web-node-b` и `web-node-d`.

Чтобы создать инфраструктуру для интернет-сервиса:

1. [Подготовьте облако к работе](#before-begin).
1. [Настройте удаленную площадку](#remote-setup).
1. [Настройте облачную площадку](#cloud-setup).
1. [Проверьте работоспособность инфраструктуры](#test).

Если инфраструктура вам больше не нужна, [удалите](#clear-out) созданные ресурсы.

## Подготовьте облако к работе {#before-begin}

Зарегистрируйтесь в Yandex Cloud и создайте [платежный аккаунт](../../billing/concepts/billing-account.md):
1. Перейдите в [консоль управления](https://kz.console.yandex.cloud), затем войдите в Yandex Cloud или зарегистрируйтесь.
1. На странице **[Yandex Cloud Billing](https://kz.console.yandex.cloud/billing)** убедитесь, что у вас подключен платежный аккаунт, и он находится в [статусе](../../billing/concepts/billing-account-statuses.md) `ACTIVE` или `TRIAL_ACTIVE`. Если платежного аккаунта нет, [создайте его](../../billing/quickstart/index.md) и [привяжите](../../billing/operations/pin-cloud.md) к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать [каталог](../../resource-manager/concepts/resources-hierarchy.md#folder), в котором будет работать ваша инфраструктура, на [странице облака](https://kz.console.yandex.cloud/cloud).

[Подробнее об облаках и каталогах](../../resource-manager/concepts/resources-hierarchy.md).

### Необходимые платные ресурсы {#paid-resources}

В стоимость поддержки создаваемой инфраструктуры входят:

* плата за постоянно запущенные виртуальные машины ([тарифы Yandex Compute Cloud](../../compute/pricing.md));
* плата за использование публичных статических IP-адресов ([тарифы Yandex Virtual Private Cloud](../pricing.md));
* плата за использование сетевого балансировщика ([тарифы Yandex Network Load Balancer](../../network-load-balancer/pricing.md)).

## Настройте удаленную площадку {#remote-setup}

На этом этапе вы создадите и настроите инфраструктуру удаленной площадки. В нее войдут сеть, подсеть и виртуальная машина, с которой будет осуществляться доступ к инфраструктуре базового интернет-сервиса.

{% note info %}

В качестве удаленной площадки вы можете использовать свой персональный компьютер. Для этого узнайте CIDR подсети этого компьютера и внешний IP-адрес, который он использует для выхода в интернет.

Если в качестве удаленной площадки вы будете использовать свой персональный компьютер, пропустите этот раздел и переходите к разделу [Настройте облачную площадку](#cloud-setup).

{% endnote %}

### Создайте сеть и подсеть {#remote-net}

1. [Создайте сеть](../operations/network-create.md) `remote-net`. При создании сети отключите опцию **Создать подсети**.
1. [Создайте подсеть](../operations/subnet-create.md) для тестовой ВМ на удаленной площадке со следующими параметрами:

    * **Имя** — `subnet-1`.
    * **Зона доступности** — `kz1-b`.
    * **Сеть** — `remote-net`.
    * **CIDR** — `10.129.0.0/24`.

### Создайте тестовую ВМ {#remote-test-vm}

Создайте ВМ, которая будет использоваться для подключения извне к инфраструктуре базового интернет-сервиса.

{% list tabs group=instructions %}

- Консоль управления {#console}

    1. В [консоли управления](https://kz.console.yandex.cloud) выберите [каталог](../../resource-manager/concepts/resources-hierarchy.md#folder), в котором будет создана ВМ.
    1. Перейдите в сервис **Compute Cloud**.
    1. На панели слева выберите ![image](../../_assets/console-icons/server.svg) **Виртуальные машины**.
    1. Нажмите кнопку **Создать виртуальную машину**.
    1. В блоке **Образ загрузочного диска** выберите образ операционной системы [Ubuntu 22.04 LTS OS Login](https://yandex.cloud/ru-kz/marketplace/products/yc/ubuntu-2204-lts-oslogin).
    1. В блоке **Расположение** выберите [зону доступности](../../overview/concepts/geo-scope.md) `kz1-b`.
    1. В блоке **Сетевые настройки**:

        * В поле **Подсеть** выберите подсеть `subnet-1`. 
        * В поле **Публичный IP-адрес** выберите `Автоматически`.
    1. В блоке **Доступ** выберите вариант **Доступ по OS Login**, чтобы [подключаться](../../compute/operations/vm-connect/os-login.md) к создаваемой ВМ и управлять доступом к ней с помощью [OS Login](../../organization/concepts/os-login.md) в Yandex Identity Hub.

        Используя OS Login, вы сможете подключаться к ВМ по SSH-ключам и SSH-сертификатам с помощью стандартного SSH-клиента или [CLI](../../cli/quickstart.md). OS Login позволяет ротировать SSH-ключи, используемые для доступа к ВМ, и является наиболее [безопасным](../../security/domains/iaas-checklist.md#vm-security) вариантом доступа.

    1. В блоке **Общая информация** задайте имя ВМ — `vm-1`.
    1. Нажмите кнопку **Создать ВМ**.
    1. Получите публичный IP-адрес созданной ВМ:

        1. Дождитесь, когда созданная ВМ `vm-1` перейдет в статус `Running` и нажмите на строку с этой ВМ.
        1. Скопируйте значение поля **Публичный IPv4-адрес** в блоке **Сетевой интерфейс** на открывшейся странице обзора ВМ.

            Публичный IP-адрес удаленной ВМ потребуется позднее при [создании группы безопасности](#create-vpn-sg).

{% endlist %}

## Настройте облачную площадку {#cloud-setup}

### Создайте и настройте облачную сеть {#setup-cloud-net}

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в каталог, в котором будет развернута инфраструктура.
  1. Перейдите в сервис **Virtual Private Cloud**.
  1. [Создайте облачную сеть](../operations/network-create.md) `network`. При создании сети отключите опцию **Создать подсети**.
  1. В сети `network` [создайте подсети](../operations/subnet-create.md) со следующими параметрами:
  
      1. Для подключения виртуальной машины `web-node-a` и IPsec-инстанса `vpn`:
          * **Имя** — `subnet-a`.
          * **Зона доступности** — `kz1-a`.
          * **Сеть** — `network`.
          * **CIDR** — `192.168.5.0/24`.
  
      1. Для подключения виртуальной машины `web-node-b`:
          * **Имя** — `subnet-b`.
          * **Зона доступности** — `kz1-b`.
          * **Сеть** — `network`.
          * **CIDR** — `192.168.15.0/24`.
  
      1. Для подключения виртуальной машины `web-node-d`:
          * **Имя** — `subnet-d`.
          * **Зона доступности** — `kz1-d`.
          * **Сеть** — `network`.
          * **CIDR** — `192.168.25.0/24`.

{% endlist %}

### Зарезервируйте два статических публичных IP-адреса {#reserve-ips}

Для работы интернет-сервиса потребуются два статических публичных IP-адреса: один будет назначен VPN-шлюзу, а другой — сетевому балансировщику.

{% list tabs group=instructions %}

- Консоль управления {#console}

    1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в каталог, в котором будут зарезервированы IP-адреса.
    1. Перейдите в сервис **Virtual Private Cloud**.
    1. На панели слева выберите ![image](../../_assets/console-icons/map-pin.svg) **Публичные IP-адреса**.
    1. Нажмите кнопку **Зарезервировать публичный IP-адрес**.
    1. В открывшемся окне выберите зону доступности `kz1-a` и нажмите кнопку **Зарезервировать**.
    1. Повторите шаги 4-5 и зарезервируйте статический публичный IP-адрес в зоне доступности `kz1-b`.

{% endlist %}

### Создайте и настройте группы безопасности {#create-security-group}

Чтобы разделить трафик между сегментами сети, необходимо создать группы безопасности и настроить в них правила приема и отправки трафика.

#### Создайте группу безопасности для VPN-шлюза {#create-vpn-sg}

Для работы [VPN](../../glossary/vpn.md) необходимо разрешить прием и передачу трафика на UDP-порты `500` и `4500` из внешней сети — это необходимо для работы IPSec-туннеля. Также необходимо разрешить передачу трафика между подсетями вашей виртуальной сети и сетью на удаленной площадке.

{% list tabs group=instructions %}

- Консоль управления {#console}

    1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в каталог, в котором будет создана группа безопасности. 
    1. Перейдите в сервис **Virtual Private Cloud**.
    1. На панели слева выберите ![image](../../_assets/console-icons/shield.svg) **Группы безопасности**.
    1. Нажмите кнопку **Создать группу безопасности**.
    1. Введите имя группы безопасности — `vpn-sg`.
    1. В поле **Сеть** выберите сеть `network`, созданную ранее.
    1. В блоке **Правила** [создайте](../operations/security-group-add-rule.md) правила в соответствии с таблицей:

       #|
       || **Направление<br/>трафика** | **Описание** | **Диапазон портов** | **Протокол** | **Источник /<br/>Назначение** | **CIDR блоки** ||
       || Входящий | `udp500` | `500` | `UDP` | `CIDR` | `<публичный_IP-адрес_удаленной_ВМ>/32` ||
       || Входящий | `udp4500` | `4500` | `UDP` | `CIDR` | `<публичный_IP-адрес_удаленной_ВМ>/32` ||
       || Входящий | `internal` | `0-65535` | `Любой` | `CIDR` | 
         * `192.168.5.0/24`
         * `192.168.15.0/24`
         * `192.168.25.0/24`
         * `10.129.0.0/24` ^1^ ||
       || Исходящий | `udp500` | `500` | `UDP` | `CIDR` | `<публичный_IP-адрес_удаленной_ВМ>/32` ||
       || Исходящий | `udp4500` | `4500` | `UDP` | `CIDR` | `<публичный_IP-адрес_удаленной_ВМ>/32` ||
       || Исходящий | `intersubnet` | `0-65535` | `Любой` | `CIDR` | 
         * `192.168.5.0/24`
         * `192.168.15.0/24`
         * `192.168.25.0/24`
         * `10.129.0.0/24` ^1^ ||
       |#

       ^1^ Если в качестве тестовой ВМ вы будете использовать локальный компьютер, укажите здесь CIDR подсети, в которой этот компьютер находится.

    1. Нажмите **Создать**.

{% endlist %}

#### Создайте группу безопасности для виртуальных машин интернет-сервиса {#create-service-sg}

{% list tabs group=instructions %}

- Консоль управления {#console}
  
    1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в каталог, в котором будет создана группа безопасности. 
    1. Перейдите в сервис **Virtual Private Cloud**.
    1. На панели слева выберите ![image](../../_assets/console-icons/shield.svg) **Группы безопасности**.
    1. Нажмите кнопку **Создать группу безопасности**.
    1. Введите имя группы безопасности — `web-service-sg`.
    1. В поле **Сеть** выберите сеть `network`, созданную ранее.
    1. В блоке **Правила** [создайте](../operations/security-group-add-rule.md) правила в соответствии с таблицей:
   
       #|
       || **Направление<br/>трафика** | **Описание** | **Диапазон портов** | **Протокол** | **Источник /<br/>Назначение** | **CIDR блоки** /<br/>**Группа безопасности** ||
       || Входящий | `ssh` | `22` | `TCP` | `CIDR` | `0.0.0.0/0` ||
       || Входящий | `anyself` | `0-65535` | `Любой` | `Группа безопасности` | `Текущая` ||
       || Входящий | `healthchecks` | `80` | `TCP` | `Проверки состояния балансировщика` | — ||
       || Исходящий | `self` | `0-65535` | `Любой` | `Группа безопасности` | `Текущая` ||
       |#

    1. Нажмите **Создать**.

{% endlist %}

### Создайте и настройте виртуальные машины на облачной площадке {#setup-cloud-vms}

#### Создайте ВМ для сервиса во всех зонах доступности {#create-vms}

{% list tabs group=instructions %}

- Консоль управления {#console}

    1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог, в котором будут созданы ВМ.
    1. Перейдите в сервис **Compute Cloud**.
    1. На панели слева выберите ![image](../../_assets/console-icons/server.svg) **Виртуальные машины**.
    1. Нажмите кнопку **Создать виртуальную машину**.
    1. В блоке **Образ загрузочного диска** перейдите на вкладку **Marketplace** и выберите образ [Drupal 10](https://yandex.cloud/ru-kz/marketplace/products/yc/drupal).
    1. В блоке **Расположение** выберите зону доступности `kz1-a`.
    1. В блоке **Сетевые настройки**:

       * Выберите подсеть `subnet-a`. 
       * В поле **Публичный IP-адрес** выберите `Без адреса`.
       * Выберите группу безопасности `web-service-sg`.
    1. В блоке **Доступ**:

        * Выберите вариант подключения **SSH-ключ**.
        * В поле **Логин** задайте имя пользователя.

            {% note alert %}

            Не используйте логин `root` или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте команду `sudo`.

            {% endnote %}

        * В поле **SSH-ключ** выберите SSH-ключ, сохраненный в вашем профиле [пользователя организации](../../organization/concepts/membership.md).
          
          Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
          
          1. Нажмите кнопку **Добавить ключ**.
          1. Задайте имя SSH-ключа.
          1. Выберите вариант:
          
              * `Ввести вручную` — вставьте содержимое открытого [SSH](../../glossary/ssh-keygen.md)-ключа. Пару SSH-ключей необходимо [создать](../../compute/operations/vm-connect/ssh.md#creating-ssh-keys) самостоятельно.
              * `Загрузить из файла` — загрузите открытую часть SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно.
              * `Сгенерировать ключ` — автоматическое создание пары SSH-ключей.
              
                При добавлении сгенерированного SSH-ключа будет создан и загружен архив с парой ключей. В ОС на базе Linux или macOS распакуйте архив в папку `/home/<имя_пользователя>/.ssh`. В ОС Windows распакуйте архив в папку `C:\Users\<имя_пользователя>/.ssh`. Дополнительно вводить открытый ключ в консоли управления не требуется.
          
          1. Нажмите кнопку **Добавить**.
          
          SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации [отключена](../../organization/operations/os-login-access.md) возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.
       
    1. В блоке **Общая информация** задайте имя ВМ — `web-node-a`.
    1. Нажмите кнопку **Создать ВМ**.
    1. Повторите шаги 4-10 для создания ВМ `web-node-b` и `web-node-d`. Создайте их в зонах `kz1-b` и `kz1-d`, и подключите к подсетям `subnet-b` и `subnet-d` соответственно.

{% endlist %}

#### Создайте IPSec-инстанс для удаленного доступа {#create-ipsec-instance}

Для организации защищенного доступа к вашим ресурсам создайте IPSec-инстанс.

{% list tabs group=instructions %}

- Консоль управления {#console}

    1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в каталог, в котором будет создана ВМ.
    1. Перейдите в сервис **Compute Cloud**.
    1. На панели слева выберите ![image](../../_assets/console-icons/server.svg) **Виртуальные машины**.
    1. Нажмите кнопку **Создать виртуальную машину**.
    1. В блоке **Образ загрузочного диска** перейдите на вкладку **Marketplace** и выберите образ [IPSec-инстанс](https://yandex.cloud/ru-kz/marketplace/products/yc/ipsec-instance-ubuntu).
    1. В блоке **Расположение** выберите зону доступности `kz1-a`.
    1. В блоке **Сетевые настройки**:

        * Выберите подсеть `subnet-a`.
        * В поле **Публичный IP-адрес** выберите `Список`. В открывшемся списке выберите зарезервированный IP-адрес.
        * Выберите группу безопасности `vpn-sg`.

    1. В блоке **Доступ** выберите вариант **SSH-ключ** и укажите данные для доступа на ВМ:

        * В поле **Логин** введите имя пользователя. Не используйте имя `root` или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте команду `sudo`.
        * В поле **SSH-ключ** выберите SSH-ключ, сохраненный в вашем профиле [пользователя организации](../../organization/concepts/membership.md).
          
          Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
          
          1. Нажмите кнопку **Добавить ключ**.
          1. Задайте имя SSH-ключа.
          1. Выберите вариант:
          
              * `Ввести вручную` — вставьте содержимое открытого [SSH](../../glossary/ssh-keygen.md)-ключа. Пару SSH-ключей необходимо [создать](../../compute/operations/vm-connect/ssh.md#creating-ssh-keys) самостоятельно.
              * `Загрузить из файла` — загрузите открытую часть SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно.
              * `Сгенерировать ключ` — автоматическое создание пары SSH-ключей.
              
                При добавлении сгенерированного SSH-ключа будет создан и загружен архив с парой ключей. В ОС на базе Linux или macOS распакуйте архив в папку `/home/<имя_пользователя>/.ssh`. В ОС Windows распакуйте архив в папку `C:\Users\<имя_пользователя>/.ssh`. Дополнительно вводить открытый ключ в консоли управления не требуется.
          
          1. Нажмите кнопку **Добавить**.
          
          SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации [отключена](../../organization/operations/os-login-access.md) возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.

    1. В блоке **Общая информация** задайте имя ВМ — `vpn`.
    1. Нажмите кнопку **Создать ВМ**.
    1. Дождитесь, когда созданная ВМ `vpn` перейдет в статус `Running`, и скопируйте значение поля **Внутренний IPv4** в строке, относящейся этой ВМ.
    
        Внутренний адрес шлюза понадобится при настройке статического маршрута.

{% endlist %}

### Настройте маршрутизацию для VPN {#vpn-routing}

Настройте маршрутизацию между подсетью на удаленной площадке и IPSec-инстансом.

#### Создайте таблицу маршрутизации {#create-route-table}

Создайте [таблицу маршрутизации](../concepts/routing.md#rt-vpc) и добавьте в нее [статические маршруты](../concepts/routing.md#static):

{% list tabs group=instructions %}

- Консоль управления {#console}

    1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в каталог, в котором будет настроена маршрутизация.
    1. Перейдите в сервис **Virtual Private Cloud**.
    1. Выберите сеть `network`, созданную ранее.
    1. На панели слева выберите ![image](../../_assets/console-icons/route.svg) **Таблицы маршрутизации**.
    1. Нажмите кнопку **Создать таблицу маршрутизации**.
    1. Укажите имя таблицы маршрутизации: `vpn-route`.
    1. В блоке **Статические маршруты** нажмите кнопку **Добавить маршрут**.
    1. В открывшемся окне:
       * В поле **Префикс назначения** введите `10.129.0.0/24`.

           Если в качестве тестовой ВМ вы будете использовать локальный компьютер, укажите CIDR его подсети.
       * В поле **Next hop** укажите внутренний IP-адрес IPSec-шлюза.
       * Нажмите кнопку **Добавить**.
    1. Нажмите кнопку **Создать таблицу маршрутизации**.

{% endlist %}

#### Привяжите таблицу маршрутизации ко всем подсетям {#associate-route-table}

Чтобы использовать статические маршруты, необходимо привязать таблицу маршрутизации ко всем подсетям в сети `network` на облачной площадке.

{% list tabs group=instructions %}

- Консоль управления {#console}

    1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в каталог, где требуется настроить маршрутизацию.
    1. Перейдите в сервис **Virtual Private Cloud**.
    1. На панели слева выберите ![image](../../_assets/console-icons/nodes-right.svg) **Подсети**.
    1. В строке с подсетью `subnet-a` нажмите ![image](../../_assets/console-icons/ellipsis.svg) и выберите **Привязать таблицу маршрутизации**.
    1. В открывшемся окне в поле **Таблица маршрутизации** выберите созданную ранее таблицу `vpn-route`.
    1. Нажмите кнопку **Привязать**.
    1. Повторите шаги 4-6 для привязки таблицы маршрутизации `vpn-route` к подсетям `subnet-b` и `subnet-d`.

{% endlist %}

### Создайте сетевой балансировщик {#create-load-balancer}

Сетевой балансировщик будет распределять входящий трафик интернет-сервиса между ВМ, объединенными в целевую группу. 

Чтобы создать сетевой балансировщик:

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в каталог, где требуется создать балансировщик.
  1. Перейдите в сервис **Network Load Balancer**.
  1. Нажмите кнопку **Создать сетевой балансировщик**.
  1. Задайте имя балансировщика — `web-service-lb`.
  1. В поле **Публичный адрес** выберите `Список` и укажите публичный статический адрес.
  1. В блоке **Обработчики** нажмите кнопку **Добавить обработчик**. В открывшемся окне:

      1. Введите имя обработчика `web-service-lb-listener`.
      1. В поле **Порт** укажите `80`.
      1. В поле **Целевой порт** укажите `80`.
      1. Нажмите кнопку **Добавить**.
  1. В блоке **Целевые группы** нажмите **Добавить целевую группу**.

      1. В поле **Целевая группа** выберите ![plus](../../_assets/console-icons/plus.svg) **Создать целевую группу**. В открывшемся окне:

          1. Задайте имя целевой группы: `web-tg`.
          1. Выберите виртуальные машины `web-node-a`, `web-node-b` и `web-node-d`.
          1. Нажмите кнопку **Создать**.
      1. Выберите созданную целевую группу `web-tg`.
  1. В блоке с созданной целевой группой:

      1. Нажмите кнопку **Настроить**.
      1. В открывшемся окне в поле **Тип** выберите `TCP` и нажмите кнопку **Применить**.
  1. Нажмите кнопку **Создать**.

{% endlist %}

## Проверьте работоспособность инфраструктуры {#test}

Проверьте работоспособность инфраструктуры и убедитесь, что трафик к ВМ интернет-сервиса не поступает извне:

1. На удаленном компьютере выполните команду:

    ```bash
    curl <публичный_IP-адрес_сетевого_балансировщика>
    ```
    
    Убедитесь, что ответ от сервера не поступил. Это означает, что сетевой трафик к серверам Drupal запрещен.
1. [Добавьте](../operations/security-group-add-rule.md) в группу безопасности `web-service-sg` два новых правила для входящего трафика:

   #|
   || **Описание** | **Диапазон портов** | **Протокол** | **Источник /<br/>Назначение** | **CIDR блоки** ||
   || http-external-vm | 80 | TCP | CIDR | `<публичный_IP-адрес_удаленной_ВМ>/32` ||
   || https-external-vm | 443 | TCP | CIDR | `<публичный_IP-адрес_удаленной_ВМ>/32` ||
   |#

   Добавленные правила разрешают доступ с публичного адреса ВМ на удаленной площадке к ВМ целевой группы сетевого балансировщика.

1. Снова выполните на удаленном компьютере команду:

    ```bash
    curl <публичный_IP-адрес_сетевого_балансировщика>
    ```

    Убедитесь, что в качестве ответа вернулся HTML-код стартовой страницы Drupal. Это означает, что добавленные в группу безопасности правила разрешили сетевой доступ к виртуальным машинам Drupal с IP-адреса удаленного компьютера.

## Как удалить созданные ресурсы {#clear-out}

Чтобы перестать платить за развернутые ресурсы:
1. [Удалите](../../compute/operations/vm-control/vm-delete.md) виртуальные машины.
1. [Удалите](../../network-load-balancer/operations/load-balancer-delete.md) сетевой балансировщик.
1. [Удалите](../operations/address-delete.md) зарезервированные статические публичные IP-адреса.
1. При необходимости удалите [таблицу маршрутизации](../operations/delete-route-table.md), [группы безопасности](../operations/security-group-delete.md), [подсети](../operations/subnet-delete.md) и [сети](../operations/network-delete.md).