Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
      • Перенос WordPress сайта с хостинга в Yandex Cloud
      • Организация виртуального хостинга
        • Обзор
        • Консоль управления, CLI и API
        • Terraform
      • Создание веб-приложения на Python с использованием фреймворка Flask
      • Хостинг статического сайта на фреймворке Gatsby
      • Миграция в Cloud CDN из стороннего CDN-провайдера
      • Получение статистики посещения сайта с использованием S3 Select

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте облачную сеть и подсеть
  • Создайте группу безопасности
  • Создайте виртуальную машину с веб-сервером
  • Создайте публичную зону DNS
  • Делегируйте домен сервису Cloud DNS
  • Создайте ресурсную запись типа A
  • Проверьте работу сайта
  • Как удалить созданные ресурсы
  1. Прикладные решения
  2. Создание сайта
  3. Привязка доменного имени к ВМ с веб-сервером
  4. Консоль управления, CLI и API

Привязка доменного имени к ВМ с веб-сервером с помощью консоли управления, CLI или API

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
    • Создайте облачную сеть и подсеть
    • Создайте группу безопасности
  • Создайте виртуальную машину с веб-сервером
  • Создайте публичную зону DNS
  • Делегируйте домен сервису Cloud DNS
  • Создайте ресурсную запись типа A
  • Проверьте работу сайта
  • Как удалить созданные ресурсы

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

Чтобы привязать доменное имя к ВМ с веб-сервером в Cloud DNS:

  1. Подготовьте облако к работе.
  2. Создайте виртуальную машину с веб-сервером.
  3. Создайте публичную зону DNS.
  4. Делегируйте домен сервису Cloud DNS.
  5. Создайте ресурсную запись типа A.
  6. Проверьте работу сайта.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки создаваемого решения входят:

  • плата за использование публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud);
  • плата за вычислительные ресурсы и диски ВМ (см. тарифы Yandex Compute Cloud);
  • плата за использование публичной DNS-зоны и публичные DNS-запросы (см. тарифы Yandex Cloud DNS).

Создайте облачную сеть и подсетьСоздайте облачную сеть и подсеть

Консоль управления
CLI
API
  1. В консоли управления выберите ваш каталог.
  2. В списке сервисов выберите Virtual Private Cloud.
  3. Справа сверху нажмите кнопку Создать сеть.
  4. В поле Имя укажите webserver-network.
  5. В поле Дополнительно отключите опцию Создать подсети.
  6. Нажмите кнопку Создать сеть.
  7. На панели слева выберите Подсети.
  8. Справа сверху нажмите Создать.
  9. В поле Имя укажите webserver-subnet-ru-central1-b.
  10. В поле Зона выберите зону доступности ru-central1-b.
  11. В поле Сеть выберите облачную сеть webserver-network.
  12. В поле CIDR укажите 192.168.1.0/24.
  13. Нажмите кнопку Создать подсеть.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Создайте облачную сеть webserver-network:

    yc vpc network create webserver-network
    

    Результат:

    id: enp1gg8kr3pv********
    folder_id: b1gt6g8ht345********
    created_at: "2023-12-20T20:08:11Z"
    name: webserver-network
    default_security_group_id: enppne4l2eg5********
    

    Подробнее о команде yc vpc network create читайте в справочнике CLI.

  2. Создайте подсеть в зоне доступности ru-central1-b:

    yc vpc subnet create webserver-subnet-ru-central1-b \
      --zone ru-central1-b \
      --network-name webserver-network \
      --range 192.168.1.0/24
    

    Результат:

    id: e2li9tcgi7ii********
    folder_id: b1gt6g8ht345********
    created_at: "2023-12-20T20:11:16Z"
    name: webserver-subnet-ru-central1-b
    network_id: enp1gg8kr3pv********
    zone_id: ru-central1-b
    v4_cidr_blocks:
      - 192.168.1.0/24
    

    Подробнее о команде yc vpc subnet create читайте в справочнике CLI.

  1. Чтобы создать облачную сеть, воспользуйтесь методом REST API create для ресурса Network или вызовом gRPC API NetworkService/Create.

  2. Чтобы создать подсеть, воспользуйтесь методом REST API create для ресурса Subnet или вызовом gRPC API SubnetService/Create.

Создайте группу безопасностиСоздайте группу безопасности

Создайте группу безопасности, разрешающую входящий TCP-трафик для портов 22, 80 и 443, а также любой исходящий трафик.

Консоль управления
CLI
API
  1. В консоли управления выберите ваш каталог.

  2. В списке сервисов выберите Virtual Private Cloud.

  3. На панели слева выберите Группы безопасности.

  4. Нажмите кнопку Создать группу безопасности.

  5. В поле Имя укажите имя webserver-sg.

  6. В поле Сеть выберите созданную ранее сеть webserver-network.

  7. В блоке Правила создайте следующие правила для управления трафиком:

    Направление
    трафика
    Описание Диапазон портов Протокол Источник /
    Назначение
    CIDR блоки
    Входящий http 80 TCP CIDR 0.0.0.0/0
    Входящий https 443 TCP CIDR 0.0.0.0/0
    Входящий ssh 22 TCP CIDR 0.0.0.0/0
    Исходящий any Весь Любой CIDR 0.0.0.0/0
  8. Нажмите кнопку Сохранить.

Выполните команду:

yc vpc security-group create \
  --name webserver-sg \
  --rule "description=http,direction=ingress,port=80,protocol=tcp,v4-cidrs=[0.0.0.0/0]" \
  --rule "description=https,direction=ingress,port=443,protocol=tcp,v4-cidrs=[0.0.0.0/0]" \
  --rule "description=ssh,direction=ingress,port=22,protocol=tcp,v4-cidrs=[0.0.0.0/0]" \
  --rule "description=any,direction=egress,port=any,protocol=any,v4-cidrs=[0.0.0.0/0]" \
  --network-name webserver-network

Результат:

id: enp4htsnl1sa********
folder_id: b1gt6g8ht345********
created_at: "2023-12-23T19:07:03Z"
name: webserver-sg
network_id: enp37qpnksl2********
status: ACTIVE
rules:
  - id: enpdu0t8san9********
    description: http
    direction: INGRESS
    ports:
      from_port: "80"
      to_port: "80"
    protocol_name: TCP
    protocol_number: "6"
    cidr_blocks:
      v4_cidr_blocks:
        - 0.0.0.0/0
  - id: enpr7oirpff5********
    description: https
    direction: INGRESS
    ports:
      from_port: "443"
      to_port: "443"
    protocol_name: TCP
    protocol_number: "6"
    cidr_blocks:
      v4_cidr_blocks:
        - 0.0.0.0/0
  - id: enp0bgk6dkdd********
    description: ssh
    direction: INGRESS
    ports:
      from_port: "22"
      to_port: "22"
    protocol_name: TCP
    protocol_number: "6"
    cidr_blocks:
      v4_cidr_blocks:
        - 0.0.0.0/0
  - id: enpspns0tfml********
    description: any
    direction: EGRESS
    protocol_name: ANY
    protocol_number: "-1"
    cidr_blocks:
      v4_cidr_blocks:
        - 0.0.0.0/0

Подробнее о команде yc vpc security-group create читайте в справочнике CLI.

Сохраните полученный идентификатор (id) группы безопасности: он пригодится при создании виртуальной машины.

Чтобы создать группу безопасности, воспользуйтесь методом REST API create для ресурса SecurityGroup или вызовом gRPC API SecurityGroupService/Create.

Создайте виртуальную машину с веб-серверомСоздайте виртуальную машину с веб-сервером

Перед тем как приступать к созданию виртуальной машины, подготовьте пару ключей (открытый и закрытый) для доступа к ВМ по SSH.

Консоль управления
CLI
API
  1. В консоли управления выберите ваш каталог.

  2. В списке сервисов выберите Compute Cloud.

  3. На панели слева выберите Виртуальные машины.

  4. Нажмите кнопку Создать виртуальную машину.

  5. В блоке Общая информация:

    • В поле Имя укажите имя mywebserver.
    • В поле Зона доступности выберите ru-central1-b.
  6. В блоке Образ загрузочного диска перейдите на вкладку Marketplace и нажмите кнопку Показать все продукты Marketplace.

  7. В открывшемся окне найдите и выберите продукт LAMP.

  8. В блоке Сетевые настройки:

    • В поле Подсеть выберите созданную ранее подсеть webserver-subnet-ru-central1-b.
    • В поле Публичный IP-адрес выберите Автоматически.
    • В поле Группы безопасности выберите созданную ранее группу безопасности webserver-sg.
  9. В блоке Доступ укажите данные для доступа к ВМ:

    • В поле Логин укажите имя пользователя yc-user.
    • В поле SSH-ключ вставьте содержимое созданного ранее публичного ключа.
  10. Нажмите кнопку Создать ВМ.

Выполните команду, указав сохраненный на предыдущем шаге идентификатор группы безопасности:

yc compute instance create \
  --name mywebserver \
  --zone ru-central1-b \
  --network-interface subnet-name=webserver-subnet-ru-central1-b,nat-ip-version=ipv4,security-group-ids=<идентификатор_группы_безопасности> \
  --create-boot-disk image-folder-id=standard-images,image-id=fd8jtn9i7e9ha5q25niu \
  --ssh-key <SSH-ключ>

Где --ssh-key — путь к файлу с открытым SSH-ключом и его имя. Например ~/.ssh/id_ed25519.pub.

Результат:

done (32s)
id: fhmaq4shfrcm********
folder_id: b1gt6g8ht345********
created_at: "2023-12-23T05:36:34Z"
name: mywebserver
zone_id: ru-central1-b
platform_id: standard-v2
resources:
  memory: "2147483648"
  cores: "2"
  core_fraction: "100"
status: RUNNING
metadata_options:
  gce_http_endpoint: ENABLED
  aws_v1_http_endpoint: ENABLED
  gce_http_token: ENABLED
  aws_v1_http_token: DISABLED
boot_disk:
  mode: READ_WRITE
  device_name: fhmprher1d0q********
  auto_delete: true
  disk_id: fhmprher1d0q********
network_interfaces:
  - index: "0"
    mac_address: d0:0d:ad:13:91:7e
    subnet_id: e9bk1m87r4m4********
    primary_v4_address:
      address: 192.168.1.11
      one_to_one_nat:
        address: 158.160.***.***
        ip_version: IPV4
    security_group_ids:
      - enpa5j0mrgm4********
gpu_settings: {}
fqdn: fhmaq4shfrcm********.auto.internal
scheduling_policy: {}
network_settings:
  type: STANDARD
placement_policy: {}

Подробнее о команде yc compute instance create читайте в справочнике CLI.

Чтобы создать виртуальную машину, воспользуйтесь методом REST API create для ресурса Instance или вызовом gRPC API InstanceService/Create.

В вашем каталоге будет создана виртуальная машина mywebserver. Чтобы подключиться к ней по SSH, используйте логин yc-user и публичный IP-адрес этой ВМ. Если вы планируете пользоваться созданным веб-сервером длительное время, сделайте публичный IP-адрес этой ВМ статическим.

Создайте публичную зону DNSСоздайте публичную зону DNS

Консоль управления
CLI
API
  1. В консоли управления выберите ваш каталог.

  2. Выберите сервис Cloud DNS.

  3. Нажмите кнопку Создать зону.

  4. Задайте настройки зоны DNS, соответствующие вашему домену:

    1. Зона — доменная зона. Название зоны должно заканчиваться точкой. Например, название доменной зоны example.com. соответствует домену example.com. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode.
    2. Тип — Публичная.
    3. Имя — имя зоны.
  5. Нажмите кнопку Создать.

Выполните команду:

yc dns zone create \
  --name <имя_зоны> \
  --zone <доменная_зона> \
  --public-visibility

Где:

  • --name — имя зоны DNS.
  • --zone — доменная зона. Название зоны должно заканчиваться точкой. Например, название доменной зоны example.com. соответствует домену example.com. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode.

