Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Практические руководства
  • Веб-сервис
    • Все руководства
    • Статический сайт в Object Storage
    • Сайт на LAMP- или LEMP-стеке
    • Отказоустойчивый сайт с балансировкой нагрузки с помощью Network Load Balancer
    • Отказоустойчивый сайт с балансировкой нагрузки с помощью Application Load Balancer
    • Сайт на базе Joomla с БД PostgreSQL
    • Создание сайта на WordPress
    • Сайт на WordPress с БД MySQL
    • Перенос WordPress сайта с хостинга в Yandex Cloud
    • Сайт на базе 1С-Битрикс
    • Организация виртуального хостинга
    • Создание балансировщика с защитой от DDoS
    • Публикация обновлений для игр с помощью Cloud CDN
    • Интеграция L7-балансировщика с Cloud CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Терминирование TLS-соединений
  • Интернет-магазины
    • Все руководства
    • Интернет-магазин на 1С-Битрикс
    • Интернет-магазин на OpenCart
  • Архив данных
    • Все руководства
    • Однонодовый файловый сервер
    • Настройка SFTP-сервера на Centos 7
    • Резервное копирование в Object Storage через Acronis
    • Резервное копирование в Object Storage с помощью CloudBerry Desktop Backup
    • Резервное копирование в Object Storage через Duplicati
    • Резервное копирование в Object Storage с помощью Bacula
    • Резервное копирование в Object Storage с помощью Veritas Backup Exec
    • Распознавание архива изображений в Vision
  • Тестовая среда
    • Все руководства
    • Тестирование приложений с помощью GitLab
    • Создание тестовых ВМ через GitLab CI
    • Высокопроизводительные вычисления на прерываемых ВМ
    • Эмуляция множества IoT-устройств
    • Нагрузочное тестирование gRPC-сервиса
    • Развертывание и нагрузочное тестирование gRPC-сервиса с масштабированием
    • HTTPS-тест с постоянной нагрузкой с помощью Phantom
    • HTTPS-тест со ступенчатой нагрузкой с помощью Pandora
    • Нагрузочное тестирование с нескольких агентов
  • Управление инфраструктурой
    • Все руководства
    • Начало работы с Terraform
    • Загрузка состояний Terraform в Object Storage
    • Начало работы с Packer
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Автоматизация сборки образов с помощью Jenkins и Packer
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL
    • Миграция в Yandex Cloud с помощью Hystax Acura
    • Защита от сбоев с помощью Hystax Acura
    • Настройка синхронизации часов с помощью NTP
    • Работа с группой ВМ с автомасштабированием
    • Масштабирование группы ВМ по расписанию
    • Автомасштабирование группы ВМ для обработки сообщений из очереди Message Queue
    • Обновление группы ВМ под нагрузкой
    • Передача логов с ВМ в Cloud Logging
    • Резервное копирование ВМ с помощью Hystax Acura Backup
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Создание SAP-программы в Yandex Cloud
    • Настройка локального кеширующего DNS-резолвера
    • Миграция DNS-зон из Яндекс 360 в Cloud DNS
    • Интеграция Cloud DNS и корпоративного сервиса DNS
    • Создание веб-хука резолвера ACME для ответов на DNS01-проверки
    • Запись логов балансировщика в PostgreSQL
    • Создание триггера для бюджетов, который вызывает функцию для остановки ВМ
  • Построение Data Platform
    • Все руководства
    • Миграция БД из стороннего кластера Apache Kafka® в Managed Service for Apache Kafka®
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Перенос данных между кластерами Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Настройка Kafka Connect для работы с кластером Managed Service for Apache Kafka®
    • Управление схемами данных в Managed Service for Apache Kafka®
    • Использование Managed Schema Registry с Managed Service for Apache Kafka®
    • Использование Confluent Schema Registry с Managed Service for Apache Kafka®
    • Миграция базы данных из MySQL в ClickHouse с помощью Data Transfer
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Настройка Managed Service for ClickHouse для Graphite
    • Получение данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Получение данных из RabbitMQ в Managed Service for ClickHouse
    • Сохранение потока данных Data Streams в Managed Service for ClickHouse
    • Использование гибридного хранилища в Managed Service for ClickHouse
    • Шардирование таблиц Managed Service for ClickHouse
    • Настройка Cloud DNS для доступа к кластерам управляемых баз данных из других облачных сетей
    • Настройка Cloud DNS для доступа к кластеру Managed Service for ClickHouse из других облачных сетей
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Использование скриптов инициализации для настройки GeeseFS в Data Proc
    • Миграция данных из стороннего кластера Elasticsearch в Managed Service for Elasticsearch с помощью Reindex API
    • Миграция коллекций из стороннего кластера MongoDB в Managed Service for MongoDB
    • Миграция данных в Managed Service for MongoDB
    • Шардирование коллекций MongoDB
    • Анализ производительности и оптимизация MongoDB
    • Миграция БД из стороннего кластера MySQL в кластер Managed Service for MySQL
    • Анализ производительности и оптимизация Managed Service for MySQL
    • Синхронизация данных из стороннего кластера MySQL в Managed Service for MySQL с помощью Data Transfer
    • Миграция БД из Managed Service for MySQL в сторонний кластер MySQL
    • Миграция БД из Managed Service for MySQL в Object Storage с помощью Data Transfer
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Миграция БД из Managed Service for MySQL в Managed Service for YDB с помощью Data Transfer
    • Создание кластера PostgreSQL для «1С:Предприятия»
    • Анализ производительности и оптимизация Managed Service for PostgreSQL
    • Миграция БД из Managed Service for PostgreSQL
    • Миграция БД из стороннего кластера PostgreSQL в Managed Service for PostgreSQL
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for YDB с помощью Data Transfer
    • Миграция БД из Managed Service for PostgreSQL в Object Storage
    • Миграция БД из Greenplum® в ClickHouse
    • Миграция БД из Greenplum® в PostgreSQL
    • Миграция БД из стороннего кластера Redis в Managed Service for Redis
    • Использование кластера Managed Service for Redis в качестве хранилища сессий PHP
  • Продукты Microsoft в Yandex Cloud
    • Все руководства
    • Развертывание Active Directory
    • Развертывание Microsoft Exchange
    • Развертывание Remote Desktop Services
    • Развертывание группы доступности Always On с внутренним сетевым балансировщиком
    • Развертывание Remote Desktop Gateway
  • Сетевая инфраструктура
    • Все руководства
    • Архитектура и защита базового интернет-сервиса
    • Настройки DHCP для работы с корпоративным DNS-сервером
    • Маршрутизация с помощью NAT-инстанса
    • Создание туннеля IPSec VPN
    • Установка виртуального роутера Cisco CSR 1000v
    • Установка виртуального роутера Mikrotik CHR
    • Соединение с облачной сетью при помощи OpenVPN
    • Создание и настройка шлюза UserGate в режиме прокси-сервера
    • Создание и настройка шлюза UserGate в режиме межсетевого экрана
    • Настройка сети для Data Proc
  • Визуализация и анализ данных
    • Все руководства
    • Визуализация данных из файла
    • Создание и публикация диаграммы с картой Москвы из CSV-файла
    • Анализ продаж сети магазинов из БД ClickHouse
    • Анализ открытых данных ДТП на дорогах России
    • Анализ продаж и локаций пиццерий на данных из БД ClickHouse и Cloud Marketplace
    • Веб-аналитика с подключением к Яндекс Метрике
    • Веб-аналитика с расчетом воронок и когорт на данных Яндекс Метрики
    • Аналитика мобильного приложения на данных AppMetrica
    • Анализ статистики подкастов Яндекс Музыки (для авторов подкастов)
    • Визуализация данных с помощью QL-чарта
    • Анализ customer journey мобильного приложения на данных AppMetrica
    • Анализ логов Object Storage при помощи DataLens
  • Интернет вещей
    • Руководства по работе с интернетом вещей
    • Мониторинг состояния географически распределенных устройств
    • Мониторинг показаний датчиков и уведомления о событиях
  • Бессерверные технологии
    • Сокращатель ссылок
    • Ввод данных в системы хранения
    • Хранение журналов работы приложения
    • Развертывание веб-приложения с использованием Java Servlet API
    • Разработка Slack-бота
    • Разработка Telegram-бота
    • Разработка пользовательской интеграции в API Gateway
    • Разработка CRUD API для сервиса фильмов
    • Разработка навыка Алисы и сайта с авторизацией
  1. Веб-сервис
  2. Интеграция L7-балансировщика с Cloud CDN и Object Storage

