Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for OpenSearch
  • Начало работы
    • Настройка политики индексов в Managed Service for OpenSearch
    • Настройка политики холодного хранилища в Managed Service for OpenSearch
    • Аутентификация в OpenSearch Dashboards с помощью Keycloak
    • Использование плагина yandex-lemmer
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Вопросы и ответы

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

  • Перед началом работы
  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Создайте политику
  • Прикрепите политику к индексу
  • Проверьте работу политики
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Настройка политики холодного хранилища в Managed Service for OpenSearch

Настройка политики холодного хранилища в Managed Service for OpenSearch

Статья создана
Yandex Cloud
Обновлена 12 марта 2026 г.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Создайте политику
  • Прикрепите политику к индексу
  • Проверьте работу политики
  • Удалите созданные ресурсы

Примечание

В регионе Казахстан доступна только зона доступности kz1-a.

С помощью политик можно автоматически выполнять некоторые операции с индексами. Например, чтобы оптимизировать использование хранилища, вы можете установить политику, которая будет перемещать в определенную группу хостов «холодные» данные, а затем перепаковывать эти данные с помощью кодека, который обеспечивает большую степень сжатия.

Чтобы настроить такую политику:

  1. Подготовьте облако к работе.
  2. Подготовьте инфраструктуру.
  3. Создайте политику.
  4. Прикрепите политику к индексу.
  5. Проверьте работу политики.

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

Перед началом работыПеред началом работы

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

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

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

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

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

  • Кластер Managed Service for OpenSearch: использование вычислительных ресурсов и объем хранилища (см. тарифы Managed Service for OpenSearch).
  • Публичные IP-адреса (см. тарифы Virtual Private Cloud).

Подготовьте инфраструктуруПодготовьте инфраструктуру

  1. Подготовьте кластер Managed Service for OpenSearch:

    Вручную
    С помощью Terraform
    1. Создайте кластер Managed Service for OpenSearch любой подходящей конфигурации со следующими настройками:

      • Две или более группы хостов с ролью DATA. Двум группам присвойте имена hot и cold.
      • Публичный доступ к любой группе хостов.
    2. Если вы используете группы безопасности в кластере, убедитесь, что они допускают подключение к кластеру Managed Service for OpenSearch.

    1. Если у вас еще нет Terraform, установите его.

    2. Получите данные для аутентификации. Вы можете добавить их в переменные окружения или указать далее в файле с настройками провайдера.

    3. Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его.

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

    5. Скачайте в ту же рабочую директорию файл конфигурации opensearch-cold-storage-policy.tf. В файле описаны:

      • сеть;
      • подсети;
      • группа безопасности и правила, необходимые для подключения к кластеру Managed Service for OpenSearch;
      • кластер Managed Service for OpenSearch.
    6. Укажите в файле opensearch-cold-storage-policy.tf переменные:

      • version — версия OpenSearch.
      • admin_password — пароль администратора OpenSearch.
    7. Проверьте корректность файлов конфигурации Terraform с помощью команды:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

    8. Создайте необходимую инфраструктуру:

      1. Выполните команду для просмотра планируемых изменений:

        terraform plan
        

        Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

      2. Если вас устраивают планируемые изменения, внесите их:

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

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

        3. Дождитесь завершения операции.

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

  2. Установите SSL-сертификат.

  3. Проверьте подключение к кластеру с помощью утилиты cURL:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --request GET 'https://<FQDN_хоста_OpenSearch_с_публичным_доступом>:9200/'
    

    FQDN хоста можно получить со списком хостов в кластере.

    При успешном подключении будет выведено сообщение вида:

    {
      "name" : "....mdb.yandexcloud.kz",
      "cluster_name" : "...",
      "cluster_uuid" : "...",
      "version" : {
      "distribution" : "opensearch",
      ...
      },
      "tagline" : "The OpenSearch Project: https://opensearch.org/"
    }
    

Создайте политикуСоздайте политику

Создайте политику, которая переводит «горячие» данные в «холодные», а затем в архив:

curl \
    --user admin:<пароль> \
    --cacert ~/.opensearch/root.crt \
    --header 'Content-Type: application/json' \
    --request PUT 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/_plugins/_ism/policies/archive_policy' \
    --data '
        {
            "policy": {
                "description": "Example archive policy",
                "default_state": "hot",
                "schema_version": 1,
                "states": [
                    {
                        "name": "hot",
                        "actions": [
                            {
                                "allocation": {
                                    "require": { "groupname": "hot" }
                                }
                            }
                        ],
                        "transitions": [
                            {
                                "state_name": "cold",
                                "conditions": {
                                    "min_index_age": "1h"
                                }
                            }
                        ]
                    },
                    {
                        "name": "cold",
                        "actions": [
                            {
                                "allocation": {
                                    "require": { "groupname": "cold" }
                                }
                            }
                        ],
                        "transitions": [
                            {
                                "state_name": "archive",
                                "conditions": {
                                    "min_index_age": "2h"
                                }
                            }
                        ]
                    },
                    {
                        "name": "archive",
                        "actions": [
                            {
                                "repack": {
                                    "new_codec": "lzma"
                                }
                            }
                        ]
                    }
                ],
                "ism_template": {
                    "index_patterns": ["log*"],
                    "priority": 100
                }
            }
        }'

Где:

  • min_index_age — возраст индекса, по достижении которого будет создан новый индекс. Рекомендуемое значение — 30 дней (30d).
  • index_patterns — шаблон имени для нового индекса.
  • new_codec — название кодека, которым будут переупакованы данные.

