Изменение настроек кластера ClickHouse®
После создания кластера вы можете:
- Изменить настройки сервисного аккаунта.
- Изменить класс хостов.
- Изменить тип диска и увеличить размер хранилища.
- Настроить сервис координации.
- Включить управление пользователями и базами данных через SQL.
- Изменить дополнительные настройки кластера.
- Переместить кластер в другой каталог.
- Изменить группы безопасности кластера.
Подробнее о других изменениях кластера:
- Настройка технического обслуживания.
- Перенос кластера в другую зону доступности.
- Настройка серверов ClickHouse® согласно документации ClickHouse®
. - Изменение настроек ClickHouse® на уровне запроса.
- Изменение настроек гибридного хранилища.
Изменить настройки сервисного аккаунта
Для привязки сервисного аккаунта к кластеру Managed Service for ClickHouse® назначьте вашему аккаунту в Yandex Cloud роль iam.serviceAccounts.user или выше.
Важно
Если для доступа к объектам из Object Storage в кластере уже используется сервисный аккаунт, то его смена может привести к недоступности этих объектов и нарушению работы кластера. Перед изменением настроек сервисного аккаунта убедитесь, что кластер не использует соответствующие объекты.
Чтобы изменить настройки сервисного аккаунта:
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите
в сервис Managed Service for ClickHouse. - Выберите кластер и нажмите кнопку
Редактировать на панели сверху. - В разделе Сервисные настройки выберите нужный сервисный аккаунт из списка или создайте новый. Подробнее о настройке сервисного аккаунта в разделе Настройка доступа к Object Storage из кластера ClickHouse®.
Изменить класс хостов
Важно
Начиная с 1 сентября 2026 года создание новых кластеров с сервисом координации ZooKeeper будет недоступно. Существующие кластеры будут поддерживаться до 1 февраля 2028 года, после чего они будут переведены на сервис координации ClickHouse® Keeper.
При смене класса хостов:
- Кластер из одного хоста будет недоступен несколько минут, соединения с БД будут прерваны.
- В кластере из нескольких хостов каждый хост по очереди будет остановлен и обновлен. Остановленный хост будет недоступен несколько минут.
- Хост кластера с хранилищем на локальных SSD-дисках может быть недоступен длительное время, если потребуется миграция данных на другой физический сервер.
- Подключение по особому FQDN не гарантирует стабильность соединения с БД: пользовательские сессии могут быть прерваны.
Рекомендуется изменять класс хостов только во время отсутствия рабочей нагрузки на кластер.
Вы также можете изменить класс хостов у отдельного шарда.
Класс хостов влияет на количество оперативной памяти, доступной для использования ClickHouse®. Подробнее в разделе Управление памятью.
Минимальное количество ядер для одного хоста ZooKeeper зависит от суммарного количества ядер хостов ClickHouse®. Подробнее в разделе Сервисы координации.
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите
в сервис Managed Service for ClickHouse. - Выберите кластер и нажмите кнопку
Редактировать на панели сверху. - Чтобы изменить класс хостов ClickHouse®, в блоке Ресурсы выберите платформу, тип виртуальной машины и нужный класс хоста.
- Чтобы изменить класс хостов ZooKeeper, в блоке Класс хоста ZooKeeper выберите платформу, тип виртуальной машины и нужный класс хоста ZooKeeper.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы изменить класс хостов для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-clickhouse cluster update --help -
Запросите список доступных классов хостов (в колонке
ZONE IDSуказаны зоны доступности, в которых можно выбрать соответствующий класс):yc managed-clickhouse resource-preset list +-----------+--------------------------------+-------+----------+ | ID | ZONE IDS | CORES | MEMORY | +-----------+--------------------------------+-------+----------+ | s1.micro | kz1-a, kz1-b, | 2 | 8.0 GB | | | kz1-d | | | | ... | +-----------+--------------------------------+-------+----------+ -
Укажите нужный класс в команде изменения кластера:
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ --clickhouse-resource-preset=<идентификатор_класса>Managed Service for ClickHouse® запустит операцию изменения класса хостов для кластера.
-
Чтобы изменить класс хостов ZooKeeper, передайте нужное значение в параметре
--zookeeper-resource-preset.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, в разделе Создание кластера.
-
Измените в описании кластера Managed Service for ClickHouse® значение параметра
resource_preset_idв блокахclickhouse.resourcesиzookeeper.resourcesдля хостов ClickHouse® и ZooKeeper соответственно:resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { ... clickhouse = { resources = { resource_preset_id = "<класс_хостов_ClickHouse®>" ... } } zookeeper = { resources = { resource_preset_id = "<класс_хостов_ZooKeeper>" ... } } } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" {
...
timeouts = {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Запросите список доступных классов хостов:
-
Воспользуйтесь методом ResourcePreset.List и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-clickhouse/v1/resourcePresets' -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Измените класс хостов на нужный:
-
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "configSpec.clickhouse.resources.resourcePresetId,configSpec.zookeeper.resources.resourcePresetId", "configSpec": { "clickhouse": { "resources": { "resourcePresetId": "<идентификатор_класса_хостов_ClickHouse®>" } }, "zookeeper": { "resources": { "resourcePresetId": "<идентификатор_класса_хостов_ZooKeeper>" } } } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.Укажите нужные параметры:
configSpec.clickhouse.resources.resourcePresetId— если нужно изменить класс хостов ClickHouse®.configSpec.zookeeper.resources.resourcePresetId— если нужно изменить класс хостов ZooKeeper.
В примере запроса класс хостов изменяется и для хостов ClickHouse®, и для хостов ZooKeeper.
-
configSpec.clickhouse.resources.resourcePresetId— идентификатор класса хостов ClickHouse®. -
configSpec.zookeeper.resources.resourcePresetId— идентификатор класса хостов ZooKeeper.
Идентификатор кластера можно запросить со списком кластеров в каталоге. Список доступных классов хостов с их идентификаторами был получен ранее.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Запросите список доступных классов хостов:
-
Воспользуйтесь вызовом ResourcePresetService.List и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/resource_preset_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.clickhouse.v1.ResourcePresetService.List -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Измените класс хостов на нужный:
-
Воспользуйтесь вызовом 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/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "config_spec.clickhouse.resources.resource_preset_id", "config_spec.zookeeper.resources.resource_preset_id" ] }, "config_spec": { "clickhouse": { "resources": { "resource_preset_id": "<идентификатор_класса_хостов_ClickHouse®>" } }, "zookeeper": { "resources": { "resource_preset_id": "<идентификатор_класса_хостов_ZooKeeper>" } } } }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Укажите нужные параметры:
config_spec.clickhouse.resources.resource_preset_id— если нужно изменить класс хостов ClickHouse®.config_spec.zookeeper.resources.resource_preset_id— если нужно изменить класс хостов ZooKeeper.
В примере запроса класс хостов изменяется и для хостов ClickHouse®, и для хостов ZooKeeper.
-
config_spec.clickhouse.resources.resource_preset_id— идентификатор класса хостов ClickHouse®. -
config_spec.zookeeper.resources.resource_preset_id— идентификатор класса хостов ZooKeeper.
Идентификатор кластера можно запросить со списком кластеров в каталоге. Список доступных классов хостов с их идентификаторами был получен ранее.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Изменить тип диска и увеличить размер хранилища
Важно
Начиная с 1 сентября 2026 года создание новых кластеров с сервисом координации ZooKeeper будет недоступно. Существующие кластеры будут поддерживаться до 1 февраля 2028 года, после чего они будут переведены на сервис координации ClickHouse® Keeper.
Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты
При изменении типа диска хосты кластера пересоздаются. Данные реплицированных таблиц сохраняются автоматически. Данные нереплицированных таблиц будут потеряны. Если необходимо сохранить данные в нереплицированных таблицах, перед изменением типа диска преобразуйте их в реплицированные
Также при изменении типа диска или размера хранилища хост кластера с хранилищем на локальных SSD-дисках может быть недоступен длительное время, если потребуется миграция данных на другой физический сервер.
Вы также можете изменить тип диска и размер хранилища у отдельного шарда.
Чтобы изменить тип диска и увеличить размер хранилища для кластера:
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите
в сервис Managed Service for ClickHouse. - Выберите кластер и нажмите кнопку
Редактировать на панели сверху. - Чтобы изменить тип диска и увеличить размер хранилища для хостов ClickHouse®, выберите нужные значения в блоке Размер хранилища.
- Чтобы изменить тип диска и увеличить размер хранилища для хостов ClickHouse® Keeper или ZooKeeper, выберите нужные значения в блоке Размер хранилища ZooKeeper или Размер хранилища ClickHouse Keeper соответственно.
- Нажмите кнопку Сохранить изменения.
- Если вы изменили тип диска для хостов ClickHouse®:
- В открывшемся окне посмотрите количество нереплицированных таблиц на графике Non-replicated MergeTree tables и их размер на графике Size of non-replicated MergeTree tables. Данные в нереплицированных таблицах будут утеряны. Если необходимо сохранить их, перед изменением типа диска преобразуйте
нереплицированные таблицы в реплицированные. - Подтвердите изменение ресурсов.
- В открывшемся окне посмотрите количество нереплицированных таблиц на графике Non-replicated MergeTree tables и их размер на графике Size of non-replicated MergeTree tables. Данные в нереплицированных таблицах будут утеряны. Если необходимо сохранить их, перед изменением типа диска преобразуйте
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы изменить тип диска и увеличить размер хранилища для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-clickhouse cluster update --help -
Укажите нужный тип диска и размер хранилища в команде изменения кластера:
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ --clickhouse-disk-size <размер_хранилища_ГБ> \ --clickhouse-disk-type <тип_диска> \ --allow-host-recreationПараметр
--allow-host-recreationнеобходим при изменении типа диска, чтобы разрешить кластеру пересоздать хосты.Новый размер хранилища должен быть не меньше, чем значение
disk_sizeв свойствах кластера.Имя и идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Чтобы изменить тип диска и увеличить размер хранилища хостов ZooKeeper, передайте нужные значения в параметрах
--zookeeper-disk-sizeи--zookeeper-disk-type.
Примечание
С помощью Terraform невозможно изменить тип диска.
Чтобы увеличить размер хранилища:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, в разделе Создание кластера.
-
Измените в описании кластера Managed Service for ClickHouse® значение параметра
disk_sizeв блокеclickhouse.resourcesилиzookeeper.resourcesдля хостов ClickHouse® и ZooKeeper соответственно:resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { ... clickhouse = { resources = { disk_size = <размер_хранилища_ГБ> ... } } zookeeper = { resources = { disk_size = <размер_хранилища_ГБ> ... } } } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" {
...
timeouts = {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "configSpec.clickhouse.resources.diskSize,configSpec.clickhouse.resources.diskTypeId,configSpec.zookeeper.resources.diskSize,configSpec.zookeeper.resources.diskTypeId,allowHostRecreation", "configSpec": { "clickhouse": { "resources": { "diskSize": "<размер_хранилища_в_байтах>", "diskTypeId": "<тип_диска>" } }, "zookeeper": { "resources": { "diskSize": "<размер_хранилища_в_байтах>", "diskTypeId": "<тип_диска>" } } }, "allowHostRecreation": true }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.Укажите нужные параметры:
configSpec.clickhouse.resources.diskSize,configSpec.clickhouse.resources.diskTypeId— если нужно изменить тип диска и увеличить размер хранилища хостов ClickHouse®.configSpec.zookeeper.resources.diskSize,configSpec.zookeeper.resources.diskTypeId— если нужно изменить тип диска и увеличить размер хранилища хостов ZooKeeper.
В примере запроса размер хранилища и тип диска изменяются и для хостов ClickHouse®, и для хостов ZooKeeper.
-
configSpec.clickhouse.resources.diskSize— размер хранилища хостов ClickHouse® в байтах. -
configSpec.clickhouse.resources.diskTypeId— тип диска хостов ClickHouse®. -
configSpec.zookeeper.resources.diskSize— размер хранилища хостов ZooKeeper в байтах. -
configSpec.zookeeper.resources.diskTypeId— тип диска хостов ZooKeeper. -
allowHostRecreation— разрешить кластеру пересоздать хосты (параметр обязателен при изменении типа диска).
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "config_spec.clickhouse.resources.disk_size", "config_spec.clickhouse.resources.disk_type_id", "config_spec.zookeeper.resources.disk_size", "config_spec.zookeeper.resources.disk_type_id", "allow_host_recreation" ] }, "config_spec": { "clickhouse": { "resources": { "disk_size": "<размер_хранилища_в_байтах>", "disk_type_id": "<тип_диска>" } }, "zookeeper": { "resources": { "disk_size": "<размер_хранилища_в_байтах>", "disk_type_id": "<тип_диска>" } } }, "allow_host_recreation": true }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Укажите нужные параметры:
config_spec.clickhouse.resources.disk_size— если нужно увеличить размер хранилища хостов ClickHouse®.config_spec.clickhouse.resources.disk_type_id— если нужно изменить тип диска хостов ClickHouse®.config_spec.zookeeper.resources.disk_size— если нужно увеличить размер хранилища хостов ZooKeeper.config_spec.zookeeper.resources.disk_type_id— если нужно изменить тип диска хостов ZooKeeper.
В примере запроса размер хранилища и тип диска изменяются и для хостов ClickHouse®, и для хостов ZooKeeper.
-
config_spec.clickhouse.resources.disk_size— размер хранилища хостов ClickHouse® в байтах. -
config_spec.clickhouse.resources.disk_type_id— тип диска хостов ClickHouse®. -
config_spec.zookeeper.resources.disk_size— размер хранилища хостов ZooKeeper в байтах. -
config_spec.zookeeper.resources.disk_type_id— тип диска хостов ZooKeeper. -
allow_host_recreation— разрешить кластеру пересоздать хосты (параметр обязателен при изменении типа диска).
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Настроить сервис координации
Важно
Начиная с 1 сентября 2026 года создание новых кластеров с сервисом координации ZooKeeper будет недоступно. Существующие кластеры будут поддерживаться до 1 февраля 2028 года, после чего они будут переведены на сервис координации ClickHouse® Keeper.
Вы можете включить сервис координации ClickHouse® Keeper или ZooKeeper на отдельных хостах, если он не был задан. Если в кластере используется встроенный ClickHouse® Keeper, то можно включить только сервис координации ClickHouse® Keeper на отдельных хостах. Для включенного сервиса координации можно изменить его настройки.
Включить сервис координации
Хосты ClickHouse® Keeper и ZooKeeper учитываются в расчете использованной квоты ресурсов
-
В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. -
Нажмите на имя нужного кластера, затем перейдите в раздел Кластер → Хосты.
-
В правом верхнем углу страницы нажмите кнопку Настроить сервис координации.
-
В блоке Основные настройки выберите сервис координации.
-
В зависимости от выбранного сервиса задайте следующие настройки:
-
Для сервиса координации ZooKeeper (на отдельных хостах):
-
В блоке Класс хоста ZooKeeper выберите платформу, тип виртуальной машины и класс хоста.
-
В блоке Размер хранилища ZooKeeper выберите тип диска, размер хранилища и при необходимости задайте настройки автоматического увеличения размера хранилища ZooKeeper.
-
В блоке Хосты ZooKeeper:
-
При необходимости измените настройки автоматически добавленных хостов ZooKeeper.
Чтобы изменить настройки хоста, нажмите значок
в строке нужного хоста и укажите:- Зона доступности — выберите зону доступности.
- Подсеть — выберите подсеть в выбранной зоне доступности.
-
Чтобы преобразовать нереплицируемые таблицы в реплицируемые, включите настройку Преобразовать нереплицируемые таблицы.
Нереплицируемые таблицы на движке семейства MergeTree
будут автоматически преобразованы в реплицируемые на движке ReplicatedMergeTree .После включения этой настройки ее нельзя отключить.
-
-
-
Для сервиса координации ClickHouse Keeper (на отдельных хостах):
-
В блоке Ресурсы ClickHouse Keeper выберите платформу, тип виртуальной машины и класс хоста.
-
В блоке Размер хранилища ClickHouse Keeper выберите тип диска, размер хранилища и при необходимости задайте настройки автоматического увеличения размера хранилища ClickHouse® Keeper.
-
В блоке Хосты ClickHouse Keeper:
-
При необходимости измените настройки автоматически добавленных хостов ClickHouse® Keeper.
Чтобы изменить настройки хоста, нажмите значок
в строке нужного хоста и укажите:- Зона доступности — выберите зону доступности.
- Подсеть — выберите подсеть в выбранной зоне доступности.
-
Чтобы преобразовать нереплицируемые таблицы в реплицируемые, включите настройку Преобразовать нереплицируемые таблицы.
Нереплицируемые таблицы на движке семейства MergeTree
будут автоматически преобразованы в реплицируемые на движке ReplicatedMergeTree .После включения этой настройки ее нельзя отключить.
-
-
-
-
Нажмите кнопку Сохранить изменения.
Изменить настройки включенного сервиса координации
-
В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. -
Выберите кластер и нажмите кнопку
Редактировать на панели сверху. -
В зависимости от выбранного сервиса координации задайте следующие настройки:
-
Для сервиса координации ClickHouse Keeper (на отдельных хостах):
- В блоке Ресурсы ClickHouse Keeper выберите платформу, тип виртуальной машины и класс хоста;
- В блоке Размер хранилища ClickHouse Keeper выберите тип диска, размер хранилища и при необходимости задайте настройки автоматического увеличения размера хранилища ClickHouse® Keeper.
-
Для сервиса координации ZooKeeper (на отдельных хостах):
- В блоке Класс хоста ZooKeeper выберите платформу, тип виртуальной машины и класс хоста;
- В блоке Размер хранилища ZooKeeper выберите тип диска, размер хранилища и при необходимости задайте настройки автоматического увеличения размера хранилища ZooKeeper.
-
-
Нажмите кнопку Сохранить изменения.
Включить управление пользователями и базами данных через SQL
Сервис Managed Service for ClickHouse® позволяет управлять пользователями и базами данных кластера через SQL.
Внимание
Управление пользователями и базами данных через стандартные интерфейсы Yandex Cloud (консоль управления, CLI, Terraform, API) станет недоступно.
Включенные настройки управления пользователями или базами данных через SQL невозможно выключить.
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите
в сервис Managed Service for ClickHouse. - Выберите кластер и нажмите кнопку
Редактировать на панели сверху. - Для управления пользователями через SQL, в блоке Настройки СУБД включите настройку Управление пользователями через SQL и укажите пароль пользователя
admin. - Для управления базами данных через SQL, в блоке Настройки СУБД включите настройки Управление пользователями через SQL и Управление базами данных через SQL, укажите пароль пользователя
admin. - Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Чтобы включить управление пользователями через SQL:
- задайте значение
trueдля параметра--enable-sql-user-management; - задайте пароль для пользователя
adminв параметре--admin-password.
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ ... --enable-sql-user-management true \ --admin-password "<пароль_пользователя_admin>" - задайте значение
-
Чтобы включить управление базами данных через SQL:
- задайте значение
trueдля параметров--enable-sql-user-managementи--enable-sql-database-management; - задайте пароль для пользователя
adminв параметре--admin-password.
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ ... --enable-sql-user-management true \ --enable-sql-database-management true \ --admin-password "<пароль_пользователя_admin>" - задайте значение
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, в разделе Создание кластера.
-
Чтобы включить управление пользователями через SQL, добавьте к описанию кластера поле
sql_user_managementсо значениемtrueи полеadmin_passwordс паролем пользователяadmin:resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { name = "<имя_кластера>" ... admin_password = "<пароль_пользователя_admin>" sql_user_management = true ... } -
Чтобы включить управление базами данных через SQL, добавьте к описанию кластера поля
sql_user_managementиsql_database_managementсо значениемtrue, а также полеadmin_passwordс паролем пользователяadmin:resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { name = "<имя_кластера>" ... admin_password = "<пароль_пользователя_admin>" sql_database_management = true sql_user_management = true ... } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" {
...
timeouts = {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "configSpec.adminPassword,configSpec.sqlUserManagement,configSpec.sqlDatabaseManagement", "configSpec": { "adminPassword": "<пароль_пользователя_admin>", "sqlUserManagement": <управление_пользователями_через_SQL>, "sqlDatabaseManagement": <управление_базами_данных_через_SQL> } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.Укажите нужные параметры:
configSpec.adminPassword— пароль пользователяadmin, с помощью которого осуществляется управление.configSpec.sqlUserManagement— если нужно включить управление пользователями через SQL.configSpec.sqlDatabaseManagement— если нужно включить управление базами данных через SQL.
В примере запроса включается и управление пользователями, и управление базами данных через SQL.
-
configSpec.adminPassword— пароль пользователяadmin. -
configSpec.sqlUserManagement— режим управления пользователями через SQL:trueилиfalse. -
configSpec.sqlDatabaseManagement— режим управления базами данных через SQL:trueилиfalse. Необходимо, чтобы был включен режим управления пользователями через SQL.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "config_spec.admin_password", "config_spec.sql_user_management", "config_spec.sql_database_management" ] }, "config_spec": { "admin_password": "<пароль_пользователя_admin>", "sql_user_management": <управление_пользователями_через_SQL>, "sql_database_management": <управление_базами_данных_через_SQL> } }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Укажите нужные параметры:
config_spec.admin_password— пароль пользователяadmin, с помощью которого осуществляется управление.config_spec.sql_user_management— если нужно включить управление пользователями через SQL.config_spec.sql_database_management— если нужно включить управление базами данных через SQL.
В примере запроса включается и управление пользователями, и управление базами данных через SQL.
-
config_spec.admin_password— пароль пользователяadmin. -
config_spec.sql_user_management— режим управления пользователями через SQL:trueилиfalse. -
config_spec.sql_database_management— режим управления базами данных через SQL:trueилиfalse. Необходимо, чтобы был включен режим управления пользователями через SQL.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить дополнительные настройки кластера
Примечание
Список сервисов, которые доступны в регионе Казахстан, можно посмотреть на странице Сервисы Yandex Cloud.
-
В консоли управления
выберите каталог, в котором находится кластер. -
Перейдите
в сервис Managed Service for ClickHouse. -
Выберите кластер и нажмите кнопку
Редактировать на панели сверху. -
В блоке Размер хранилища:
-
(Опционально) Задайте настройки автоматического увеличения размера хранилища ClickHouse®:
- В поле Увеличивать размер выберите один или оба порога:
-
В окно обслуживания при заполненности более — порог для планового увеличения. При его достижении размер хранилища увеличивается во время ближайшего окна обслуживания.
Для планового увеличения необходимо настроить расписание окна обслуживания.
-
Незамедлительно при заполненности более — порог для незамедлительного увеличения. При его достижении размер хранилища увеличивается немедленно.
-
- Задайте пороговое значение (в процентах от общего размера хранилища). Если выбраны оба порога, значение для незамедлительного увеличения должно быть не меньше, чем для планового.
- Задайте Максимальный размер хранилища.
Настройки автоматического увеличения размера хранилища, заданные для ClickHouse®, применяются ко всем существующим шардам. При добавлении нового шарда значения настроек берутся с самого старого шарда.
- В поле Увеличивать размер выберите один или оба порога:
-
-
В блоке Сервисные настройки измените дополнительные настройки кластера:
-
Начало резервного копирования (UTC) — промежуток времени, в течение которого начинается резервное копирование кластера. Время указывается по UTC в 24-часовом формате. По умолчанию —
22:00 - 23:00UTC. -
Срок хранения автоматических резервных копий, дней — время, в течение которого нужно хранить созданные автоматически резервные копии (в днях). Если для такой копии истекает срок хранения, то она удаляется. Значение по умолчанию — 7 дней. Подробнее в разделе Резервные копии.
Изменение срока хранения затрагивает как новые автоматические резервные копии, так и уже существующие. Например, изначальный срок хранения был 7 дней, оставшееся время жизни отдельной автоматической резервной копии — 1 день. При увеличении срока хранения до 9 дней оставшееся время жизни этой резервной копии будет уже 3 дня.
-
Обслуживание — настройки времени технического обслуживания:
- Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт В любое время (по умолчанию).
- Чтобы указать предпочтительное время начала обслуживания, выберите пункт По расписанию и укажите день недели и интервал времени по UTC. Например, можно выбрать время, когда кластер наименее загружен.
Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать обновление СУБД, применение патчей и т. д.
-
Сервисный аккаунт — аккаунт, от имени которого пользовательские программы могут управлять кластером. Подробнее в документации Управление доступом в Managed Service for ClickHouse®.
-
Шифрование дисков — опция включает шифрование диска пользовательским ключом KMS. Задайте ключ одним из способов:
-
Чтобы создать новый ключ, нажмите кнопку Создать.
-
Чтобы использовать созданный ранее ключ, выберите его в поле Ключ KMS.
Подробнее о шифровании дисков в разделе Хранилище.
-
-
Доступ из DataLens — опция разрешает анализировать данные из кластера в сервисе Yandex DataLens.
-
Доступ из консоли управления — опция разрешает выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud.
-
Доступ из Метрики и AppMetrica — опция разрешает импортировать данные из AppMetrica
в кластер. -
Доступ из Serverless — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Cloud Functions. Подробнее о настройке доступа в документации Cloud Functions.
-
Защита от удаления — управляет защитой кластера от непреднамеренного удаления.
Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
-
Сбор статистики — включите эту опцию, чтобы разрешить использовать в кластере инструмент Диагностика производительности.
-
-
Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы изменить дополнительные настройки кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-clickhouse cluster update --help -
Выполните команду, передав список настроек, которые хотите изменить:
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ --backup-window-start <время_начала_резервного_копирования> \ --backup-retain-period-days <срок_хранения_автоматических_резервных_копий> \ --datalens-access=<true_или_false> \ --metrika-access=<true_или_false> \ --serverless-access=<true_или_false> \ --websql-access=<true_или_false> \ --deletion-protection \ --disk-size-autoscaling clickhouse-disk-size-limit=<максимальный_размер_хранилища_ГБ>,` `clickhouse-planned-usage-threshold=<порог_для_планового_увеличения_в_процентах>,` `clickhouse-emergency-usage-threshold=<порог_для_незамедлительного_увеличения_в_процентах>,` `zookeeper-disk-size-limit=<максимальный_размер_хранилища_ГБ>,` `zookeeper-planned-usage-threshold=<порог_для_планового_увеличения_в_процентах>,` `zookeeper-emergency-usage-threshold=<порог_для_незамедлительного_увеличения_в_процентах> \ --maintenance-window type=<тип_технического_обслуживания>,` `day=<день_недели>,` `hour=<порядковый_номер_часового_интервала>
Вы можете изменить следующие настройки:
--backup-window-start— время начала резервного копирования кластера, задается по UTC в форматеHH:MM:SS. Если время не задано, резервное копирование начнется в 22:00 UTC.
-
--backup-retain-period-days– срок хранения автоматических резервных копий (в днях). -
--datalens-access— разрешает доступ из DataLens. Значение по умолчанию —false. Подробнее о настройке подключения в разделе Подключение из DataLens. -
--metrika-access— разрешает импорт данных из AppMetrika в кластер . Значение по умолчанию —false. -
--serverless-access— разрешает доступ к кластеру из сервиса Yandex Cloud Functions. Значение по умолчанию —false. Подробнее о настройке доступа в документации Cloud Functions. -
--websql-access— разрешает выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud. Значение по умолчанию —false. -
--deletion-protection— защита кластера от непреднамеренного удаления:trueилиfalse.Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
-
--disk-size-autoscaling— настройки автоматического увеличения размера хранилища:-
clickhouse-disk-size-limit— максимальный размер хранилища ClickHouse®, в гигабайтах. -
clickhouse-planned-usage-threshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
clickhouse-emergency-usage-threshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
zookeeper-disk-size-limit— максимальный размер хранилища ZooKeeper, в гигабайтах. -
zookeeper-planned-usage-threshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
zookeeper-emergency-usage-threshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100.
Важно
-
Если заданы оба порога для ClickHouse®, значение
clickhouse-emergency-usage-thresholdдолжно быть не меньшеclickhouse-planned-usage-threshold. -
Если заданы оба порога для ZooKeeper, значение
zookeeper-emergency-usage-thresholdдолжно быть не меньшеzookeeper-planned-usage-threshold. -
При использовании параметров
clickhouse-planned-usage-thresholdиzookeeper-planned-usage-thresholdнеобходимо настроить окно технического обслуживания.
-
-
--maintenance-window— настройки времени технического обслуживания (в т. ч. для выключенных кластеров), гдеtype— тип технического обслуживания:-
anytime(по умолчанию) — в любое время. -
weekly— по расписанию. Для этого значения дополнительно укажите:-
day— день недели:MON,TUE,WED,THU,FRI,SATилиSUN. -
hour— порядковый номер часового интервала по UTC: от1до24.Например,
1соответствует интервалу с00:00до01:00,5— с04:00до05:00.
-
-
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, в разделе Создание кластера.
-
Чтобы изменить время начала резервного копирования, добавьте к описанию кластера Managed Service for ClickHouse® блок
backup_window_start.resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { ... backup_window_start = { hours = <час_начала_резервного_копирования> minutes = <минута_начала_резервного_копирования> } ... } -
Чтобы разрешить доступ к кластеру из других сервисов и выполнение SQL-запросов из консоли управления, измените значения соответствующих полей в блоке
access:resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { ... access = { data_lens = <доступ_из_DataLens> metrika = <доступ_из_Метрики_и_AppMetrika> serverless = <доступ_из_Cloud_Functions> web_sql = <выполнение_SQL-запросов_из_консоли_управления> } ... }Где:
data_lens— доступ из DataLens:trueилиfalse.metrika— доступ из Метрики и AppMetrika:trueилиfalse.serverless— доступ из Cloud Functions:trueилиfalse.web_sql— выполнение SQL-запросов из консоли управления:trueилиfalse.
-
Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), добавьте к описанию кластера блок
maintenance_window:resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { ... maintenance_window { type = "<тип_технического_обслуживания>" day = "<день_недели>" hour = <порядковый_номер_часового_интервала> } ... }Где:
-
type— тип технического обслуживания. Принимает значения:ANYTIME(по умолчанию) — в любое время.WEEKLY— по расписанию.
-
day— день недели для типаWEEKLY:MON,TUE,WED,THU,FRI,SATилиSUN. -
hour— порядковый номер часового интервала по UTC для типаWEEKLY: от1до24.Например,
1соответствует интервалу с00:00до01:00,5— с04:00до05:00.
-
-
Чтобы включить защиту кластера от непреднамеренного удаления пользователем вашего облака, добавьте к описанию кластера поле
deletion_protectionсо значениемtrue:resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { ... deletion_protection = <защита_кластера_от_удаления> }Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" {
...
timeouts = {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).-
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "updateMask": "<перечень_изменяемых_настроек>", "configSpec": { "backupWindowStart": { "hours": "<часы>", "minutes": "<минуты>", "seconds": "<секунды>", "nanos": "<наносекунды>" }, "clickhouse": { "diskSizeAutoscaling": { "plannedUsageThreshold": "<порог_для_планового_увеличения_в_процентах>", "emergencyUsageThreshold": "<порог_для_незамедлительного_увеличения_в_процентах>", "diskSizeLimit": "<максимальный_размер_хранилища_в_байтах>" } }, "zookeeper": { "diskSizeAutoscaling": { "plannedUsageThreshold": "<порог_для_планового_увеличения_в_процентах>", "emergencyUsageThreshold": "<порог_для_незамедлительного_увеличения_в_процентах>", "diskSizeLimit": "<максимальный_размер_хранилища_в_байтах>" } }, "access": { "dataLens": <доступ_из_DataLens>, "webSql": <выполнение_SQL-запросов>, "metrika": <импорт_данных_из_AppMetrica>, "serverless": <доступ_из_Yandex Cloud Functions>, "dataTransfer": <доступ_из_Yandex Data Transfer> } }, "maintenanceWindow": { "anytime": {} }, "deletionProtection": <защита_кластера_от_удаления> }Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую. -
configSpec.backupWindowStart— время начала резервного копирования (UTC):hours— часы в 24-часовом формате.minutes— минуты.seconds— секунды.nanos— наносекунды.
-
configSpec.access— настройки, которые разрешают доступ к кластеру из других сервисов и выполнение SQL-запросов из консоли управления:-
dataLens— разрешить доступ из DataLens:trueилиfalse. Значение по умолчанию —false. Подробнее о настройке подключения в разделе Подключение из DataLens. -
webSql— разрешить выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud:trueилиfalse. Значение по умолчанию —false. -
metrika— разрешить импорт данных из AppMetrika в кластер :trueилиfalse. Значение по умолчанию —false. -
serverless— разрешить доступ к кластеру из сервиса Yandex Cloud Functions:trueилиfalse. Значение по умолчанию —false. Подробнее о настройке доступа в документации Cloud Functions. -
dataTransfer— разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме:trueилиfalse. Значение по умолчанию —false.Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.
-
-
configSpec.clickhouse.diskSizeAutoscaling— настройки автоматического увеличения размера хранилища ClickHouse®:-
plannedUsageThreshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
emergencyUsageThreshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
diskSizeLimit— максимальный размер хранилища ClickHouse®, в байтах.
Важно
-
Если заданы оба порога, значение
emergencyUsageThresholdдолжно быть не меньшеplannedUsageThreshold. -
При использовании параметра
plannedUsageThresholdнеобходимо настроить окно технического обслуживания.
Настройки автоматического увеличения размера хранилища, заданные для ClickHouse®, применяются ко всем существующим шардам. При добавлении нового шарда значения настройки берутся с самого старого шарда. Эти значения не сохраняются в конфигурации ClickHouse®.
Чтобы посмотреть информацию о конкретном шарде, включая настройки автоматического увеличения размера хранилища, воспользуйтесь методом Cluster.GetShard и передайте в запросе идентификатор кластера и имя шарда.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Имя шарда можно получить со списком шардов в кластере.
-
-
configSpec.zookeeper.diskSizeAutoscaling— настройки автоматического увеличения размера хранилища ZooKeeper:-
plannedUsageThreshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
emergencyUsageThreshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
diskSizeLimit— максимальный размер хранилища ZooKeeper, в байтах.
Важно
-
Если заданы оба порога, значение
emergencyUsageThresholdдолжно быть не меньшеplannedUsageThreshold. -
При использовании параметра
plannedUsageThresholdнеобходимо настроить окно технического обслуживания.
-
-
maintenanceWindow— настройки времени технического обслуживания (в т. ч. для выключенных кластеров). Выберите один из вариантов:anytime(по умолчанию) — в любое время.weeklyMaintenanceWindow— по расписанию:-
day— день недели в форматеDDD:MON,TUE,WED,THU,FRI,SATилиSUN. -
hour— порядковый номер часового интервала по UTC. Допустимые значения: от1до24.Например,
1соответствует интервалу с00:00до01:00,5— с04:00до05:00.
-
-
deletionProtection— защита кластера от непреднамеренного удаления:trueилиfalse. Значение по умолчанию —false.Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
-
-
Выполните запрос:
curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '@body.json'Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask(в виде массива строкpaths[]).Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }-
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ <перечень_изменяемых_настроек> ] }, "config_spec": { "backup_window_start": { "hours": "<часы>", "minutes": "<минуты>", "seconds": "<секунды>", "nanos": "<наносекунды>" }, "clickhouse": { "disk_size_autoscaling": { "planned_usage_threshold": "<порог_для_планового_увеличения_в_процентах>", "emergency_usage_threshold": "<порог_для_незамедлительного_увеличения_в_процентах>", "disk_size_limit": "<максимальный_размер_хранилища_в_байтах>" } }, "zookeeper": { "disk_size_autoscaling": { "planned_usage_threshold": "<порог_для_планового_увеличения_в_процентах>", "emergency_usage_threshold": "<порог_для_незамедлительного_увеличения_в_процентах>", "disk_size_limit": "<максимальный_размер_хранилища_в_байтах>" } }, "access": { "data_lens": <доступ_из_DataLens>, "web_sql": <выполнение_SQL-запросов>, "metrika": <импорт_данных_из_AppMetrica>, "serverless": <доступ_из_Yandex Cloud Functions>, "data_transfer": <доступ_из_Yandex Data Transfer> } }, "maintenance_window": { "anytime": {} }, "deletion_protection": <защита_кластера_от_удаления> }Где:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[]. -
config_spec.backup_window_start— время начала резервного копирования (UTC):hours— часы в 24-часовом формате.minutes— минуты.seconds— секунды.nanos— наносекунды.
-
config_spec.access— настройки, которые разрешают доступ к кластеру из других сервисов и выполнение SQL-запросов из консоли управления:-
data_lens— разрешить доступ из DataLens:trueилиfalse. Значение по умолчанию —false. Подробнее о настройке подключения в разделе Подключение из DataLens. -
web_sql— разрешить выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud:trueилиfalse. Значение по умолчанию —false. -
metrika— разрешить импорт данных из AppMetrika в кластер :trueилиfalse. Значение по умолчанию —false. -
serverless— разрешить доступ к кластеру из сервиса Yandex Cloud Functions:trueилиfalse. Значение по умолчанию —false. Подробнее о настройке доступа в документации Cloud Functions. -
data_transfer— разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме:trueилиfalse. Значение по умолчанию —false.Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.
-
-
config_spec.clickhouse.disk_size_autoscaling— настройки автоматического увеличения размера хранилища ClickHouse®:-
planned_usage_threshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
emergency_usage_threshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
disk_size_limit— максимальный размер хранилища ClickHouse®, в байтах.
Важно
-
Если заданы оба порога, значение
emergency_usage_thresholdдолжно быть не меньшеplanned_usage_threshold. -
При использовании параметра
planned_usage_thresholdнеобходимо настроить окно технического обслуживания.
Настройки автоматического увеличения размера хранилища, заданные для ClickHouse®, применяются ко всем существующим шардам. При добавлении нового шарда значения настройки берутся с самого старого шарда. Эти значения не сохраняются в конфигурации ClickHouse®.
Чтобы посмотреть информацию о конкретном шарде, включая настройки автоматического увеличения размера хранилища, воспользуйтесь методом ClusterService.GetShard и передайте в запросе идентификатор кластера и имя шарда.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Имя шарда можно получить со списком шардов в кластере.
-
-
config_spec.zookeeper.disk_size_autoscaling— настройки автоматического увеличения размера хранилища ZooKeeper:-
planned_usage_threshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
emergency_usage_threshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
disk_size_limit— максимальный размер хранилища ZooKeeper, в байтах.
Важно
-
Если заданы оба порога, значение
emergency_usage_thresholdдолжно быть не меньшеplanned_usage_threshold. -
При использовании параметра
planned_usage_thresholdнеобходимо настроить окно технического обслуживания.
-
-
maintenance_window— настройки времени технического обслуживания (в т. ч. для выключенных кластеров). Выберите один из вариантов:anytime(по умолчанию) — в любое время.weekly_maintenance_window— по расписанию:-
day— день недели в форматеDDD:MON,TUE,WED,THU,FRI,SATилиSUN. -
hour— порядковый номер часового интервала по UTC. Допустимые значения: от1до24.Например,
1соответствует интервалу с00:00до01:00,5— с04:00до05:00.
-
-
deletion_protection— защита кластера от непреднамеренного удаления:trueилиfalse. Значение по умолчанию —false.Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Выполните запрос:
grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.Update \ < body.json
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Переместить кластер
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите
в сервис Managed Service for ClickHouse. - Нажмите значок
справа в строке кластера, который вы хотите переместить. - Выберите пункт
Переместить. - Выберите каталог, в который вы хотите переместить кластер.
- Нажмите кнопку Переместить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы переместить кластер:
-
Посмотрите описание команды CLI для перемещения кластера:
yc managed-clickhouse cluster move --help -
Укажите каталог назначения в команде перемещения кластера:
yc managed-clickhouse cluster move <имя_или_идентификатор_кластера> \ --destination-folder-name=<имя_каталога_назначения>Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, в разделе Создание кластера.
-
Измените или добавьте в описании кластера Managed Service for ClickHouse® значение параметра
folder_id:resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { ... folder_id = "<идентификатор_каталога_назначения>" } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" {
...
timeouts = {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Move и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-clickhouse/v1/clusters/<идентификатор_кластера>:move' \ --data '{ "destinationFolderId": "<идентификатор_каталога_назначения>" }'Где
destinationFolderId— идентификатор каталога назначения, в который нужно переместить кластер. Этот идентификатор можно запросить со списком каталогов в облаке.Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Move и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "destination_folder_id": "<идентификатор_каталога_назначения>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.MoveГде
destination_folder_id— идентификатор каталога назначения, в который нужно переместить кластер. Этот идентификатор можно запросить со списком каталогов в облаке.Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить группы безопасности
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите
в сервис Managed Service for ClickHouse. - Выберите кластер и нажмите кнопку
Редактировать на панели сверху. - В блоке Сетевые настройки выберите группы безопасности для сетевого трафика кластера.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы изменить список групп безопасности для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-clickhouse cluster update --help -
Укажите нужные группы безопасности в команде изменения кластера:
yc managed-clickhouse cluster update <имя_кластера> \ --security-group-ids <список_идентификаторов_групп_безопасности>
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, в разделе Создание кластера.
-
Измените значение параметра
security_group_idsв описании кластера:resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" { ... security_group_ids = [ <список_идентификаторов_групп_безопасности_кластера> ] } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster_v2" "<имя_кластера>" {
...
timeouts = {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "securityGroupIds", "securityGroupIds": [ <список_идентификаторов_групп_безопасности> ] }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.В данном случае указан только один параметр:
securityGroupIds. -
securityGroupIds— массив строк. Каждая строка — идентификатор группы безопасности.Важно
Список назначенных кластеру групп безопасности будет полностью перезаписан списком, переданным в параметре
securityGroupIds.Перед выполнением запроса убедитесь, что вы включили в этот список все нужные идентификаторы групп безопасности, в том числе существующие.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "security_group_ids" ] }, "security_group_ids": [ <список_идентификаторов_групп_безопасности> ] }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].В данном случае указан только один параметр:
security_group_ids. -
security_group_ids— массив строк. Каждая строка — идентификатор группы безопасности.Важно
Список назначенных кластеру групп безопасности будет полностью перезаписан списком, переданным в параметре
security_group_ids.Перед выполнением запроса убедитесь, что вы включили в этот список все нужные идентификаторы групп безопасности, в том числе существующие.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Важно
Может потребоваться дополнительная настройка групп безопасности для подключения к кластеру.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc