Создание ресурса
Чтобы создать ресурс:
-
В консоли управления выберите каталог, в котором нужно создать ресурс.
-
Выберите сервис Cloud CDN.
-
Если у вас еще нет CDN-ресурсов, нажмите кнопку Подключиться к провайдеру. Подключение происходит автоматически.
-
Нажмите кнопку Создать ресурс.
-
В блоке Контент выберите Запрос контента
Из одного источника
илиИз группы источников
:-
При запросе контента
Из одного источника
выберите Тип источника:Сервер
,Бакет
илиL7-балансировщик
. Укажите источник. Подробнее о типах см. в разделе Источники и их группы. -
При запросе контента
Из группы источников
выберите группу источников или создайте новую:- Нажмите кнопку Создать новую.
- Введите Название группы.
- Настройте Источники:
- Укажите Тип источника:
Сервер
,Бакет
илиL7-балансировщик
. Подробнее о типах см. в разделе Источники и их группы. - Укажите источник.
- Выберите Приоритет:
Основной
илиРезервный
. Подробнее о приоритетах см. в разделе Группы источников.
- Укажите Тип источника:
- Добавьте другие источники, если необходимо.
- Нажмите кнопку Создать. В поле Группа источников вы увидите название созданной группы.
Подробнее см. в разделе Источники и их группы.
-
-
В блоке Доменные имена для раздачи контента введите Доменное имя. Вы можете добавить более одного Доменного имени. Поддерживаются имена с символами не из ASCII, например кириллическими, и Punycode. Первое имя считается основным.
Важно
После создания ресурса изменить основное имя будет невозможно.
В настройках вашего DNS-хостинга создайте для указанных доменных имен CNAME-записи со значением, которое отображается внизу блока Доменные имена для раздачи контента. Подробнее см. в разделе Доменные имена для раздачи контента.
-
В блоке Дополнительно:
- Выберите Протокол для источников.
- Выберите способ переадресации клиентов:
Не использовать
,С HTTP на HTTPS
илиС HTTPS на HTTP
. - Включите или выключите Доступ конечных пользователей к контенту.
- Если вы выбрали протокол
HTTP
, то в поле Тип сертификата выберитеНе использовать
. В других случаях выберите сертификатLet's Encrypt®
илиСвой сертификат
. Подробнее см. в разделе Настройка TLS-сертификатов для HTTPS-соединений между клиентами и CDN. - Выберите значение Заголовка Host:
Основное доменное имя
,Как у клиента
или выберитеСвое значение
и введите Значение заголовка. Подробнее см. в разделе Заголовок Host в запросах CDN-серверов к источникам.
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Если вы создаете первый ресурс, сначала подключитесь к провайдеру:
yc cdn provider activate --type gcore
-
Посмотрите описание команды CLI для создания ресурсов:
yc cdn resource create --help
-
Получите список групп источников в каталоге:
yc cdn origin-group list --format yaml
Результат:
- id: "90209" folder_id: somefolder7p3l5eobbd name: test-group-1 use_next: true origins: - id: "561547" origin_group_id: "90209" source: www.example2.com enabled: true backup: true - id: "561546" origin_group_id: "90209" source: www.example1.com enabled: true - id: "90208" folder_id: b1g86q4m5vej8lkljme5 name: test-group use_next: true origins: - id: "561545" origin_group_id: "90208" source: www.a2.com enabled: true backup: true - id: "561544" origin_group_id: "90208" source: www.a1.com enabled: true
-
Создайте ресурс:
yc cdn resource create <доменное имя ресурса> \ --origin-group-id <идентификатор группы источников> \ --origin-protocol <протокол для источников>
- Вместо группы источников
--origin-group-id
можно указать доменное имя источника, используя флаг--origin-custom-source
. - Для
--origin-protocol
доступны значенияHTTP
,HTTPS
иMATCH
(как у клиента).
Подробнее о команде
yc cdn resource create
см. в справочнике CLI. - Вместо группы источников
Поставщик CDN должен быть активирован до использования ресурсов CDN. Сделать это можно в консоли управления или с помощью команды YC CLI:
yc cdn provider activate --folder-id <идентификатор каталога> --type gcore
Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры создаваемого CDN-ресурса:
terraform { required_providers { yandex = { source = "yandex-cloud/yandex" version = "0.69.0" } } } provider "yandex" { token = "<OAuth>" cloud_id = "<идентификатор облака>" folder_id = "<идентификатор каталога>" zone = "<зона доступности>" } resource "yandex_cdn_resource" "my_resource" { cname = "cdn1.yandex-example.ru" active = false origin_protocol = "https" secondary_hostnames = ["cdn-example-1.yandex.ru", "cdn-example-2.yandex.ru"] origin_group_id = yandex_cdn_origin_group.my_group.id }
Где:
cname
— основное доменное имя для раздачи контента. Обязательный параметр.active
— флаг, указывающий на доступ к контенту для конечных пользователей.True
— контент из CDN будет доступен клиентам. Необязательный параметр, значение по умолчанию:true
.origin_protocol
— протокол для источников. Необязательный параметр, значение по умолчанию:http
.secondary_hostnames
— дополнительные доменные имена. Необязательный параметр.origin_group_id
— идентификатор группы источников. Обязательный параметр. Используйте идентификатор из описания группы источников в ресурсеyandex_cdn_origin_group
.
Более подробную информацию о параметрах
yandex_cdn_resource
в Terraform см. в документации провайдера. -
В командной строке перейдите в папку, где расположен конфигурационный файл Terraform.
-
Проверьте конфигурацию командой:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминал слово
yes
и нажмите Enter.Проверить изменение CDN-ресурса можно в консоли управления или с помощью команды CLI:
yc cdn resource list
Новый ресурс начнет корректно работать после того, как запись CNAME, которую вы создали в своем DNS-хостинге (см. раздел о доменных именах для раздачи контента), распространится по серверам DNS. На это может потребоваться несколько часов.
Примеры
Создайте ресурс с протоколом HTTP:
yc cdn resource create testexample.com \
--origin-group-id 90209 \
--origin-protocol HTTP
Результат:
id: someidkfjqjfl325fw
...
cname: testexample.com
active: true
...
origin_group_id: "90209"
origin_group_name: test-group-1
origin_protocol: HTTP
ssl_certificate:
type: DONT_USE
status: READY