Интеграция L7-балансировщика с Cloud CDN и Object Storage

Статья создана
Yandex Cloud
,
улучшена
Dmitry A.
  • Поддерживаемые инструменты
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте облачную сеть и подсети
  • Создайте бакет в Object Storage
  • Загрузите файл сервиса в бакет
  • Создайте группу безопасности
  • Создайте группу бэкендов в Application Load Balancer
  • Создайте HTTP-роутер и виртуальные хосты
  • Создайте L7-балансировщик
  • Создайте CDN-ресурс
  • Настройте DNS для сервиса
  • Проверьте работу сервиса
  • Как удалить созданные ресурсы

В этом руководстве в качестве бэкенда L7-балансировщика Yandex Application Load Balancer используется бакет Yandex Object Storage. Запросы пользователей передаются балансировщику через сеть распространения контента Yandex Cloud CDN, чтобы сократить время доставки контента.

В качестве примера будет использовано доменное имя cdn.yandexcloud.example.

Для выполнения шагов можно использовать различные поддерживаемые инструменты.

Чтобы построить архитектуру для интеграции L7-балансировщика с CDN и Object Storage:

  1. Подготовьте облако к работе.
  2. Создайте облачную сеть и подсети.
  3. Создайте бакет в Object Storage.
  4. Загрузите файл сервиса в бакет.
  5. Создайте группу безопасности.
  6. Создайте группу бэкендов в Application Load Balancer.
  7. Создайте HTTP-роутер и виртуальный хост.
  8. Создайте L7-балансировщик.
  9. Создайте CDN-ресурс.
  10. Настройте DNS для сервиса.
  11. Проверьте работу сервиса.

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

Поддерживаемые инструменты

Бо́льшую часть шагов можно выполнить с помощью любого из стандартных инструментов: консоли управления, интерфейсов командной строки (CLI) Yandex Cloud и AWS, Terraform и API Yandex Cloud. В каждом шаге перечислены поддерживаемые для него инструменты.

