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

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

  • Перед обновлением версии
  • Обновить версию кластера
  • Обновить версию совместимости
  • Примеры
  1. Пошаговые инструкции
  2. Кластеры
  3. Обновление версии Yandex StoreDoc

Обновление версии Yandex StoreDoc

Статья создана
Yandex Cloud
Обновлена 10 октября 2025 г.
  • Перед обновлением версии
  • Обновить версию кластера
  • Обновить версию совместимости
  • Примеры

Вы можете обновить кластер Yandex StoreDoc только на следующую версию относительно текущей, например, с версии 4.2 на 4.4. Обновление до более поздних версий производится поэтапно. Например, обновление версии Yandex StoreDoc с 4.2 до 8.0 выполняется в такой последовательности: 4.2 → 4.4 → 5.0 → 6.0 → 7.0 → 8.0. Перед каждым этапом обновления кластера необходимо обновлять версию совместимости кластера.

Внимание

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

Перед обновлением версииПеред обновлением версии

  1. Убедитесь, что это не нарушит работу ваших приложений:

  2. Посмотрите в истории изменений MongoDB, как обновления могут повлиять на работу ваших приложений.

  3. Попробуйте обновить версию на тестовом кластере. Его можно развернуть из резервной копии основного кластера.

  4. Создайте резервную копию основного кластера непосредственно перед обновлением версии.

  5. Убедитесь, что версия совместимости кластера соответствует текущей версии кластера. При необходимости обновите версию совместимости кластера.

Обновить версию кластераОбновить версию кластера

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Yandex StoreDoc.
  2. Выберите нужный кластер в списке и нажмите кнопку Редактировать.
  3. В поле Версия выберите номер новой версии.
  4. Нажмите кнопку Сохранить изменения.

После запуска обновления кластер переходит в статус UPDATING. Дождитесь окончания операции и проверьте версию кластера.

  1. Получите список ваших кластеров Yandex StoreDoc командой:

    yc managed-mongodb cluster list
    
  2. Получите информацию о нужном кластере и проверьте версию Yandex StoreDoc, указанную в свойстве config.version:

    yc managed-mongodb cluster get <имя_или_идентификатор_кластера>
    
  3. Запустите обновление Yandex StoreDoc:

    yc managed-mongodb cluster update <имя_или_идентификатор_кластера> \
       --mongodb-version=<номер_новой_версии>
    

    После запуска обновления кластер переходит в статус UPDATING. Дождитесь окончания операции и проверьте версию кластера.

  4. После обновления все возможности Yandex StoreDoc, у которых нет обратной совместимости с прежней версией, выключаются. Чтобы снять это ограничение, выполните команду:

    yc managed-mongodb cluster update <имя_или_идентификатор_кластера> \
       --feature-compatibility-version=<номер_новой_версии>
    
  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Добавьте к описанию кластера Yandex StoreDoc поле version или измените его значение, если оно уже существует:

    resource "yandex_mdb_mongodb_cluster" "<имя_кластера>" {
      ...
      cluster_config {
        version = "<версия_Yandex_StoreDoc>"
      }
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

  4. Подтвердите изменение ресурсов.

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

      terraform plan
      

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

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

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

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

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

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение операций с кластером Yandex StoreDoc:

  • создание, в т. ч. путем восстановления из резервной копии, — 30 минут;
  • изменение — 60 минут.

Операции, длящиеся дольше указанного времени, прерываются.

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_mongodb_cluster" "<имя_кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
  }
}
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    curl \
       --request PATCH \
       --header "Authorization: Bearer $IAM_TOKEN" \
       --header "Content-Type: application/json" \
       --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<идентификатор_кластера>' \
       --data '{
                "updateMask": "configSpec.version",
                "configSpec": {
                  "version": "<новая_версия_Yandex_StoreDoc>"
                }
              }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

      В данном случае передается один параметр.

    • configSpec.version — новая версия Yandex StoreDoc.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [ 
                  "config_spec.version"
                ]
              },  
              "config_spec": {
                "version": "<версия_Yandex_StoreDoc>"
              }
           }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.mongodb.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      В данном случае передается один параметр.

    • version — новая версия Yandex StoreDoc.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Примечание

После обновления все возможности Yandex StoreDoc, у которых нет обратной совместимости с прежней версией, выключаются. Чтобы снять это ограничение, обновите версию совместимости кластера.

Обновить версию совместимостиОбновить версию совместимости

