Изменение основных настроек ресурса
Чтобы изменить основные настройки ресурса:
-
В консоли управления
выберите каталог, в котором расположен ресурс. -
Выберите сервис Cloud CDN.
-
Нажмите на имя необходимого ресурса.
-
В правом верхнем углу нажмите кнопку
Редактировать. -
Измените настройки ресурса.
Важно
Основное доменное имя для раздачи контента нельзя изменить.
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для редактирования ресурсов:
yc cdn resource update --help
-
Получите список всех ресурсов в каталоге по умолчанию:
yc cdn resource list --format yaml
Результат:
id: s0me1dkfjq******** folder_id: s0mef01der7p******** cname: testexample.com created_at: "2022-01-19T09:23:57.921365Z" updated_at: "2022-01-19T10:55:30.305141Z" active: true options: edge_cache_settings: enabled: true default value: "345600" cache_http_headers: enabled: true value: - content-type - content-length - connection - server - date - test stale: enabled: true value: - error - updating allowed_http_methods: value: - GET - POST - HEAD - OPTIONS origin_group_id: "89783" origin_group_name: My origins group origin_protocol: HTTP ssl_certificate: type: DONT_USE status: READY
-
Измените настройки ресурса:
yc cdn resource update <идентификатор_ресурса> \ <флаг> <новое_значение>
Если вы хотите ограничить доступ к контенту ресурса с помощью защищенных токенов используйте параметры:
--secure-key
— секретный ключ — произвольная строка длиной от 6 до 32 символов.--enable-ip-url-signing
— (опционально) параметр, который включает ограничение доступа к CDN-ресурсу по IP-адресу. Сам доверенный IP-адрес задается вне CDN-ресурса и указывается в качестве параметра при формировании MD5 -хэша для подписанной ссылки. Если параметр не задан, доступ к файлам будет разрешен с любых IP-адресов.
См. также Настройка доступа по защищенному токену.
Если вы хотите ограничить доступ к контенту ресурса с помощью политики доступа по IP-адресам, используйте параметры:
-
--acl-excepted-values
— IP-адрес, для которого будет разрешен или запрещен доступ к контенту. Для адреса укажите префикс подсети в нотации CIDR , например:192.168.3.2/32
или2a03:d000:2980:7::8/128
.В параметре
--acl-excepted-values
можно передать только один IP-адрес. Чтобы передать больше адресов, задайте параметр--acl-excepted-values
несколько раз. -
--policy-type
— тип политики. Возможные значения:allow
— разрешающая политика. Доступ к контенту ресурса будет разрешен для любых IP-адресов, кроме адресов, заданных в параметре--acl-excepted-values
.deny
— блокирующая политика. Доступ к контенту ресурса будет запрещен для любых IP-адресов, кроме адресов, заданных в параметре--acl-excepted-values
.
Чтобы отключить политику доступа по IP-адресам, используйте параметр
--clear-ip-address-acl
.Подробнее о команде
yc cdn resource update
см. в справочнике CLI.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы изменить параметры CDN-ресурса, созданного с помощью Terraform:
-
Откройте файл конфигурации Terraform и измените фрагмент с описанием ресурса:
resource "yandex_cdn_resource" "my_resource" { cname = "<имя_домена>" active = true origin_protocol = "https" origin_group_id = <идентификатор_группы_источников> secondary_hostnames = ["<дополнительное_доменное_имя_1>", "дополнительное_доменное_имя_2"] ssl_certificate { type = "certificate_manager" certificate_manager_id = "<идентификатор_сертификата>" } options { redirect_http_to_https = true secure_key = "<секретный_ключ>" enable_ip_url_signing = true ip_address_acl { excepted_values = ["<IP-адрес_1>", "<IP-адрес_2>", ..., "<IP-адрес_n>"] policy_type = "<тип_политики>" } } }
Где:
-
cname
— основное доменное имя для раздачи контента. Обязательный параметр. -
active
— (опционально) флаг, указывающий на доступ к контенту для конечных пользователей:true
— контент из CDN доступен клиентам,false
— доступ к контенту отключен. Значение по умолчанию:true
. -
origin_protocol
— (опционально) протокол для источников. Значение по умолчанию:http
. -
origin_group_id
— идентификатор группы источников. Обязательный параметр. Используйте идентификатор из описания группы источников в ресурсеyandex_cdn_origin_group
. -
secondary_hostnames
— (опционально) дополнительные доменные имена. -
ssl_certificate
— (опционально) параметры SSL-сертификата:-
type
— тип сертификата, возможные значения:not_used
— без сертификата. Значение по умолчанию.certificate_manager
— пользовательский сертификат Yandex Certificate Manager. Укажите идентификатор сертификата в параметреcertificate_manager_id
.
-
certificate_manager_id
— идентификатор пользовательского сертификата в Certificate Manager.
-
-
options
— (опционально) дополнительные параметры CDN-ресурса:-
redirect_http_to_https
— параметр для переадресации клиентов с HTTP на HTTPS, возможные значения:true
илиfalse
. Доступно при использовании SSL-сертификата. -
secure_key
— секретный ключ. Произвольная строка длиной от 6 до 32 символов. Необходим, чтобы ограничить доступ к ресурсу с помощью защищенных токенов. -
enable_ip_url_signing
— опциональный параметр, который включает ограничение доступа к CDN-ресурсу по IP-адресу с помощью защищенных токенов. Сам доверенный IP-адрес задается вне CDN-ресурса и указывается в качестве параметра при формировании MD5 -хэша для подписанной ссылки. Если параметр не задан, доступ к файлам будет разрешен с любых IP-адресов. -
ip_address_acl
— параметры политики доступа по IP-адресам:-
excepted_values
— список IP-адресов, для которых будет разрешен или запрещен доступ к контенту ресурса. IP-адреса указываются через запятую. Для каждого адреса укажите префикс подсети в нотации CIDR , например:192.168.3.2/32
или2a03:d000:2980:7::8/128
. -
policy_type
— тип политики. Возможные значения:allow
— разрешающая политика. Доступ к контенту ресурса будет разрешен для любых IP-адресов, кроме адресов, заданных в параметреip_address_acl.excepted_values
.deny
— блокирующая политика. Доступ к контенту ресурса будет запрещен для любых IP-адресов, кроме адресов, заданных в параметреip_address_acl.excepted_values
.
-
-
Более подробную информацию о параметрах
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
Воспользуйтесь методом REST API update для ресурса Resource или вызовом gRPC API ResourceService/Update.
Вы можете ограничить доступ к ресурсу с помощью защищенных токенов и политики доступа по IP-адресам.
Чтобы новые настройки существующего ресурса применились к CDN-серверам, может потребоваться до 15 минут. После этого рекомендуется очистить кеш ресурса.
Примеры
Измените протокол для источников с HTTP на HTTPS и выберите сертификат Let's Encrypt®, добавленный в Certificate Manager, или загруженный собственный сертификат:
yc cdn resource update s0me1dkfjq******** \
--origin-protocol HTTPS \
--cert-manager-ssl-cert-id <идентификатор_сертификата>
Результат:
id: s0me1dkfjq********
...
cname: testexample.com
active: true
...
origin_group_id: "89783"
origin_group_name: My origins group
origin_protocol: HTTPS
ssl_certificate:
type: CM
status: CREATING