Некоторые инструменты поддерживаются не для всех шагов:

  • Через CLI и Terraform сейчас нельзя:
    • создать группу бэкендов в Application Load Balancer с бакетами в качестве бэкендов;
    • получить доменное имя CDN-балансировщика при настройке DNS для сервиса;
  • Через API сейчас нельзя получить доменное имя CDN-балансировщика при настройке DNS для сервиса.

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

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

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

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

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

В качестве примера будет использоваться каталог с именем example-folder.

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

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

  • плата за хранение данных в Object Storage, операции с ними и исходящий трафик (см. тарифы Object Storage);
  • плата за использование вычислительных ресурсов L7-балансировщика (см. тарифы Application Load Balancer);
  • плата за исходящий трафик с CDN-серверов (см. тарифы Cloud CDN);
  • плата за публичные DNS-запросы и DNS-зоны, если вы используете Yandex Cloud DNS (см. тарифы Cloud DNS).

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

Все ресурсы будут относиться к одной облачной сети.

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

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог example-folder.
  2. В списке сервисов выберите Virtual Private Cloud.
  3. Нажмите кнопку Создать сеть.
  4. Укажите Имя сети: example-network.
  5. В поле Дополнительно выберите опцию Создать подсети.
  6. Нажмите кнопку Создать сеть.

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  1. Создайте сеть example-network:

    yc vpc network create example-network
    

    Результат:

    id: enptrcle5q3d3ktd33hj
    folder_id: b1g9hv2loamqfnbul7d9
    created_at: "2022-04-04T05:25:03Z"
    name: example-network
    default_security_group_id: enpbsnnop4akg7ng70ll
    

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

  2. Создайте подсети во всех зонах доступности:

    • В ru-central1-a:

      yc vpc subnet create example-subnet-ru-central1-a \
        --zone ru-central1-a \
        --network-name example-network \
        --range 10.1.0.0/16
      

      Результат:

      id: e9bnnssj8sc8mjhat9qk
      folder_id: b1g9hv2loamqfnbul7d9
      created_at: "2022-04-04T09:27:00Z"
      name: example-subnet-ru-central1-a
      network_id: enptrcle5q3d3ktd33hj
      zone_id: ru-central1-a
      v4_cidr_blocks:
      - 10.1.0.0/16
      
    • В ru-central1-b:

      yc vpc subnet create example-subnet-ru-central1-b \
        --zone ru-central1-b \
        --network-name example-network \
        --range 10.2.0.0/16
      

      Результат:

      id: e2lghukd9iqo4haidjbt
      folder_id: b1g9hv2loamqfnbul7d9
      created_at: "2022-04-04T09:27:39Z"
      name: example-subnet-ru-central1-b
      network_id: enptrcle5q3d3ktd33hj
      zone_id: ru-central1-b
      v4_cidr_blocks:
      - 10.2.0.0/16
      
    • В ru-central1-c:

      yc vpc subnet create example-subnet-ru-central1-c \
        --zone ru-central1-c \
        --network-name example-network \
        --range 10.3.0.0/16
      

      Результат:

      id: b0c3pte4o2kn4v12o05p
      folder_id: b1g9hv2loamqfnbul7d9
      created_at: "2022-04-04T09:28:08Z"
      name: example-subnet-ru-central1-c
      network_id: enptrcle5q3d3ktd33hj
      zone_id: ru-central1-c
      v4_cidr_blocks:
      - 10.3.0.0/16
      

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

Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Опишите в конфигурационном файле параметры сети example-network и ее подсетей example-subnet-ru-central1-a, example-subnet-ru-central1-b и example-subnet-ru-central1-c:

    resource "yandex_vpc_network" "example-network" {
      name = "example-network"
    }
    
    resource "yandex_vpc_subnet" "example-subnet-a" {
      name           = "example-subnet-ru-central1-a"
      zone           = "ru-central1-a"
      network_id     = "${yandex_vpc_network.example-network.id}"
      v4_cidr_blocks = ["10.1.0.0/16"]
    }
    
    resource "yandex_vpc_subnet" "example-subnet-b" {
      name           = "example-subnet-ru-central1-b"
      zone           = "ru-central1-b"
      network_id     = "${yandex_vpc_network.example-network.id}"
      v4_cidr_blocks = ["10.2.0.0/16"]
    }
    
    resource "yandex_vpc_subnet" "example-subnet-c" {
      name           = "example-subnet-ru-central1-c"
      zone           = "ru-central1-c"
      network_id     = "${yandex_vpc_network.example-network.id}"
      v4_cidr_blocks = ["10.3.0.0/16"]
    }
    

    Подробнее см. в описаниях ресурсов yandex_vpc_network и yandex_vpc_subnet в документации провайдера Terraform.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

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

      terraform apply
      
    2. Подтвердите создание ресурсов.

  1. Создайте сеть example-network с помощью вызова gRPC API NetworkService/Create или метода REST API create.
  2. Создайте подсети example-subnet-ru-central1-a, example-subnet-ru-central1-b и example-subnet-ru-central1-c в трех зонах доступности с помощью вызова gRPC API SubnetService/Create или метода REST API create.

Создайте бакет в Object Storage