Обновление версии совместимости кластера требуется, если вам нужно:

  • обновить кластер до новой версии, при этом версия совместимости не соответствует текущей версии кластера;
  • сделать доступными новые возможности Yandex StoreDoc после обновления кластера.

Подробнее об обратной совместимости читайте в документации MongoDB.

Внимание

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

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Yandex StoreDoc.
  2. Выберите нужный кластер в списке и нажмите кнопку Редактировать.
  3. В поле Версия совместимости выберите номер нужной версии.
  4. Нажмите кнопку Сохранить изменения.
  1. Получите список ваших кластеров Yandex StoreDoc командой:

    yc managed-mongodb cluster list
    
  2. Получите информацию о нужном кластере и проверьте версию Yandex StoreDoc, указанную в свойстве config.feature_compatibility_version:

    yc managed-mongodb cluster get <имя_или_идентификатор_кластера>
    
  3. Выполните команду изменения кластера, указав новую версию совместимости:

    yc managed-mongodb cluster update <имя_или_идентификатор_кластера> \
       --feature-compatibility-version=<версия_совместимости_Yandex_StoreDoc>
    
  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Добавьте к описанию кластера Yandex StoreDoc поле feature_compatibility_version или измените его значение, если оно уже существует:

    resource "yandex_mdb_mongodb_cluster" "<имя_кластера>" {
      ...
      cluster_config {
        feature_compatibility_version = "<версия_совместимости_Yandex_StoreDoc>"
      }
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

  4. Подтвердите изменение ресурсов.

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

      terraform plan
      

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

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

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

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

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

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение операций с кластером Yandex StoreDoc:

  • создание, в т. ч. путем восстановления из резервной копии, — 30 минут;
  • изменение — 60 минут.

Операции, длящиеся дольше указанного времени, прерываются.

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_mongodb_cluster" "<имя_кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
  }
}
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    curl \
       --request PATCH \
       --header "Authorization: Bearer $IAM_TOKEN" \
       --header "Content-Type: application/json" \
       --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<идентификатор_кластера>' \
       --data '{
                "updateMask": "configSpec.featureCompatibilityVersion",
                "configSpec": {
                  "featureCompatibilityVersion": "<версия_совместимости_Yandex_StoreDoc>"
                }
              }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

      В данном случае передается один параметр.

    • configSpec.featureCompatibilityVersion — новая версия совместимости Yandex StoreDoc.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [ 
                  "config_spec.feature_compatibility_version"
                ]
              },  
              "config_spec": {
                "feature_compatibility_version": "<версия_совместимости_Yandex_StoreDoc>"
              }
           }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.mongodb.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      В данном случае передается один параметр.

    • feature_compatibility_version — новая версия совместимости Yandex StoreDoc.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

ПримерыПримеры

Допустим, нужно обновить кластер с версии 5.0 до версии 6.0.

CLI
  1. Чтобы узнать идентификатор кластера, получите список всех кластеров в каталоге:

    yc managed-mongodb cluster list
    

    Результат:

    +----------------------+---------------+---------------------+--------+---------+
    |          ID          |     NAME      |     CREATED AT      | HEALTH | STATUS  |
    +----------------------+---------------+---------------------+--------+---------+
    | c9q8p8j2gaih******** |   storedoc406  | 2019-04-23 12:44:17 | ALIVE  | RUNNING |
    +----------------------+---------------+---------------------+--------+---------+
    
  2. Чтобы получить информацию о кластере c9qut3k64b2o********, выполните команду:

    yc managed-mongodb cluster get c9qut3k64b2o********
    

    Результат:

    id: c9qut3k64b2o********
    folder_id: b1g0itj57rbj********
    created_at: "2019-07-16T09:43:50.393231Z"
    name: storedoc406
    environment: PRODUCTION
    monitoring:
    - name: Console
      description: Console charts
      link: https://console.yandex.cloud/folders/b1g0itj57rbj********/managed-mongodb/cluster/c9qut3k64b2o********?section=monitoring
    config:
      version: "5.0"
      feature_compatibility_version: "5.0"
      ...
    
  3. Чтобы обновить кластер c9qutgkd4b2o******** до версии 6.0, выполните команду:

    yc managed-mongodb cluster update c9qutgkd4b2o******** \
        --mongodb-version=6.0
    
  4. Чтобы включить все возможности версии 6.0 в кластере c9qutgkd4b2o********, выполните команду:

    yc managed-mongodb cluster update c9qutgkd4b2o******** \
        --feature-compatibility-version=6.0
    

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

Предыдущая
Изменение настроек кластера
Следующая
Остановка и запуск кластера
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»