Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Managed Service for MySQL®
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • SQL-запросы в консоли управления
    • Изменение кластера
    • Подключение к DataLens
    • Управление хостами MySQL
    • Управление базами данных
    • Управление пользователями
    • Управление правами пользователей
    • Управление резервными копиями
    • Просмотр логов кластера
    • Удаление кластера
    • Диагностика производительности
    • Мониторинг состояния кластера и хостов
  • Концепции
  • Практические руководства
  • Управление доступом
  • Правила тарификации
  • Справочник API
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы
  1. Пошаговые инструкции
  2. Изменение кластера

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

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

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

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

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

  • Изменить настройки MySQL.

    Важно

    Вы не можете менять настройки MySQL с помощью команд SQL.

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

  • Переместить кластер в другой каталог.

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

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

Выбор класса хостов в кластерах Managed Service for MySQL ограничен квотами на количество CPU и объем памяти, которые доступны кластерам БД в вашем облаке. Чтобы проверить используемые ресурсы, откройте страницу Квоты и найдите блок Managed Databases.

Примечание

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

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

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

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

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

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

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

    yc managed-mysql 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-mysql cluster update <имя кластера>
      --resource-preset <ID класса>
    

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

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

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

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

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

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL:

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

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

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

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

resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}

Чтобы изменить класс хостов, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:

  • Идентификатор кластера в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  • Нужный класс хостов в параметре configSpec.resources.resourcePresetId. Список поддерживаемых значений запрашивайте методом list для ресурсов ResourcePreset.
  • Список настроек, которые необходимо изменить (в данном случае — configSpec.resources.resourcePresetId), в параметре updateMask.

Важно

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

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

Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты для облака и убедитесь, что в секции Managed Databases в строке Объём HDD-хранилищ или Объём SSD-хранилищ есть запас места.

Консоль управления
CLI
Terraform
API

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL:

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

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

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

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

resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}

Чтобы увеличить размер хранилища для кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:

  • Идентификатор кластера в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  • Размер хранилища в параметре configSpec.resources.diskSize.
  • Список изменяемых полей конфигурации кластера в параметре updateMask (в данном случае — configSpec.resources.diskSize).

Важно

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

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

Примечание

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

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

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

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

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

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

    yc managed-mysql cluster update-config --help
    
  2. Установите нужные значения параметров.

    Все поддерживаемые параметры перечислены в формате запроса для метода update, в поле mysql_config_5_7. Чтобы указать имя параметра в вызове CLI, преобразуйте его имя из вида lowerCamelCase в snake_case, например, параметр logMinDurationStatement из запроса к API преобразуется в log_min_duration_statement для команды CLI:

    yc managed-mysql cluster update-config <имя кластера>
      --set log_min_duration_statement=100,<имя параметра>=<значение>,...
    

    Managed Service for MySQL запустит операцию по изменению настроек кластера.

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

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

  2. Добавьте или измените в описании кластера Managed Service for MySQL параметры настроек СУБД в блоке mysql_config:

    resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
      ...
      mysql_config = {
        <имя настройки MySQL> = <значение>
        ...
      }
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL:

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

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

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

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

resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}

Чтобы изменить настройки MySQL, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:

  • Идентификатор кластера в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  • Массив с новыми настройками MySQL в параметре:
    • configSpec.mysqlConfig_5_7.sqlMode для MySQL версии 5.7.
    • configSpec.mysqlConfig_8_0.sqlMode для MySQL версии 8.0.
  • Список изменяемых полей конфигурации кластера в параметре updateMask.

Важно

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

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

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

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

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

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

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

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

      Автоматические резервные копии будут храниться указанное количество дней.

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

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

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

    • Доступ из DataLens

      Разрешает анализировать данные из кластера в сервисе Yandex DataLens.

      Подробнее о настройке подключения см. в разделе Подключение к DataLens.

    • Доступ из консоли управления

      Разрешает выполнять SQL-запросы к базам кластера из консоли управления Yandex Cloud.

    • Доступ из Data Transfer — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме.

      Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.

    • Сбор статистики — включите эту опцию, чтобы воспользоваться инструментом Диагностика производительности в Managed Service for MySQL в кластере.

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

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

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

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

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

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

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

    yc managed-mysql cluster update <имя кластера> \
      --backup-window-start <время начала резервного копирования> \
      --backup-retain-period-days=<срок хранения автоматических резервных копий, дней> \
      --datalens-access=<true или false> \
      --maintenance-window type=<тип технического обслуживания: anytime или weekly>,`
                          `day=<день недели для типа weekly>,`
                          `hour=<час дня для типа weekly> \
      --websql-access=<true или false> \
      --deletion-protection=<защита от удаления кластера: true или false>
    

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

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

  • --datalens-access — разрешает доступ из DataLens. Значение по умолчанию — false. Подробнее о настройке подключения см в разделе Подключение к MySQL-кластеру из DataLens.

  • --maintenance-window — настройки времени технического обслуживания (в т. ч. для выключенных кластеров):

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

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

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

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

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

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

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

    resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
      ...
      backup_window_start {
        hours   = <Час начала резервного копирования>
        minutes = <Минута начала резервного копирования>
      }
      ...
    }
    
  3. Чтобы изменить срок хранения резервных копий, укажите в описании кластера параметр backup_retain_period_days:

      resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
        ...
        backup_retain_period_days = <срок хранения автоматических резервных копий (в днях)>
        ...
      }
    

    Допустимые значения: от 7 до 60. Значение по умолчанию — 7.

  4. Чтобы активировать доступ из DataLens и доступ к SQL-запросам из консоли управления, добавьте к описанию кластера Managed Service for MySQL блок access:

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

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

    Где:

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

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

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

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

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL:

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

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

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

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

resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}

Чтобы изменить дополнительные настройки кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:

  • Идентификатор кластера в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.

  • Настройку доступа к SQL-запросам из консоли управления в параметре configSpec.access.

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

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

  • Срок хранения автоматических резервных копий в параметре configSpec.backupRetainPeriodDays. Допустимые значения: от 7 до 60. Значение по умолчанию — 7.

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

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

Важно

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

Чтобы разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме, передайте значение true для параметра configSpec.access.dataTransfer.

Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.

Чтобы активировать доступ к кластеру из DataLens, передайте значение true для параметра configSpec.access.dataLens.

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

Переместить кластер

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

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

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

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

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

    yc managed-mysql cluster move --help
    
  2. Укажите каталог назначения в команде перемещения кластера:

    yc managed-mysql cluster move <идентификатор кластера> \
       --destination-folder-name=<имя каталога назначения>
    

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

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

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

  2. Измените или добавьте в описании кластера Managed Service for MySQL значение параметра folder_id:

    resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
      ...
      folder_id = "<идентификатор каталога назначения>"
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL:

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

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

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

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

resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}

Чтобы переместить кластер, воспользуйтесь методом REST API move для ресурса Cluster или вызовом gRPC API ClusterService/Move и передайте в запросе:

  • Идентификатор кластера в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  • Идентификатор каталога назначения в параметре destinationFolderId.

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

Группы безопасности находятся на стадии Preview. Если они недоступны в вашей сети, для ресурсов будет разрешен весь входящий и исходящий трафик. Дополнительной настройки не требуется.

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

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

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

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

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

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

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

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

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

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

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

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL:

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

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

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

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

resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}

Чтобы изменить список групп безопасности для кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:

  • Идентификатор кластера в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  • Список идентификаторов групп безопасности в параметре securityGroupIds.
  • Список настроек, которые необходимо изменить (в данном случае — securityGroupIds), в параметре updateMask.

Важно

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

Важно

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

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

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