Создайте бакет example-bucket:

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

  2. В списке сервисов выберите Object Storage.

  3. Создайте бакет example-bucket:

    1. Нажмите кнопку Создать бакет.
    2. Укажите Имя бакета: example-bucket.
    3. В полях Доступ на чтение объектов и Доступ к списку объектов выберите Публичный.
    4. Нажмите кнопку Создать бакет.
  1. Создайте бакет example-bucket:

    aws --endpoint-url https://storage.yandexcloud.net \
      s3 mb s3://example-bucket
    

    Результат:

    make_bucket: s3://example-bucket
    
  2. Включите публичный доступ к чтению объектов и их списка:

    aws --endpoint-url https://storage.yandexcloud.net \
      s3api put-bucket-acl \
      --bucket example-bucket \
      --acl public-read
    
  1. Добавьте в конфигурационный файл параметры бакета example-bucket:

    ...
    
    resource "yandex_storage_bucket" "example-bucket" {
      bucket = "example-bucket"
      acl    = "public-read"
    }
    

    Подробнее о ресурсе yandex_storage_bucket см. в документации провайдера Terraform.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

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

      terraform apply
      
    2. Подтвердите создание ресурсов.

Используйте метод REST API create.

Загрузите файл сервиса в бакет

  1. Создайте файл index.html.

    Пример файла index.html
    <!DOCTYPE html>
    <html>
      <head>
        <title>My service</title>
      </head>
      <body>
        <p>The service is working</p>
      </body>
    </html>
    
  2. Загрузите файл в бакет:

    Консоль управления
    AWS CLI
    Terraform
    API
    1. В консоли управления выберите каталог example-folder.
    2. В списке сервисов выберите Object Storage.
    3. В списке бакетов выберите example-bucket.
    4. Нажмите кнопку Загрузить и выберите для загрузки файл index.html.
    1. Загрузите в бакет example-bucket файл index.html:

      aws --endpoint-url https://storage.yandexcloud.net \
        s3 cp v1/index.html s3://example-bucket/index.html
      

      Результат:

      upload: v1/index.html to s3://example-bucket/index.html
      
    1. Добавьте в конфигурационный файл параметры файла v1/index.html, загружаемого в бакет example-bucket:

      ...
      
      resource "yandex_storage_object" "example-bucket-index" {
        bucket = "example-bucket"
        key    = "index.html"
        source = "v1/index.html"
      }
      

      Подробнее о ресурсе yandex_storage_object см. в документации провайдера Terraform.

    2. Проверьте корректность конфигурационных файлов.

      1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

      2. Выполните проверку с помощью команды:

        terraform plan
        

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

    3. Разверните облачные ресурсы.

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

        terraform apply
        
      2. Подтвердите создание ресурсов.

    Используйте метод REST API upload.

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

Примечание

Группы безопасности находятся на стадии Preview. Если они недоступны в вашей сети, для ресурсов будет разрешен весь входящий и исходящий трафик и дополнительной настройки не требуется.

Группы безопасности содержат правила, которые разрешают L7-балансировщику получать входящий трафик и отправлять его на бакеты-бэкенды.

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

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите сервис Virtual Private Cloud.

  2. Перейдите на вкладку Группы безопасности.

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

  4. Укажите Имя группы: example-sg.

  5. Выберите Сеть example-network.

  6. В блоке Правила создайте следующие правила по инструкции под таблицей:

    Направление
    трафика
    Описание Диапазон
    портов
    Протокол Тип источника /
    назначения
    Источник /
    назначение
    Исходящий 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. Перейдите на вкладку Исходящий трафик или Входящий трафик.

    2. Нажмите кнопку Добавить правило.

    3. В открывшемся окне в поле Диапазон портов укажите один порт или диапазон портов, куда или откуда будет поступать трафик.

    4. В поле Протокол укажите нужный протокол или оставьте Любой, чтобы разрешить передачу трафика по всем протоколам.

    5. В поле Назначение или Источник выберите назначение правила:

      • CIDR — правило будет применено к диапазону IP-адресов. В поле CIDR блоки укажите CIDR и маски подсетей, в которые или из которых будет поступать трафик. Чтобы добавить несколько CIDR, нажимайте кнопку Добавить CIDR.
      • Группа безопасности — правило будет применено к ВМ из текущей группы или из выбранной группы безопасности.
      • Проверки состояния балансировщика — правило, которое позволяет балансировщику проверять состояние ВМ.
    6. Нажмите кнопку Сохранить. Таким образом создайте все правила из таблицы.

  7. Нажмите кнопку Сохранить.

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

yc vpc security-group create example-sg \
  --network-name example-network \
  --rule direction=egress,port=any,protocol=any,v4-cidrs=[0.0.0.0/0] \
  --rule direction=ingress,port=80,protocol=tcp,v4-cidrs=[0.0.0.0/0] \
  --rule direction=ingress,port=443,protocol=tcp,v4-cidrs=[0.0.0.0/0] \
  --rule direction=ingress,port=30080,protocol=tcp,predefined=loadbalancer_healthchecks

Результат:

id: enpd133ngcnrgc8475cc
folder_id: b1g9hv2loamqfnbul7d9
created_at: "2022-04-04T10:26:16Z"
name: example-sg
network_id: enptrcle5q3d3ktd33hj
status: ACTIVE
rules:
- id: enpkgrpi2gsibdm6aotd
  direction: EGRESS
  protocol_name: ANY
  protocol_number: "-1"
  cidr_blocks:
    v4_cidr_blocks:
    - 0.0.0.0/0
