Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Managed Service for MongoDB
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • Изменение настроек кластера и базы данных
    • Переключение первичной реплики
    • Обновление версии MongoDB
    • Управление базами данных
    • Управление хостами кластера
    • Управление пользователями БД
    • Управление резервными копиями
    • Управление шардами
    • Удаление кластера
    • Мониторинг состояния кластера и хостов
    • Диагностика производительности
    • Инструменты для анализа производительности
  • Практические руководства
    • Шардирование коллекций
    • Миграция данных в Managed Service for MongoDB
    • Перенос коллекций из MongoDB в Managed Service for MongoDB
    • Анализ производительности и оптимизация
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for MongoDB
    • Квоты и лимиты
    • Хранилище в Managed Service for MongoDB
    • Резервные копии
    • Репликация
    • Шардирование
    • Пользователи и роли
    • Техническое обслуживание
    • Поддерживаемые клиенты
    • Настройки MongoDB
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта 2019 года до 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • BackupService
      • ClusterService
      • DatabaseService
      • ResourcePresetService
      • UserService
      • OperationService
    • REST (англ.)
      • Overview
      • Backup
        • Overview
        • delete
        • get
        • list
      • Cluster
        • Overview
        • addHosts
        • addShard
        • backup
        • create
        • delete
        • deleteHosts
        • deleteShard
        • enableSharding
        • get
        • getShard
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • listShards
        • move
        • rescheduleMaintenance
        • resetupHosts
        • restartHosts
        • restore
        • start
        • stepdownHosts
        • stop
        • streamLogs
        • update
      • Database
        • Overview
        • create
        • delete
        • get
        • list
      • ResourcePreset
        • Overview
        • get
        • list
      • User
        • Overview
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Operation
        • Overview
        • get
  • История изменений
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о MongoDB
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Изменение настроек кластера и базы данных

Изменение настроек кластера

Статья создана
Yandex.Cloud
  • Изменить класс хостов
  • Увеличить размер хранилища
  • Изменить настройки MongoDB
  • Изменить дополнительные настройки кластера
  • Изменить группы безопасности

После создания кластера вы можете:

  • Изменить класс хостов.

  • Увеличить размер хранилища (недоступно для хранилища на нереплицируемых SSD-дисках).

  • Настроить серверы MongoDB согласно документации MongoDB.

  • Изменить дополнительные настройки кластера.

  • Изменить группы безопасности.

Изменить класс хостов

Примечание

Некоторые настройки MongoDB зависят от выбранного класса хостов.

Консоль управления
CLI
Terraform
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.

  2. Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.

  3. В блоке Класс хоста выберите:

    • Одну из доступных платформ.
    • Тип конфигурации: memory-optimized, standard или burstable.
    • Класс хостов — он определяет технические характеристики виртуальных машин, на которых будут развернуты хосты БД. При изменении класса хостов для кластера меняются характеристики всех созданных хостов.
  4. Нажмите кнопку Сохранить изменения.

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

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