Чтобы быстро проверить работу политики, в примере запроса установлены значения min_index_age:

  • Для состояния hot — 1 час. По истечении этого времени данные будут переведены в «холодные».
  • Для состояния cold — 2 часа. По истечении этого времени данные будут переупакованы кодеком lzma (перевод в архив).

Вы можете указать меньшие значения, но не менее 5 минут — это время по умолчанию, через которое повторяется проверка условий политики.

Прикрепите политику к индексуПрикрепите политику к индексу

  1. Создайте индекс log-000001:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request PUT 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/log-000001?pretty' \
        --data '
            {
                "settings": {
                    "index" : {
                        "routing" : {
                            "allocation" : {
                                "require" : {
                                    "groupname" : "hot"
                                }
                            }
                        }
                    }
                }
            }'
    
  2. Проверьте, прикреплена ли политика к индексу:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request GET 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/_plugins/_ism/explain/log-000001?pretty'
    

    В результатах будет выведено сообщение вида:

    {
      "log-000001" : {
        "index.plugins.index_state_management.policy_id" : "archive_policy",
        "index.opendistro.index_state_management.policy_id" : "archive_policy",
        "index" : "log-000001",
        "index_uuid" : "...",
        "policy_id" : "archive_policy",
        "enabled" : true
      },
      "total_managed_indices" : 1
    }
    

Проверьте работу политикиПроверьте работу политики

  1. Добавьте в индекс документ:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request POST 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/log-000001/_doc?pretty' \
        --data '
            {
                "num": "101",
                "name": "Valya",
                "age": "25"
            }'
    
  2. Через 5 минут после создания документа получите список шардов индекса:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request GET 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/_cat/shards/log-000001?pretty'
    

    В результатах будут выведены шарды индекса log-000001 и адреса хостов, на которых располагаются шарды:

    log-000001 0 r STARTED 1 5.2kb 10.2.0.35 rc1b-lgio8pjp********.mdb.yandexcloud.net
    log-000001 0 p STARTED 1 5.2kb 10.1.0.4  rc1a-g36ksm4q********.mdb.yandexcloud.net 
    
  3. Убедитесь, что шард расположен в группе хостов hot. Для этого получите список хостов с атрибутами:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request GET 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/_cat/nodeattrs/?v&h=node,attr,value&pretty'
    

    В результатах будут содержаться строки:

    node                                       attr       value
    rc1b-lgio8pjp********.mdb.yandexcloud.net  groupname  hot
    rc1a-g36ksm4q********.mdb.yandexcloud.net  groupname  hot
    ...
    
  4. Через час после создания индекса снова получите список шардов для индекса log-000001:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request GET 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/_cat/shards/log-000001?pretty'
    

    1 час — это условие политики для перемещения индекса в группу хостов с именем cold.

    В результатах будут выведены шарды индекса log-000001 и новые адреса хостов, на которых располагаются шарды:

    log-000001 0 r STARTED 1 5.2kb 10.2.0.22 rc1b-is77nbdv********.mdb.yandexcloud.net
    log-000001 0 p STARTED 1 5.2kb 10.1.0.25 rc1a-qocaisq1********.mdb.yandexcloud.net
    
  5. Снова запросите список хостов с атрибутами:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request GET 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/_cat/nodeattrs/?v&h=node,attr,value&pretty'
    

    В результатах будут содержаться строки:

    node                                       attr       value
    rc1b-is77nbdv********.mdb.yandexcloud.net  groupname  cold
    rc1a-qocaisq1********.mdb.yandexcloud.net  groupname  cold
    ...
    
  6. Еще через час снова получите список шардов для индекса log-000001:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request GET 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/_cat/shards/log-000001?pretty'
    

    2 часа — это условие политики для применения нового кодека (перевод в архив).

    В результатах будут выведены шарды индекса log-000001 и адреса хостов, на которых располагаются шарды:

    log-000001 0 r STARTED 1 4.8kb 10.2.0.22 rc1b-is77nbdv********.mdb.yandexcloud.net
    log-000001 0 p STARTED 1 4.8kb 10.1.0.25 rc1a-qocaisq1********.mdb.yandexcloud.net 
    

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

  7. Получите настройки индекса и убедитесь, что в них указан кодек lzma:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request GET 'https://<адрес_хоста_OpenSearch_с_публичным_доступом>:9200/log-000001/_settings?pretty'
    

    Результат:

    {
      "log-000001" : {
        "settings" : {
          "index" : {
            ...
            "codec" : "lzma",
            "routing" : {
              "allocation" : {
                "require" : {
                  "groupname" : "cold"
                }
              }
            },
            ...
          }
        }
      }
    }
    

Удалите созданные ресурсыУдалите созданные ресурсы

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

Вручную
С помощью Terraform

Удалите кластер Managed Service for OpenSearch.

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

    Важно

    Убедитесь, что в директории нет Terraform-манифестов с ресурсами, которые вы хотите сохранить. Terraform удаляет все ресурсы, которые были созданы с помощью манифестов в текущей директории.

  2. Удалите ресурсы:

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

      terraform destroy
      
    2. Подтвердите удаление ресурсов и дождитесь завершения операции.

    Все ресурсы, которые были описаны в Terraform-манифестах, будут удалены.

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

Предыдущая
Настройка политики индексов в Managed Service for OpenSearch
Следующая
Аутентификация в OpenSearch Dashboards с помощью Keycloak
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»