- id: enpgssij0i168jknb85r
  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: enp0bft67j9lrlnhdur5
  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: enpmorcimu65fk4oaanm
  direction: INGRESS
  ports:
    from_port: "30080"
    to_port: "30080"
  protocol_name: TCP
  protocol_number: "6"
  predefined_target: loadbalancer_healthchecks

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

  1. Добавьте в конфигурационный файл параметры группы безопасности example-sg:

    resource "yandex_vpc_security_group" "example-sg" {
      name       = "example-sg"
      network_id = yandex_vpc_network.example-network.id
    
      egress {
        protocol       = "ANY"
        port           = "ANY"
        v4_cidr_blocks = ["0.0.0.0/0"]
      }
    
      ingress {
        protocol       = "TCP"
        port           = 80
        v4_cidr_blocks = ["0.0.0.0/0"]
      }
    
      ingress {
        protocol       = "TCP"
        port           = 443
        v4_cidr_blocks = ["0.0.0.0/0"]
      }
    
      ingress {
        protocol          = "TCP"
        port              = 30080
        predefined_target = "loadbalancer_healthchecks"
      }
    }
    

    Более подробную информацию о параметрах ресурсов в Terraform см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

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

      terraform apply
      
    2. Подтвердите создание ресурсов.

Используйте вызов gRPC API SecurityGroupService/Create или метод REST API create.

Чтобы добавить правило для проверок состояния балансировщика, используйте параметр loadbalancer_healthchecks в поле SecurityGroupRuleSpec.target.predefined_target для gRPC API или в поле predefinedTarget для REST API.

Создайте группу бэкендов в Application Load Balancer

Консоль управления
API
  1. Создайте группу бэкендов example-bg с бэкендом example-backend:

    1. В консоли управления выберите каталог example-folder.
    2. В списке сервисов выберите Application Load Balancer и перейдите на вкладку Группы бэкендов.
    3. Нажмите кнопку Создать группу бэкендов.
    4. Введите имя группы бэкендов: example-bg.
    5. Выберите тип группы бэкендов HTTP.
    6. В блоке Бэкенды нажмите кнопку Добавить. Задайте настройки бэкенда:
      1. Введите имя бэкенда: example-backend.
      2. Задайте вес бэкенда: 100.
      3. Выберите тип бэкенда Бакет.
      4. В поле Бакет укажите название бакета: example-bucket.
    7. Нажмите кнопку Создать.
  2. Если вы будете выполнять следующие шаги с помощью Terraform, скопируйте идентификатор группы бэкендов example-bg со вкладки Группы бэкендов.

Используйте вызов gRPC API BackendGroupService/Create или метод REST API create.

Создайте HTTP-роутер и виртуальные хосты

Создайте HTTP-роутер с виртуальным хостом: cdn.mywebsite.com:

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

  2. В списке сервисов выберите Application Load Balancer и перейдите на вкладку HTTP-роутеры.

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

  4. Введите имя роутера: example-router.

  5. Создайте виртуальный хост example-vh:

    1. В блоке Виртуальные хосты нажмите кнопку Добавить виртуальный хост.
    2. Введите имя хоста: example-vh.
    3. Укажите значение Authority: cdn.yandexcloud.example
    4. Нажмите кнопку Добавить маршрут.
    5. Введите Имя: example-route.
    6. В поле Путь выберите Начинается с и укажите путь /.
    7. В списке Методы HTTP выберите GET.
    8. В поле Действие оставьте Маршрутизация.
    9. В списке Группа бэкендов выберите example-bg.
  6. Остальные настройки оставьте без изменений и нажмите кнопку Создать.

  1. Создайте HTTP-роутер example-router:

    yc alb http-router create example-router
    

    Результат:

    id: ds7qd0vj01djuu3c6f8q
    name: example-router
    folder_id: b1g9hv2loamqfnbul7d9
    created_at: "2022-04-04T10:31:41.027649223Z"
    

    Подробнее о команде yc alb http-router create см. в справочнике CLI.

  2. Создайте виртуальный хост example-vh:

    yc alb virtual-host create example-vh \
      --http-router-name example-router \
      --authority cdn.yandexcloud.example
    

    Результат:

    done (1s)
    name: example-vh
    authority:
    - cdn.yandexcloud.example
    

    Подробнее о команде yc alb virtual-host create см. в справочнике CLI.

  3. Создайте маршрут example-route в виртуальном хосте example-vh:

    yc alb virtual-host append-http-route example-route \
      --http-router-name example-router \
      --virtual-host-name example-vh \
      --prefix-path-match "/" \
      --backend-group-name example-bg
    

    Результат:

    done (1s)
    name: example-vh
    authority:
    - cdn.yandexcloud.example
    routes:
    - name: example-route
      http:
        match:
          path:
            prefix_match: /
        route:
          backend_group_id: ds7pbm5fj2v09ptnn29p
    

    Подробнее о команде yc alb virtual-host append-http-route см. в справочнике CLI.

  1. Добавьте в конфигурационный файл параметры HTTP-роутера example-router, его виртуальных хостов и маршрутов:

    ...
    
    resource "yandex_alb_http_router" "example-router" {
      name = "example-router"
    }
    
    resource "yandex_alb_virtual_host" "example-vh" {
      name           = "example-vh"
      http_router_id = ${yandex_alb_http_router.example-router.id}
      authority      = "cdn.yandexcloud.example"
      
      route {
        name = "example-route"
        http_route {
          http_route_action {
            backend_group_id = "<идентификатор группы бэкендов example-bg>"
          }
        }
      }  
    }
    

    Подробнее см. в описаниях ресурсов yandex_alb_http_router и yandex_alb_virtual_host в документации провайдера Terraform.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

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

      terraform apply
      
    2. Подтвердите создание ресурсов.

  1. Создайте HTTP-роутер example-router с помощью вызова gRPC API HttpRouterService/Create или метода REST API create.
  2. Создайте виртуальный хост example-vh, привязанный к роутеру, и его маршрут с помощью вызова gRPC API VirtualHostService/Create или метода REST API create.