Чтобы изменить класс хостов для кластера:

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

    yc managed-mongodb cluster update --help
    
  2. Запросите список доступных классов хостов (в колонке ZONES указаны зоны доступности, в которых можно выбрать соответствующий класс):

    yc managed-mongodb resource-preset list
    
    +-----------+--------------------------------+-------+----------+
    |    ID     |            ZONE IDS            | CORES |  MEMORY  |
    +-----------+--------------------------------+-------+----------+
    | s1.micro  | ru-central1-a, ru-central1-b,  |     2 | 8.0 GB   |
    |           | ru-central1-c                  |       |          |
    | ...                                                           |
    +-----------+--------------------------------+-------+----------+
    
  3. Укажите нужный класс в команде изменения кластера:

    yc managed-mongodb cluster update <имя кластера>
      --mongod-resource-preset <ID класса>
    

    Managed Service for MongoDB запустит операцию изменения класса хостов для кластера.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

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

  2. Измените в описании кластера Managed Service for MongoDB значение параметра resource_preset_id в блоке resources:

    resource "yandex_mdb_mongodb_cluster" "<имя кластера>" {
      ...
      resources {
          resource_preset_id = "<класс хостов MongoDB>"
          ...
      }
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

Воспользуйтесь методом API update и передайте в запросе нужные значения в параметре configSpec.mongodbSpec_4_2.mongod.resources.resourcePresetId.

Список поддерживаемых значений запрашивайте методом list для ресурсов ResourcePreset.

Увеличить размер хранилища

Убедитесь, что:

  • Нужный кластер не использует хранилище на нереплицируемых SSD-дисках. Увеличить размер хранилища на нереплицируемых SSD-дисках невозможно.
  • В облаке хватает квоты на увеличение хранилища. Откройте страницу Квоты для вашего облака и проверьте, что в секции Managed Databases не исчерпано место в строке Объем HDD-хранилищ или Объем SSD-хранилищ.
Консоль управления
CLI
Terraform
API

Чтобы увеличить размер хранилища для кластера:

  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
  2. Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.
  3. В разделе Размер хранилища укажите необходимое значение.
  4. Нажмите кнопку Сохранить изменения.

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

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

Чтобы увеличить размер хранилища для кластера:

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

    yc managed-mongodb cluster update --help
    
  2. Укажите нужный объем хранилища в команде изменения кластера. Новый объем должен быть не меньше, чем текущее значение disk_size в свойствах кластера.

    yc managed-mongodb cluster update <имя или идентификатор кластера> \
      --mongod-disk-size <размер хранилища в гигабайтах>
    

    Если все условия выполнены, Managed Service for MongoDB запустит операцию по увеличению объема хранилища.

Чтобы увеличить размер хранилища для кластера:

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

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

  2. Измените в описании кластера Managed Service for MongoDB значение параметра disk_size в блоке resources:

    resource "yandex_mdb_mongodb_cluster" "<имя кластера>" {
      ...
      resources {
        disk_size = <размер хранилища в гигабайтах>
        ...
      }
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

Чтобы увеличить размер хранилища для кластера, воспользуйтесь методом API update и передайте в запросе нужные значения в параметре configSpec.mongodbSpec_4_2.mongod.resources.diskSize.

Изменить настройки MongoDB

Вы можете изменить настройки СУБД для хостов вашего кластера.

Примечание

Некоторые настройки MongoDB зависят от выбранного класса хостов.

Консоль управления
CLI
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
  2. Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.
  3. Чтобы изменить настройки MongoDB, нажмите кнопку Настроить в блоке Настройки СУБД.
  4. Нажмите кнопку Сохранить изменения.

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

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

Чтобы изменить настройки MongoDB для кластера, используйте команду:

yc managed-mongodb cluster update-config

Например, для установки значения параметра net.maxIncomingConnections в 4096, выполните следующую команду:

yc managed-mongodb cluster update-config <имя кластера>
  --set net.max_incoming_connections=4096

Managed Service for MongoDB запустит операцию изменения настроек СУБД для кластера. Если изменяемая настройка применяется только с перезапуском СУБД, то Managed Service for MongoDB последовательно перезапустит СУБД на всех хостах кластера.

Воспользуйтесь методом API update и передайте в запросе нужные значения в параметре configSpec.mongodbSpec_4_2.mongod.config.

Все поддерживаемые настройки описаны в справочнике API.

Изменить дополнительные настройки кластера

Консоль управления
CLI
Terraform
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.

  2. Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.

  3. Измените дополнительные настройки кластера:

    • Начало резервного копирования (UTC)

      Время по UTC (в 24-часовом формате), когда начинается резервное копирование кластера. Если время не задано, резервное копирование начнется в 22:00 UTC.

    • Срок хранения автоматических резервных копий, дней

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

      Изменение срока хранения затрагивает как новые автоматические резервные копии, так и уже существующие. Например, если изначальный срок хранения был 7 дней и оставшееся время жизни отдельной автоматической резервной копии при таком сроке — 1 день, то при увеличении срока хранения до 9 дней, оставшееся время жизни этой резервной копии будет уже 3 дня.

      Для существующего кластера автоматически созданные копии хранятся заданное количество дней, а созданные вручную — бессрочно. После удаления кластера все копии хранятся 7 дней.

    • Окно обслуживания — настройки времени технического обслуживания:

      • Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
      • Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.

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

    • Сбор статистики — включите эту опцию, чтобы воспользоваться инструментом Диагностика производительности в кластере. Эта функциональность находится на стадии Preview.

    • Защита от удаления — управляет защитой кластера от непреднамеренного удаления пользователем.

      Включенная защита от удаления кластера не помешает подключиться вручную и удалить содержимое базы данных.

  4. Нажмите кнопку Сохранить изменения.

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

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

Чтобы изменить дополнительные настройки кластера:

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

    yc managed-mongodb cluster update --help
    
  2. Выполните команду, передав список настроек, которые хотите изменить:

    yc managed-mongodb cluster update <идентификатор или имя кластера> \
      --backup-retain-period-days=<срок хранения> \
      --backup-window-start <время начала резервного копирования> \
      --maintenance-window type=<тип технического обслуживания: anytime или weekly>,`
                           `day=<день недели для типа weekly>,`
                           `hour=<час дня для типа weekly>
    

Вы можете изменить следующие настройки:

  • --backup-retain-period — срок хранения автоматических резервных копий (в днях).

    Значение параметра <срок хранения> задается в диапазоне от 7 до 35 (по умолчанию — 7). Эта функциональность находится на стадии Preview. Подробнее см. в разделе Резервные копии.

    Изменение срока хранения затрагивает как новые автоматические резервные копии, так и уже существующие.

    Например, если изначальный срок хранения был 7 дней и оставшееся время жизни отдельной автоматической резервной копии при таком сроке — 1 день, то при увеличении срока хранения до 9 дней, оставшееся время жизни этой резервной копии будет уже 3 дня.

  • --backup-window-start — время начала резервного копирования кластера, задается по UTC в формате HH:MM:SS. Если время не задано, резервное копирование начнется в 22:00 UTC.
  • --maintenance-window — настройки времени технического обслуживания (в т. ч. для выключенных кластеров):

    • type — тип технического обслуживания:
      • anytime — в любое время.
      • weekly — по расписанию.
    • day — день недели для типа weekly в формате DDD. Например, MON.
    • hour — час дня по UTC для типа weekly в формате HH. Например, 21.
  • --deletion-protection — защита кластера от непреднамеренного удаления пользователем.

    Включенная защита от удаления кластера не помешает подключиться вручную и удалить содержимое базы данных.

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

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

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

  2. Чтобы изменить время начала резервного копирования, добавьте к описанию кластера Managed Service for MongoDB блок backup_window_start в секции cluster_config:

    resource "yandex_mdb_mongodb_cluster" "<имя кластера>" {
      ...
      cluster_config {
        backup_window_start {
          hours   = <Час начала резервного копирования>
          minutes = <Минута начала резервного копирования>
        }
        ...
      }
      ...
    }
    
  3. Чтобы разрешить доступ из сервиса Yandex DataLens, добавьте к описанию кластера Managed Service for MongoDB блок access в секции cluster_config:

    resource "yandex_mdb_mongodb_cluster" "<имя кластера>" {
      ...
      cluster_config {
        ...
        access {
          data_lens = <Доступ из DataLens: true или false>
        }
      ...
    }
    
  4. Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), добавьте к описанию кластера блок maintenance_window:

    resource "yandex_mdb_mongodb_cluster" "<имя кластера>" {
      ...
      maintenance_window {
        type = <тип технического обслуживания: ANYTIME или WEEKLY>
        day  = <день недели для типа WEEKLY>
        hour = <час дня для типа WEEKLY>
      }
      ...
    }
    

    Где:

    • type — тип технического обслуживания:
      • ANYTIME — в любое время.
      • WEEKLY — по расписанию.
    • day — день недели для типа WEEKLY в формате DDD. Например, MON.
    • hour — час дня по UTC для типа WEEKLY в формате HH. Например, 21.
  5. Чтобы включить защиту кластера от непреднамеренного удаления пользователем вашего облака, добавьте к описанию кластера поле deletion_protection со значением true:

    resource "yandex_mdb_mongodb_cluster" "<имя кластера>" {
      ...
      deletion_protection = <защита от удаления кластера: true или false>
    }
    

    Включенная защита от удаления кластера не помешает подключиться вручную и удалить содержимое базы данных.

  6. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

Воспользуйтесь методом API update и передайте в запросе:

  • Идентификатор кластера в параметре clusterId.

  • Новое время начала резервного копирования в параметре configSpec.backupWindowStart.

  • Настройки доступа из других сервисов в параметре configSpec.access.

  • Настройки времени технического обслуживания (в т. ч. для выключенных кластеров) в параметре maintenanceWindow.

  • Настройки защиты от удаления кластера в параметре deletionProtection.

    Включенная защита от удаления кластера не помешает подключиться вручную и удалить содержимое базы данных.

  • Список полей конфигурации кластера, подлежащих изменению, в параметре updateMask.

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

Важно

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

Изменить группы безопасности

Консоль управления
CLI
Terraform
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
  2. Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.
  3. В блоке Сетевые настройки выберите группы безопасности для сетевого трафика кластера.
  4. Нажмите кнопку Сохранить изменения.

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

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

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

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

    yc managed-mongodb cluster update --help
    
  2. Укажите нужные группы безопасности в команде изменения кластера:

    yc managed-mongodb cluster update <идентификатор или имя кластера> \
      --security-group-ids <список групп безопасности>
    
  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

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

  2. Измените в описании кластера Managed Service for MongoDB значение параметра security_group_ids:

    resource "yandex_mdb_mongodb_cluster" "<имя кластера>" {
      ...
      security_group_ids = [ <Список идентификаторов групп безопасности> ]
      ...
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

Воспользуйтесь методом API update и передайте в запросе:

  • Идентификатор кластера в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  • Список групп в параметре securityGroupIds.
  • Список настроек, которые необходимо изменить, в параметре updateMask. Если не задать этот параметр, метод API сбросит на значения по умолчанию все настройки кластера, которые не были явно указаны в запросе.

Важно

Может потребоваться дополнительная настройка групп безопасности для подключения к кластеру.

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

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Изменить класс хостов
  • Увеличить размер хранилища
  • Изменить настройки MongoDB
  • Изменить дополнительные настройки кластера
  • Изменить группы безопасности