Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Cloud CDN
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Ресурсы
      • Создать ресурс
      • Изменить основные настройки ресурса
      • Настроить кеширование ресурса
      • Настроить выгрузку логов
      • Предзагрузить файлы на CDN-серверы
      • Очистить кеш ресурса
      • Настроить заголовки запросов и ответов
      • Настроить CORS при ответах клиентам
      • Настроить HTTP-методы
      • Включить сжатие файлов
      • Включить сегментацию файлов
      • Включить экранирование источников
      • Отключить ресурс
      • Удалить ресурс
    • Группы источников
      • Создать группу источников
      • Изменить группу источников
      • Подключить группу источников к ресурсу
      • Удалить группу источников
  • Практические руководства
    • Все практические руководства
    • Публикация обновлений для игр
    • Интеграция L7-балансировщика с CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
  • Концепции
    • Обзор сервиса
    • Ресурс
    • Источники и их группы
    • Обмен данными между клиентами и CDN
      • Обзор
      • TLS-сертификаты
      • CORS
      • Сжатие контента
    • Обмен данными между CDN и источниками
      • Обзор
      • Заголовок Host
      • Сегментация контента
      • Экранирование источников
    • Кеширование контента
    • Выгрузка логов
    • Квоты и лимиты
  • Управление доступом
  • Решение проблем
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • CacheService
      • OriginGroupService
      • OriginService
      • ProviderService
      • RawLogsService
      • ResourceService
      • OperationService
    • REST (англ.)
      • Overview
      • Cache
        • Overview
        • prefetch
        • purge
      • OriginGroup
        • Overview
        • create
        • delete
        • get
        • list
        • update
      • Origin
        • Overview
        • create
        • delete
        • get
        • list
        • update
      • Provider
        • Overview
        • activate
        • listActivated
      • RawLogs
        • Overview
        • activate
        • deactivate
        • get
        • update
      • Resource
        • Overview
        • create
        • delete
        • get
        • getProviderCName
        • list
        • update
  • Правила тарификации
  1. Пошаговые инструкции
  2. Ресурсы
  3. Настроить кеширование ресурса

Настройка кеширования ресурса

Статья создана
Yandex Cloud

    Чтобы настроить параметры кеширования для ресурса:

    Консоль управления
    CLI
    Terraform
    1. В консоли управления выберите каталог, в котором расположен ресурс.

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

    3. Нажмите на имя необходимого ресурса.

    4. Перейдите на вкладку Кеширование.

    5. В правом верхнем углу нажмите кнопку Редактировать.

    6. Выберите и настройте нужные варианты кеширования:

      • В блоке CDN:

        • Включите опцию Кеширование в CDN.
        • Выберите тип настроек: Как у источника или Свои настройки.
        • Выберите время жизни кеша из списка.
        • (опционально) Для типа настроек Свои настройки задайте время жизни кеша для нужных HTTP-кодов ответа.
      • В блоке Браузер:

        • Включите опцию Кеширование в браузере.
    7. (опционально) В блоке Дополнительно:

      • Выберите опцию игнорирования Cookie.
      • Выберите опцию игнорирования Query-параметров.
    8. Нажмите кнопку Сохранить.

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

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

    1. Посмотрите описание команды CLI для редактирования ресурсов:

      yc cdn resource update --help
      
    2. Получите список всех ресурсов в каталоге по умолчанию:

      yc cdn resource list --format yaml
      

      Результат:

      id: someidkfjqjfl325fw
      folder_id: somefolder7p3l5eobbd
      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
      
    3. Чтобы изменить время жизни кеша, выполните:

      yc cdn resource update <идентификатор ресурса> \
        --cache-expiration-time <время в секундах> \
        --browser-cache-expiration-time <время в секундах> \
        --ignore-cookie true \
        --ignore-query-string
      

      Где:

      • --cache-expiration-time — время жизни кеша в секундах.
      • --browser-cache-expiration-time — время жизни кеша браузера в секундах.
      • --ignore-cookie со значением true включает игнорирование Cookie.
      • --ignore-query-string включает игнорирование Query-параметров.

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

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

    1. Опишите в конфигурационном файле параметры создаваемого CDN-ресурса yandex_cdn_resource:

      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
          options {
            edge_cache_settings    = "345600"
            browser_cache_settings = "1800"
            ignore_cookie          = true
            ignore_query_params    = false
          }
      
      }
      

      Где:

      • cname — основное доменное имя для раздачи контента. Обязательный параметр.
      • active — флаг, указывающий на доступ к контенту для конечных пользователей. True — контент из CDN будет доступен клиентам. Необязательный параметр, значение по умолчанию: true.
      • origin_protocol — протокол для источников. Необязательный параметр, значение по умолчанию: http.
      • secondary_hostnames — дополнительные доменные имена. Необязательный параметр.
      • origin_group_id — идентификатор группы источников. Обязательный параметр. Используйте идентификатор из описания группы источников в ресурсе yandex_cdn_origin_group.
      • Блок options содержит дополнительные параметры CDN-ресурсов:
        • browser_cache_settings — время жизни кеша в браузере в секундах. Необязательный параметр, значение по умолчанию: 0.
        • edge_cache_settings — время жизни кеша для кодов ответа в секундах. Необязательный параметр, значение по умолчанию: 345600.
        • ignore_query_params — игнорировать query-параметры. Необязательный параметр, значение по умолчанию: false.
        • ignore_cookie — игнорировать cookie. Необязательный параметр, значение по умолчанию: false.

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

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

    3. Проверьте конфигурацию командой:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    4. Выполните команду:

      terraform plan
      

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

    5. Примените изменения конфигурации:

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

      Проверить изменение CDN-ресурса можно в консоли управления или с помощью команды CLI:

      yc cdn resource list
      

    Чтобы новые настройки существующего ресурса применились к CDN-серверам, может потребоваться до 15 минут. После этого рекомендуется очистить кеш ресурса.

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

    Language / Region
    Проект Яндекса
    © 2023 ООО «Яндекс.Облако»