Создайте L7-балансировщик

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

  2. В списке сервисов выберите Application Load Balancer и перейдите на вкладку Балансировщики.

  3. Нажмите кнопку Создать L7-балансировщик.

  4. Введите имя балансировщика: example-balancer.

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

    1. Выберите Сеть example-network.
    2. Выберите Группу безопасности example-sg. Если этого поля нет, для балансировщика будет разрешен любой входящий и исходящий трафик.
  6. В блоке Размещение выберите три подсети для узлов балансировщика — example-subnet-ru-central1-a, example-subnet-ru-central1-b и example-subnet-ru-central1-c — и включите передачу трафика в эти подсети.

  7. В блоке Обработчики нажмите кнопку Добавить обработчик. Задайте настройки обработчика:

    1. Введите имя обработчика: example-listener.
    2. В блоке Настройки публичного IP-адреса включите передачу трафика.
    3. Укажите порт 80.
    4. В поле Назначить IP-адрес выберите Автоматически.
  8. В поле HTTP-роутер выберите example-router.

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

  1. Получите идентификаторы подсетей сети example-network:

    yc vpc network list-subnets example-network
    

    Результат:

    +----------------------+-----------------------------+----------------------+----------------------+----------------+---------------+---------------+
    |          ID          |            NAME             |      FOLDER ID       |      NETWORK ID      | ROUTE TABLE ID |     ZONE      |     RANGE     |
    +----------------------+-----------------------------+----------------------+----------------------+----------------+---------------+---------------+
    | e9bnnssj8sc8mjhat9qk | example-subnet-ru-central1-c | b1g9hv2loamqfnbul7d9 | enptrcle5q3d3ktd33hj |                | ru-central1-c | [10.1.0.0/16] |
    | e2lghukd9iqo4haidjbt | example-subnet-ru-central1-b | b1g9hv2loamqfnbul7d9 | enptrcle5q3d3ktd33hj |                | ru-central1-b | [10.2.0.0/16] |
    | b0c3pte4o2kn4v12o05p | example-subnet-ru-central1-a | b1g9hv2loamqfnbul7d9 | enptrcle5q3d3ktd33hj |                | ru-central1-a | [10.3.0.0/16] |
    +----------------------+-----------------------------+----------------------+----------------------+----------------+---------------+---------------+
    

    Подробнее о команде yc vpc network list-subnets см. в справочнике CLI.

  2. Получите идентификатор группы безопасности example-sg:

    yc vpc security-group get example-sg | grep "^id"
    

    Результат:

    id: enpd133ngcnrgc8475cc
    

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

  3. Создайте балансировщик example-balancer:

    yc alb load-balancer create example-balancer \
      --network-name example-network \
      --security-group-id <идентификатор группы безопасности example-sg> \
      --location zone=ru-central1-a,subnet-id=<идентификатор подсети example-subnet-ru-central1-a> \
      --location zone=ru-central1-b,subnet-id=<идентификатор подсети example-subnet-ru-central1-b> \
      --location zone=ru-central1-c,subnet-id=<идентификатор подсети example-subnet-ru-central1-c>
    

    Результат:

    done (3m0s)
    id: ds77q7v39b4ubg8ta2n4
    name: example-balancer
    folder_id: b1g9hv2loamqfnbul7d9
    status: ACTIVE
    region_id: ru-central1
    network_id: enptrcle5q3d3ktd33hj
    allocation_policy:
      locations:
      - zone_id: ru-central1-c
        subnet_id: b0c3pte4o2kn4v12o05p
      - zone_id: ru-central1-b
        subnet_id: e2lghukd9iqo4haidjbt
      - zone_id: ru-central1-a
        subnet_id: e9bnnssj8sc8mjhat9qk
    log_group_id: ckg23vr4dlkse3hvq0kc
    security_group_ids:
    - enpd133ngcnrgc8475cc
    created_at: "2022-04-04T10:55:49.134935148Z"
    

    Подробнее о команде yc alb load-balancer create см. в справочнике CLI.

  4. Добавьте к балансировщику обработчик:

    yc alb load-balancer add-listener \
      --name example-balancer \
      --listener-name example-listener \
      --external-ipv4-endpoint port=80 \
      --http-router-name example-router
    

    Результат:

    done (43s)
    id: ds77q7v39b4ubg8ta2n4
    name: example-balancer
    folder_id: b1g9hv2loamqfnbul7d9
    status: ACTIVE
    region_id: ru-central1
    network_id: enptrcle5q3d3ktd33hj
    listeners:
    - name: example-listener
      endpoints:
      - addresses:
        - external_ipv4_address:
            address: 84.252.133.149
        ports:
        - "80"
      http:
        handler:
          http_router_id: ds7qd0vj01djuu3c6f8q
    allocation_policy:
      locations:
      - zone_id: ru-central1-c
        subnet_id: b0c3pte4o2kn4v12o05p
      - zone_id: ru-central1-b
        subnet_id: e2lghukd9iqo4haidjbt
      - zone_id: ru-central1-a
        subnet_id: e9bnnssj8sc8mjhat9qk
    log_group_id: ckg23vr4dlkse3hvq0kc
    security_group_ids:
    - enpd133ngcnrgc8475cc
    created_at: "2022-04-04T10:55:49.134935148Z"
    

    Подробнее о команде yc alb load-balancer add-listener см. в справочнике CLI.

  1. Добавьте в конфигурационный файл параметры L7-балансировщика example-balancer:

    ...
    
    resource "yandex_alb_load_balancer" "example-balancer" {
      name               = "example-balancer"
      network_id         = ${yandex_vpc_network.example-network.id}
      security_group_ids = [ ${yandex_vpc_security_group.example-sg.id} ]
    
      allocation_policy {
        location {
          zone_id   = "ru-central1-a"
          subnet_id = ${yandex_vpc_subnet.example-subnet-ru-central1-a.id}
        }
    
        location {
          zone_id   = "ru-central1-b"
          subnet_id = ${yandex_vpc_subnet.example-subnet-ru-central1-b.id}
        }
    
        location {
          zone_id   = "ru-central1-c"
          subnet_id = ${yandex_vpc_subnet.example-subnet-ru-central1-c.id}
        }
      }
    
      listener {
        name = "example-listener"
        endpoint {
          address {
            external_ipv4_address {
            }
          }
          ports = [80]
        }
        http {
          handler {
            http_router_id = ${yandex_alb_http_router.example-router.id}
          }
        }
      }
    }
    

    Подробнее о ресурсе yandex_alb_load_balancer см. в документации провайдера Terraform.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

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

      terraform apply
      
    2. Подтвердите создание ресурсов.