Результат:

id: dns39gihj0ef********
folder_id: b1gt6g8ht345********
created_at: "2023-12-21T16:43:37.883Z"
name: my-domain-zone
zone: example.com.
public_visibility: {}

Подробнее о команде yc dns zone create читайте в справочнике CLI.

Чтобы создать публичную зону DNS, воспользуйтесь методом REST API create для ресурса DnsZone или вызовом gRPC API DnsZoneService/Create.

Делегируйте домен сервису Cloud DNSДелегируйте домен сервису Cloud DNS

Чтобы делегировать домен сервису Cloud DNS, в личном кабинете вашего регистратора домена укажите в настройках домена адреса DNS-серверов:

  • ns1.yandexcloud.net
  • ns2.yandexcloud.net

Делегирование происходит не сразу. Серверы интернет-провайдеров обычно обновляют записи до 24 часов (86400 секунд). Это обусловлено значением TTL, в течение которого кэшируются записи для доменов.

Проверить делегирование домена можно с помощью сервиса Whois или утилиты dig:

dig +short NS example.com

Результат:

ns2.yandexcloud.net.
ns1.yandexcloud.net.

Создайте ресурсную запись типа AСоздайте ресурсную запись типа A

Создайте в вашей зоне DNS ресурсную запись типа А, указывающую на публичный IP-адрес веб-сервера:

Консоль управления
CLI
API
  1. В консоли управления выберите ваш каталог.

  2. Выберите сервис Cloud DNS.

  3. Выберите созданную ранее DNS-зону.

  4. Нажмите кнопку Создать запись.

  5. Задайте параметры записи:

    1. В поле Имя выберите Совпадает с именем зоны (@).

    2. В поле Тип выберите тип записи A.

    3. В поле Значение укажите публичный IP-адрес веб-сервера.

      Узнать IP-адрес виртуальной машины можно в консоли управления на странице ВМ в блоке Сеть или с помощью команды CLI yc compute instance get <имя_ВМ>.

  6. Нажмите кнопку Создать.

Выполните команду:

yc dns zone add-records \
  --name <имя_зоны> \
  --record "<доменное_имя> 600 A <IP-адрес_ВМ>"

Где:

  • --name — имя созданной ранее публичной зоны DNS.
  • --record — параметры создаваемой ресурсной записи:
    • <доменное_имя> — доменное имя, должно заканчиваться точкой. Например, для домена example.com здесь нужно указать example.com.

    • <IP-адрес_ВМ> — публичный IP-адрес веб-сервера.

      Узнать IP-адрес виртуальной машины можно в консоли управления на странице ВМ в блоке Сеть или с помощью команды CLI yc compute instance get <имя_ВМ>.

Результат:

+--------+--------------+------+---------------+-----+
| ACTION |     NAME     | TYPE |     DATA      | TTL |
+--------+--------------+------+---------------+-----+
| +      | example.com. | A    | 51.250.**.*** | 600 |
+--------+--------------+------+---------------+-----+

Подробнее о команде yc dns zone add-records читайте в справочнике CLI.

Чтобы создать ресурсную запись в зоне DNS, воспользуйтесь методом REST API updateRecordSets для ресурса DnsZone или вызовом gRPC API DnsZoneService/UpdateRecordSets.

Проверьте работу сайтаПроверьте работу сайта

Теперь сайт на вашем веб-сервере доступен по доменному имени. Чтобы проверить работу сайта, введите в браузере его IP-адрес или доменное имя:

  • http://<публичный_IP-адрес_ВМ>
  • http://example.com

Как удалить созданные ресурсыКак удалить созданные ресурсы

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

  1. Удалите ВМ.
  2. Удалите статический публичный IP-адрес, если вы зарезервировали его специально для этой ВМ.
  3. Удалите созданную доменную зону.

См. такжеСм. также

  • Привязка доменного имени к ВМ с веб-сервером с помощью Terraform.

Была ли статья полезна?

Предыдущая
Обзор
Следующая
Terraform
Проект Яндекса
© 2025 ООО «Яндекс.Облако»