[Документация Yandex Cloud](../../index.md) > [Yandex Certificate Manager](../index.md) > [Практические руководства](index.md) > Организация виртуального хостинга

# Организация виртуального хостинга


{% note info %}

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

{% endnote %}


Сценарий описывает организацию виртуального хостинга — размещение нескольких сайтов с разными доменными именами по одному [IP-адресу](../../vpc/concepts/address.md) — с помощью [Yandex Application Load Balancer](../../application-load-balancer/index.md).

В качестве примеров в сценарии будут использоваться три доменных имени: `site-a.com`, `site-b.com` и `default.com`.

Чтобы создать виртуальный хостинг:
1. [Подготовьте облако к работе](#before-begin).
1. [Создайте облачную сеть](#create-network).
1. [Зарезервируйте статический публичный IP-адрес](#reserve-ip).
1. [Создайте группы безопасности](#create-security-groups).
1. [Импортируйте TLS-сертификаты сайтов в Yandex Certificate Manager](#import-certificates).
1. [Создайте группы виртуальных машин для сайтов](#create-vms).
1. [Загрузите файлы сайтов на ВМ](#upload-sites-files).
1. [Создайте группы бэкендов](#create-backend-groups).
1. [Создайте и настройте HTTP-роутеры](#create-http-routers).
1. [Создайте L7-балансировщик](#create-l7-balancer).
1. [Настройте DNS для сайтов](#configure-dns).
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}

В стоимость поддержки виртуального хостинга входят:
* Плата за постоянно запущенные [ВМ](../../compute/concepts/vm.md) ([тарифы Yandex Compute Cloud](../../compute/pricing.md)).
* Плата за использование [публичного статического IP-адреса](../../vpc/concepts/address.md#public-addresses) ([тарифы Yandex Virtual Private Cloud](../../vpc/pricing.md)).
* Плата за использование вычислительных ресурсов [L7-балансировщика](../../application-load-balancer/concepts/index.md) ([тарифы Application Load Balancer](../../application-load-balancer/pricing.md)).
* Плата за публичные [DNS-запросы](../../glossary/dns.md) и [зоны DNS](../../dns/concepts/dns-zone.md), если вы используете [Yandex Cloud DNS](../../dns/index.md) ([тарифы Cloud DNS](../../dns/pricing.md)).
  
## Создайте облачную сеть {#create-network}

Все ресурсы, созданные в сценарии, будут относиться к одной [облачной сети](../../vpc/concepts/network.md).

Чтобы создать сеть:

{% list tabs group=instructions %}

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

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог.
  1. Перейдите в сервис **Virtual Private Cloud**.
  1. Нажмите кнопку **Создать сеть**.
  1. Укажите **Имя** сети: `vhosting-network`.
  1. Выберите опцию **Создать подсети**.
  1. Нажмите кнопку **Создать сеть**.

{% endlist %}

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

Для работы виртуального хостинга потребуется статический публичный IP-адрес, который будет назначен [L7-балансировщику](../../application-load-balancer/concepts/application-load-balancer.md).

Чтобы зарезервировать IP-адрес:

{% list tabs group=instructions %}

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

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

{% endlist %}

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

[Группы безопасности](../../application-load-balancer/concepts/application-load-balancer.md#security-groups) содержат правила, которые разрешают балансировщику получать входящий трафик и отправлять его на ВМ, а ВМ — получать этот трафик. В сценарии будут созданы две группы безопасности: для балансировщика и для всех ВМ.

Чтобы создать группы безопасности:

{% list tabs group=instructions %}

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

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

        | Направление<br/>трафика | Описание | Диапазон портов | Протокол | Назначение /<br/>Источник | CIDR блоки |
        | --- | --- | --- | --- | --- | --- |
        | `Исходящий трафик` | `any` | `Выбрать весь диапазон` | `Любой` | `CIDR` | `0.0.0.0/0` |
        | `Входящий трафик` | `ext-http` | `80` | `TCP` | `CIDR` | `0.0.0.0/0` |
        | `Входящий трафик` | `ext-https` | `443` | `TCP` | `CIDR` | `0.0.0.0/0` |
        | `Входящий трафик` | `healthchecks` | `30080` | `TCP` | `Проверки состояния балансировщика` | — |

     1. Выберите вкладку **Исходящий трафик** или **Входящий трафик**.
     1. Нажмите кнопку **Добавить правило**.
     1. В открывшемся окне в поле **Диапазон портов** укажите один порт или диапазон портов, куда или откуда будет поступать трафик.
     1. В поле **Протокол** укажите нужный протокол или оставьте `Любой`, чтобы разрешить передачу трафика по всем протоколам.
     1. В поле **Назначение** или **Источник** выберите назначение правила:
        * `CIDR` — правило будет применено к диапазону IP-адресов. В поле **CIDR блоки** укажите CIDR и маски подсетей, в которые или из которых будет поступать трафик. Чтобы добавить несколько CIDR, нажимайте кнопку **Добавить CIDR**.
        * `Группа безопасности` — правило будет применено к ВМ из текущей группы или из выбранной группы безопасности.
        * `Проверки состояния балансировщика` — правило, которое позволяет балансировщику проверять состояние ВМ.
     1. Нажмите кнопку **Сохранить**. Таким образом создайте все правила из таблицы.
     1. Нажмите кнопку **Создать**.
  1. Аналогично создайте группу безопасности для ВМ с именем `vhosting-sg-vms`, той же сетью `vhosting-network` и следующими правилами:

     | Направление<br/>трафика | Описание | Диапазон портов | Протокол | Источник | CIDR блоки |
     | --- | --- | --- | --- | --- | --- |
     | `Входящий трафик` | `balancer` | `80` | `TCP` | `Группа безопасности` | `vhosting-sg-balancer` |
     | `Входящий трафик` | `ssh` | `22` | `TCP` | `CIDR` | `0.0.0.0/0` |

{% endlist %}

## Импортируйте TLS-сертификаты сайтов в Certificate Manager {#import-certificates}

Чтобы пользователи могли обращаться к сайтам по защищенному протоколу HTTPS (HTTP over TLS), для них должны быть выпущены [TLS-сертификаты](../concepts/managed-certificate.md). Для использования в L7-балансировщике сертификаты нужно импортировать в Certificate Manager.

Если у ваших сайтов нет сертификатов, вы можете [получить в Certificate Manager сертификаты от Let's Encrypt<sup>®</sup>](../operations/managed/cert-create.md). В этом случае дополнительных действий после создания сертификатов не требуется: они импортируются автоматически.

Чтобы импортировать уже имеющийся сертификат для сайта `site-a.com`:

{% list tabs group=instructions %}

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

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог.
  1. Перейдите в сервис **Certificate Manager**.
  1. Нажмите кнопку **Добавить сертификат** и выберите пункт **Пользовательский сертификат**.
  1. Укажите **Имя** сертификата: `vhosting-cert-a`.
  1. В поле **Сертификат** нажмите кнопку **Добавить сертификат**. Загрузите **Файл** с вашим сертификатом или укажите его **Содержимое** и нажмите кнопку **Добавить**.
  1. Если ваш сертификат выпущен сторонним центром сертификации, в поле **Цепочка промежуточных сертификатов** нажмите кнопку **Добавить цепочку**. Загрузите **Файл** с цепочкой сертификатов или укажите его **Содержимое** и нажмите кнопку **Добавить**.
  1. В поле **Приватный ключ** нажмите кнопку **Добавить приватный ключ**. Загрузите **Файл** с ключом или укажите его **Содержимое** и нажмите кнопку **Добавить**.
  1. Нажмите кнопку **Создать**.

{% endlist %}

Аналогично импортируйте сертификаты для сайтов `site-b.com` и `default.com` с именами `vhosting-cert-b` и `vhosting-cert-default`.

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

В качестве веб-серверов для двух сайтов будут выступать ВМ Compute Cloud — по одной [группе](../../compute/concepts/instance-groups/index.md) из нескольких одинаковых ВМ на каждый сайт. В этом сценарии серверы будут реализованы на LEMP-стеке (Linux, nginx, MySQL®, PHP; подробнее в сценарии использования [Сайт на LAMP- или LEMP-стеке](../../tutorials/web/lamp-lemp/index.md)).

Чтобы создать группу ВМ для сайта `site-a.com`:

{% list tabs group=instructions %}

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

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог.
  1. Перейдите в сервис **Compute Cloud**.
  1. На панели слева выберите ![image](../../_assets/console-icons/layers-3-diagonal.svg) **Группы виртуальных машин**. Нажмите кнопку **Создать группу виртуальных машин**.
  1. Укажите **Имя** группы ВМ: `vhosting-ig-a`.
  1. В блоке **Распределение** выберите несколько зон доступности, чтобы обеспечить отказоустойчивость хостинга.
  1. В блоке **Шаблон виртуальной машины** нажмите кнопку **Задать**.
  1. В блоке **Образ загрузочного диска** откройте вкладку **Marketplace** и нажмите кнопку **Показать все продукты Marketplace**. Выберите продукт [LEMP](https://yandex.cloud/ru-kz/marketplace/products/yc/lemp) и нажмите кнопку **Использовать**.
  1. В блоке **Вычислительные ресурсы**:
     * Выберите [платформу](../../compute/concepts/vm-platforms.md) ВМ.
     * Укажите необходимое количество vCPU и объем RAM.

     Для функционального тестирования сайта хватит минимальной конфигурации:
     * **Платформа** — `Intel Ice Lake`.
     * **Гарантированная доля vCPU** — `20%`.
     * **vCPU** — `2`.
     * **RAM** — `1 ГБ`.
  1. В блоке **Сетевые настройки** выберите **Сеть** `vhosting-network`, [созданную ранее](#create-network), и ее [подсети](../../vpc/concepts/network.md#subnet).
  1. В поле **Публичный адрес** выберите `Автоматически`.
  1. Выберите группу безопасности `vhosting-sg-vms`, [созданную ранее](#create-security-groups).
  1. Укажите данные для доступа на ВМ:
     * В поле **Логин** введите имя пользователя.
     * В поле **SSH-ключ** вставьте содержимое файла открытого ключа.

       Пару ключей для подключения по [SSH](../../glossary/ssh-keygen.md) необходимо [создать самостоятельно](../../compute/operations/vm-connect/ssh.md).

     {% note alert %}

     IP-адрес и [имя хоста (FQDN)](../../compute/concepts/network.md#hostname) для подключения к ВМ назначатся ей при создании. Если вы выбрали вариант `Без адреса` в поле **Публичный адрес**, вы не сможете обращаться к ВМ из интернета.

     {% endnote %}

  1. Нажмите кнопку **Сохранить**.
  1. В блоке **Масштабирование** укажите **Размер** группы ВМ — `2`.
  1. В блоке **Интеграция с Application Load Balancer** выберите опцию **Создать целевую группу** и укажите имя группы — `vhosting-tg-a`. [Подробнее о целевых группах](../../application-load-balancer/concepts/target-group.md).
  1. Нажмите кнопку **Создать**.

{% endlist %}

Аналогично создайте для сайта `site-b.com` вторую группу ВМ с именем `vhosting-ig-b` и целевую группу с именем `vhosting-tg-b`.

Создание группы ВМ может занять несколько минут. Когда группа перейдет в [статус](../../compute/concepts/instance-groups/statuses.md#group-statuses) `RUNNING`, а все ВМ в ней — в [статус](../../compute/concepts/instance-groups/statuses.md#vm-statuses) `RUNNING_ACTUAL`, вы можете [загрузить на них файлы сайта](#upload-sites-files).

![ig-running](../../_assets/application-load-balancer/tutorials/virtual-hosting/ig-running.png)

## Загрузите файлы сайтов на ВМ {#upload-sites-files}

Чтобы проверить работу веб-серверов, загрузите на ВМ файлы `index.html`: на ВМ из группы `vhosting-ig-a` — с одним содержанием, а на ВМ из группы `vhosting-ig-b` — с другим.

{% cut "Пример файла index.html для группы vhosting-ig-a" %}

```html
<!DOCTYPE html>
<html>
  <head>
    <title>Site A</title>
  </head>
  <body>
    <p>This is site A</p>
  </body>
</html>
```

{% endcut %}

{% cut "Пример файла index.html для группы vhosting-ig-b" %}

```html
<!DOCTYPE html>
<html>
  <head>
    <title>Site B</title>
  </head>
  <body>
    <p>This is site B</p>
  </body>
</html>
```

{% endcut %}

Чтобы загрузить файл на ВМ:

1. В блоке **Сеть** на странице виртуальной машины в [консоли управления](https://kz.console.yandex.cloud) найдите публичный IP-адрес виртуальной машины.
1. [Подключитесь](../../compute/operations/vm-connect/ssh.md) к виртуальной машине по протоколу SSH.
1. Выдайте права на запись для вашего пользователя на директорию `/var/www/html`:

   {% list tabs group=operating_system %}

   - Ubuntu {#ubuntu}

     ```bash
     sudo chown -R "$USER":www-data /var/www/html
     ```

   - CentOS {#centos}

     ```bash
     sudo chown -R "$USER":apache /var/www/html
     ```

   {% endlist %}


1. Загрузите на ВМ файлы сайта с помощью [протокола SCP](https://ru.wikipedia.org/wiki/SCP).

   {% list tabs group=operating_system %}

   - Linux/macOS {#linux-macos}

     Используйте утилиту командной строки `scp`:

     ```bash
     scp -r <путь_до_директории_с_файлами> <имя_пользователя_ВМ>@<IP-адрес_виртуальной_машины>:/var/www/html
     ```

   - Windows {#windows}

     С помощью программы [WinSCP](https://winscp.net/eng/download.php) скопируйте локальную директорию с файлами в директорию `/var/www/html` на ВМ.

   {% endlist %}

Повторите этот процесс с нужными файлами для каждой ВМ из групп `vhosting-ig-a` и `vhosting-ig-b`.

## Создайте группы бэкендов {#create-backend-groups}

Целевые группы, созданные вместе с группами ВМ, нужно привязать к [группам бэкендов](../../application-load-balancer/concepts/backend-group.md) с настройками распределения трафика.

Для бэкендов в группах будут созданы [проверки состояния](../../application-load-balancer/concepts/backend-group.md#health-checks): балансировщик будет периодически отправлять проверочные запросы к ВМ и ожидать ответа в течение определенного периода.

Чтобы создать группу бэкендов для сайта `site-a.com`:
1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог.
1. Перейдите в сервис **Application Load Balancer**.
1. На панели слева выберите ![image](../../_assets/console-icons/cubes-3-overlap.svg) **Группы бэкендов**. Нажмите кнопку **Создать группу бэкендов**.
1. Укажите **Имя** группы бэкендов: `vhosting-bg-a`.
1. В блоке **Бэкенды** нажмите кнопку **Добавить**.
1. Укажите **Имя** бэкенда: `vhosting-backend-a`.
1. В поле **Целевые группы** выберите группу `vhosting-tg-a`.
1. Укажите **Порт**, на котором ВМ бэкенда будут принимать входящий трафик от балансировщика: `80`.
1. Нажмите кнопку **Добавить проверку состояния**.
1. Укажите **Порт**, на котором ВМ бэкенда будут принимать проверочные соединения: `80`.
1. Укажите **Путь**, к которому будет обращаться балансировщик при проверке состояния: `/`.
1. Нажмите кнопку **Создать**.

Аналогично создайте для сайта `site-b.com` вторую группу бэкендов `vhosting-bg-b`, в ней — бэкенд `vhosting-backend-b` и привяжите к нему целевую группу `vhosting-tg-b`.

## Создайте и настройте HTTP-роутеры {#create-http-routers}

Группы бэкендов нужно привязать к [HTTP-роутерам](../../application-load-balancer/concepts/http-router.md) с правилами маршрутизации HTTP-запросов. В сценарии будут созданы два роутера для «основных» сайтов `site-a.com` и `site-b.com` и роутер «по умолчанию» для сайта `default.com`, который будет отвечать на каждый запрос HTTP-кодом состояния `404 Not Found`.

### Создайте HTTP-роутеры для сайтов {#create-http-routers-sites}

Чтобы создать HTTP-роутер для сайта `site-a.com`:

{% list tabs group=instructions %}

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

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог.
  1. Перейдите в сервис **Application Load Balancer**.
  1. На панели слева выберите ![image](../../_assets/console-icons/route.svg) **HTTP-роутеры**. Нажмите кнопку **Создать HTTP-роутер**.
  1. Укажите **Имя** HTTP-роутера: `vhosting-router-a`.
  1. Нажмите кнопку **Добавить виртуальный хост**.
  1. Укажите **Имя** виртуального хоста: `vhosting-host-a`.
  1. В поле **Authority** укажите доменное имя сайта: `site-a.com`.
  1. Нажмите кнопку **Добавить маршрут**.
  1. Укажите **Имя** маршрута: `vhosting-route-a`.
  1. В поле **Группа бэкендов** выберите группу `vhosting-bg-a`.
  1. Нажмите кнопку **Создать**.

{% endlist %}

Аналогично создайте для сайта `site-b.com` HTTP-роутер `vhosting-router-b` и привяжите к нему группу бэкендов `vhosting-bg-b`.

### Создайте HTTP-роутер «по умолчанию» {#create-http-routers-default}

Чтобы создать HTTP-роутер для сайта `default.com`:

{% list tabs group=instructions %}

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

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог.
  1. Перейдите в сервис **Application Load Balancer**.
  1. На панели слева выберите ![image](../../_assets/console-icons/route.svg) **HTTP-роутеры**. Нажмите кнопку **Создать HTTP-роутер**.
  1. Укажите **Имя** HTTP-роутера: `vhosting-router-default`.
  1. Нажмите кнопку **Добавить виртуальный хост**.
  1. Укажите **Имя** виртуального хоста: `vhosting-host-default`.
  1. В поле **Authority** укажите доменное имя сайта: `default.com`.
  1. Нажмите кнопку **Добавить маршрут**.
  1. Укажите **Имя** маршрута: `vhosting-route-a`.
  1. В поле **Действие** выберите `Ответ`.
  1. В поле **Код состояния HTTP** выберите `404 Not Found`.
  1. В поле **Тело ответа** нажмите кнопку **Выбрать**. Выберите способ `Текст` и в поле **Содержимое** укажите:

     ```text
     404 Not Found

     This is the default site.
     ```

     Нажмите кнопку **Добавить**.
  1. Нажмите кнопку **Создать**.

{% endlist %}

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

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

{% list tabs group=instructions %}

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

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог.
  1. Перейдите в сервис **Application Load Balancer**.
  1. Нажмите кнопку **Создать L7-балансировщик**.
  1. В открывшемся меню выберите **Вручную**.
  1. Укажите **Имя** балансировщика: `vhosting-alb`.
  1. В блоке **Сетевые настройки** выберите группу безопасности `vhosting-sg-balancer`, [созданную ранее](#create-security-groups).
  1. Создайте обработчик для перенаправления HTTP-запросов на HTTPS:
     1. В блоке **Обработчики** нажмите кнопку **Добавить обработчик**.
     1. Укажите **Имя** обработчика: `vhosting-listener-http`.
     1. В блоке **Публичный IP-адрес** выберите **Тип** `Список` и IP-адрес, [зарезервированный ранее](#reserve-ip).
     1. В поле **Протокол** выберите пункт `Перенаправлять на HTTPS`.
  1. Создайте обработчик HTTPS-запросов:
     1. Снова нажмите кнопку **Добавить обработчик**.
     1. Укажите **Имя** обработчика: `vhosting-listener-https`.
     1. В блоке **Публичный IP-адрес** выберите **Тип** `Список` и IP-адрес, [зарезервированный ранее](#reserve-ip).
     1. В поле **Протокол** выберите пункт `HTTPS`.
     1. В блоке **Основной обработчик** выберите сертификат `vhosting-cert-default` и HTTP-роутер `vhosting-router-default`.
     1. Добавьте обработчик SNI для сайта `site-a.com`:
        1. Нажмите кнопку **Добавить обработчик SNI**.
        1. Укажите **Имя** обработчика SNI: `vhosting-sni-a`.
        1. В поле **Имена серверов** укажите `site-a.com`.
        1. Выберите сертификат `vhosting-cert-a` и HTTP-роутер `vhosting-router-a`.
     1. Аналогично добавьте обработчик SNI для сайта `site-b.com` — с именем `vhosting-sni-b`, именем сервера `site-b.com`, сертификатом `vhosting-cert-b` и HTTP-роутером `vhosting-router-b`.
  1. Нажмите кнопку **Создать**.

{% endlist %}

## Настройте DNS для сайтов {#configure-dns}

Доменные имена `site-a.com`, `site-b.com` и `default.com` должны быть связаны с IP-адресом L7-балансировщика с помощью записей DNS.

Чтобы настроить DNS для сайта `site-a.com`:
1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог.
1. Перейдите в сервис **Application Load Balancer**.
1. Скопируйте IP-адрес созданного балансировщика.
1. На сайте компании, которая предоставляет вам услуги DNS-хостинга, перейдите в настройки DNS.
1. Создайте или измените A-запись для `site-a.com` таким образом, чтобы она указывала на скопированный IP-адрес:

   ```text
   site-a.com. A <IP-адрес_L7-балансировщика>
   ```

   Если вы пользуетесь Yandex Cloud DNS, настройте запись по следующей инструкции:

   {% cut "Инструкция по настройке DNS-записей для Cloud DNS" %}

   {% list tabs group=instructions %}

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

     1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог.
     1. Перейдите в сервис **Cloud DNS**.
     1. Если у вас нет публичной [зоны DNS](../../dns/concepts/dns-zone.md), создайте ее:
        1. Нажмите кнопку **Создать зону**.
        1. Укажите **Имя** зоны: `vhosting-dns-a`.
        1. В поле **Зона** укажите доменное имя сайта с точкой в конце: `site-a.com.`
        1. Выберите **Тип** зоны — `Публичная`.
        1. Нажмите кнопку **Создать**.
     1. Создайте запись в зоне:
        1. В списке зон нажмите на зону `vhosting-dns-a`.
        1. Нажмите кнопку **Создать запись**.
        1. Поле **Имя** оставьте пустым, чтобы запись соответствовала доменному имени `site-a.com` (а не имени с субдоменом, например `www.site-a.com`).
        1. Выберите **Тип** записи — **A**.
        1. В поле **Значение** вставьте скопированный IP-адрес балансировщика.
        1. Нажмите кнопку **Создать**.

   {% endlist %}

   {% endcut %}

Аналогично настройте DNS для сайтов `site-b.com` и `default.com`, используя тот же IP-адрес.

Через 15–20 минут после настройки DNS вы сможете проверить работу сайтов.

## Проверьте работу хостинга {#test}

Чтобы проверить работу хостинга, откройте каждый из трех сайтов в браузере:
* `https://site-a.com` и `https://site-b.com` — должны отобразиться страницы, [загруженные на ВМ](#upload-sites-files).
* `https://default.com` — должна отобразиться страница с ошибкой `404 Not Found`, настроенная при [создании HTTP-роутера](#create-http-routers-default).

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

Чтобы остановить работу хостинга и перестать платить за созданные ресурсы:
1. Удалите нетарифицируемые ресурсы, которые блокируют удаление тарифицируемых ресурсов:
   1. [Удалите](../../application-load-balancer/operations/application-load-balancer-delete.md) L7-балансировщик `vhosting-alb`.
   1. [Удалите](../../application-load-balancer/operations/http-router-delete.md) HTTP-роутеры `vhosting-router-a`, `vhosting-router-b` и `vhosting-router-default`.
   1. [Удалите](../../application-load-balancer/operations/backend-group-delete.md) группы бэкендов `vhosting-bg-a` и `vhosting-bg-b`.
1. [Удалите](../../compute/operations/instance-groups/delete.md) группы ВМ `vhosting-ig-a` и `vhosting-ig-b`.
1. [Удалите](../../vpc/operations/address-delete.md) зарезервированный статический публичный адрес.
1. Если вы использовали Yandex Cloud DNS, то [удалите](../../dns/operations/resource-record-delete.md) DNS-записи и [удалите](../../dns/operations/zone-delete.md) DNS-зону.