Используйте вызов gRPC API LoadBalancerService/Create или метод REST API create.

Создайте CDN-ресурс

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

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

  3. Если CDN-провайдер ещё не активирован, нажмите кнопку Подключиться к провайдеру.

  4. Создайте CDN-ресурс:

    1. На вкладке CDN-ресурсы нажмите кнопку Создать ресурс.

    2. Задайте основные параметры CDN-ресурса следующим образом:

      • Запрос контента — Из одного источника.

      • Тип источника — L7-балансировщик.

      • L7-балансировщик — example-balancer.

      • IP-адрес — IP-адрес, назначенный балансировщику (будет единственным в списке).

      • Доменные имена для раздачи контента — cdn.yandexcloud.example.

        Внимание

        Доменное имя cdn.yandexcloud.example станет основным и его будет невозможно изменить после создания CDN-ресурса.

      • В блоке Дополнительно:

        • В поле Протокол для источников выберите HTTP.
        • В поле Переадресация клиентов выберите С HTTP на HTTPS.
        • Выберите опцию Доступ конечных пользователей к контенту.
        • В поле Тип сертификата выберите Let's Encrypt®, чтобы автоматически выпустить сертификат для доменного имени cdn.yandexcloud.example после создания CDN-ресурса.
        • В поле Заголовок Host выберите Как у клиента.
    3. Нажмите кнопку Создать.

  1. Если CDN-провайдер ещё не активирован, выполните команду:

    yc cdn provider activate --folder-id <идентификатор каталога> --type gcore
    
  2. Создайте группу источников example-origin-group, указав IP-адрес балансировщика:

    yc cdn origin-group create --name "example-origin-group" \
      --origin source=<IP-адрес балансировщика>:80,enabled=true
    

    Результат:

    id: "90748"
    folder_id: b1geoelk7fldts6chmjq
    name: example-origin-group
    use_next: true
    origins:
    - id: "562449"
      origin_group_id: "90748"
      source: 51.250.10.216:80
      enabled: true
    

    Подробнее о команде yc cdn origin-group create см. в справочнике CLI.

  3. Скопируйте идентификатор группы источников origin_group_id из предыдущего шага и создайте CDN-ресурс, выполнив команду:

    yc cdn resource create \
      --cname cdn.yandexcloud.example \
      --origin-group-id <идентификатор группы источников> \
      --origin-protocol http \
      --redirect-http-to-https \
      --forward-host-header
    

    Результат:

    id: bc843k2yinvq5fhgvuvc
    folder_id: b1ge1elk72ldts6chmjq
    cname: cdn.yandexcloud.example
    ...
    active: true
    ...
    ...
    ...
    

    Подробнее о команде yc cdn resource create см. в справочнике CLI.

  1. Добавьте в конфигурационный файл параметры CDN-ресурсов:

    ...
    
    resource "yandex_cdn_origin_group" "my_group" {
      name     = "example-origin-group"
      use_next = true
      origin {
       source = "<IP-адрес балансировщика>:80"
       backup = false
      }
    }
    
    resource "yandex_cdn_resource" "my_resource" {
    
        cname               = "cdn.yandexcloud.example"
        active              = true
        origin_protocol     = "http"
        origin_group_id     = yandex_cdn_origin_group.my_group.id
        options {
            edge_cache_settings    = "345600"
            browser_cache_settings = "1800"
            ignore_cookie          = true
            ignore_query_params    = false
        }
    
    }
    

    Подробнее см. в описаниях ресурсов yandex_cdn_origin_group и yandex_cdn_resource в документации провайдера Terraform.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

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

      terraform apply
      
    2. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

    После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.

