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

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

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

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

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

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

  • размер индекса превышает 50 ГБ;
  • возраст индекса превышает 30 дней.

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

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

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

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

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

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

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

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

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

    2. Если вы используете группы безопасности в кластере, убедитесь, что они настроены правильно и допускают подключение к кластеру Managed Service for OpenSearch.

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

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

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

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

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

      • сеть;
      • подсеть;
      • группа безопасности и правила, необходимые для подключения к кластеру Managed Service for OpenSearch;
      • кластер Managed Service for OpenSearch.
    6. Укажите в файле opensearch-index-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_с_ролью_DATA>:9200/'
    

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

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

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

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

  1. Создайте политику, которая переносит псевдоним в новый индекс (rollover):

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request PUT 'https://<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/_plugins/_ism/policies/rollover_policy' \
        --data '
            {
                "policy": {
                    "description": "Example rollover policy",
                    "default_state": "rollover",
                    "schema_version": 1,
                    "states": [
                        {
                            "name": "rollover",
                            "actions": [
                                {
                                    "rollover": {
                                        "min_index_age": "1h",
                                        "min_primary_shard_size": "500b"
                                    }
                                }
                            ],
                            "transitions": []
                        }
                    ],
                    "ism_template": {
                        "index_patterns": ["log*"],
                        "priority": 100
                    }
                }
            }'
    

    Где:

    • min_index_age — возраст индекса, по достижении которого будет создан новый индекс. Рекомендуемое значение — 30 дней (30d).
    • min_primary_shard_size — размер одного из основных сегментов в индексе. По достижении этого размера будет создан новый индекс. Рекомендуемое значение — 50 ГБ (50gb).
    • index_patterns — шаблон имени для нового индекса.

    Чтобы быстро проверить работу политики, в примере запроса рекомендуемые значения уменьшены до 1 часа и 500 байт.

  2. Настройте шаблон индекса, в котором назначьте политике псевдоним log:

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request PUT 'https://<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/_index_template/ism_rollover?pretty' \
        --data '
            {
                "index_patterns": ["log*"],
                "template": {
                    "settings": {
                        "plugins.index_state_management.rollover_alias": "log"
                    }
                }
            }'
    

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

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

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request PUT 'https://<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/log-000001?pretty' \
        --data '
            {
                "aliases": {
                    "log": {
                        "is_write_index": true
                    }
                }
            }'
    
  2. Проверьте, прикреплена ли политика к индексу:

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

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

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

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

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

    curl \
        --user admin:<пароль> \
        --cacert ~/.opensearch/root.crt \
        --header 'Content-Type: application/json' \
        --request POST 'https://<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/log/_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 '<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/_cat/indices?pretty'
    

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

    В результатах вывода должны отображаться индексы log-000001 и log-000002:

    yellow open log-000001 ... 1 1 0 0 5.1kb 5.1kb
    yellow open log-000002 ... 1 1 0 0  208b  208b
    
  3. (Опционально) Через час после создания индекса снова получите список индексов.

    В результатах вывода должны отображаться индексы log-000001, log-000002, log-000003:

    yellow open log-000001 ... 1 1 0 0 5.1kb 5.1kb
    yellow open log-000002 ... 1 1 0 0  208b  208b
    yellow open log-000003 ... 1 1 0 0    0b    0b
    

    1 час — это условие политики для создания нового индекса.

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

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

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

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

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

    Важно

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

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

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

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

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

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

Предыдущая
Мониторинг состояния кластера и хостов
Следующая
Аутентификация в OpenSearch Dashboards с помощью Keycloak
Проект Яндекса
© 2025 ООО «Яндекс.Облако»