Используйте вызов gRPC API ResourceService/Create или метод REST API create.

Настройте DNS для сервиса

Доменное имя cdn.yandexcloud.example должно быть связано с CDN-ресурсом с помощью записей DNS.

Чтобы настроить DNS:

  1. Получите доменное имя CDN-балансировщика:

    Консоль управления
    1. В консоли управления выберите каталог example-folder.
    2. В списке сервисов выберите Cloud CDN.
    3. В списке CDN-ресурсов выберите ресурс с основным доменным именем cdn.yandexcloud.example.
    4. Из блока Настройки DNS внизу страницы скопируйте доменное имя вида cl-....edgecdn.ru.
  2. На сайте компании, которая предоставляет вам услуги DNS-хостинга, перейдите в настройки DNS.

  3. Создайте или измените CNAME-запись для cdn.yandexcloud.example так, чтобы она указывала на скопированное доменное имя:

    cdn CNAME cl-....edgecdn.ru
    

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

    Инструкция по настройке DNS-записей для Cloud DNS
    Консоль управления
    CLI
    Terraform
    API
    1. В консоли управления выберите сервис Cloud DNS.

    2. Если у вас нет публичной зоны DNS, создайте ее:

      1. Нажмите кнопку Создать зону.
      2. В поле Зона укажите доменное имя сайта с точкой в конце: yandexcloud.example.
      3. Выберите Тип зоны — Публичная.
      4. Укажите Имя зоны: example-dns-zone.
      5. Нажмите кнопку Создать.
    3. Создайте в зоне CNAME-запись для cdn.yandexcloud.example:

      1. В списке зон нажмите на зону example-dns-zone.
      2. Нажмите кнопку Создать запись.
      3. В поле Имя укажите cdn.
      4. Выберите Тип записи — CNAME.
      5. В поле Значение вставьте скопированное значение вида cl-....edgecdn.ru.
      6. Нажмите кнопку Создать.
    1. Если у вас нет публичной зоны DNS, создайте ее:

      yc dns zone create \
        --name example-dns-zone \
        --zone yandexcloud.example. \
        --public-visibility
      

      Результат:

      id: dns4rq4tadddth4h20qm
      folder_id: b1g9hv2loamqfnbul7d9
      created_at: "2022-04-04T11:03:28.847Z"
      name: example-dns-zone
      zone: yandexcloud.example.
      public_visibility: {}
      

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

    2. Создайте в зоне CNAME-запись для cdn.yandexcloud.example со скопированным значением вида cl-....edgecdn.ru:

      yc dns zone add-records \
        --name example-dns-zone \
        --record "cdn CNAME cl-....edgecdn.ru" \
      

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

    1. Добавьте в конфигурационный файл параметры DNS-зоны example-dns-zone и CNAME-записей в ней:

      ...
      
      resource "yandex_dns_zone" "example-dns-zone" {
        zone   = "yandexcloud.example."
        name   = "example-dns-zone"
        public = true
      }
      
      resource "yandex_dns_recordset" "example-recordset" {
        zone_id = ${yandex_dns_zone.example-dns-zone.id}
        name    = "cdn"
        type    = "CNAME"
        data    = ["<скопированное значение вида cl-....edgecdn.ru>"]
      }
      

      Подробнее см. в описаниях ресурсов yandex_dns_zone и yandex_dns_recordset в документации провайдера Terraform.

    2. Проверьте корректность конфигурационных файлов.

      1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

      2. Выполните проверку с помощью команды:

        terraform plan
        

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

    3. Разверните облачные ресурсы.

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

        terraform apply
        
      2. Подтвердите создание ресурсов.

    1. Создайте DNS-зону example-dns-zone с помощью вызова gRPC API DnsZoneService/Create или метода REST API create.
    2. Добавьте в зону CNAME-запись cdn со скопированным значением вида cl-....edgecdn.ru с помощью вызова gRPC API DnsZoneService/UpdateRecordSets или метода REST API updateRecordSets.

На обновление записей на DNS-серверах может потребоваться несколько часов. После этого вы сможете проверить работу сервиса.

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

Чтобы проверить работу сервиса, откройте в браузере адрес https://cdn.yandexcloud.example/index.html. Вы должны увидеть страницу с таким содержанием:

<!DOCTYPE html>
<html>
  <head>
    <title>My service</title>
  </head>
  <body>
    <p>The service is working</p>
  </body>
</html>

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

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

  1. Если вы настраивали CNAME-записи в Cloud DNS, удалите зону DNS example-dns-zone.
  2. Удалите CDN-ресурс с основным доменным именем cdn.yandexcloud.example.
  3. Удалите L7-балансировщик example-balancer.
  4. Удалите все объекты из бакета example-bucket.
  5. Удалите бакет example-bucket.
  6. Удалите подсети example-subnet-ru-central1-a, example-subnet-ru-central1-b и example-subnet-ru-central1-c.
  7. Удалите сеть example-network.

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

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Поддерживаемые инструменты
  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте облачную сеть и подсети
  • Создайте бакет в Object Storage
  • Загрузите файл сервиса в бакет
  • Создайте группу безопасности
  • Создайте группу бэкендов в Application Load Balancer
  • Создайте HTTP-роутер и виртуальные хосты
  • Создайте L7-балансировщик
  • Создайте CDN-ресурс
  • Настройте DNS для сервиса
  • Проверьте работу сервиса
  • Как удалить созданные ресурсы