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

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

  • Изменить настройки сервисного аккаунта
  • Изменить класс хостов
  • Увеличить размер хранилища
  • Включить управление пользователями и базами данных через SQL
  • Изменить дополнительные настройки кластера
  • Connection Manager
  • Переместить кластер
  • Изменить группы безопасности
  • Изменить настройки гибридного хранилища
  1. Пошаговые инструкции
  2. Кластеры
  3. Изменение настроек кластера

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

Статья создана
Yandex Cloud
Улучшена
Обновлена 1 июля 2025 г.
  • Изменить настройки сервисного аккаунта
  • Изменить класс хостов
  • Увеличить размер хранилища
  • Включить управление пользователями и базами данных через SQL
  • Изменить дополнительные настройки кластера
    • Connection Manager
  • Переместить кластер
  • Изменить группы безопасности
  • Изменить настройки гибридного хранилища

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

  • Изменить настройки сервисного аккаунта.
  • Изменить класс хостов.
  • Увеличить размер хранилища.
  • Включить управление пользователями и базами данных через SQL.
  • Изменить дополнительные настройки кластера.
  • Переместить кластер в другой каталог.
  • Изменить группы безопасности кластера.
  • Изменить настройки гибридного хранилища.

Подробнее о других изменениях кластера:

  • Перенос кластера в другую зону доступности.
  • Настройка серверов ClickHouse® согласно документации ClickHouse®.
  • Изменение настроек ClickHouse® на уровне запроса.

Изменить настройки сервисного аккаунтаИзменить настройки сервисного аккаунта

Для привязки сервисного аккаунта к кластеру Managed Service for ClickHouse® назначьте вашему аккаунту в Yandex Cloud роль iam.serviceAccounts.user или выше.

Важно

Если для доступа к объектам из Object Storage в кластере уже используется сервисный аккаунт, то его смена может привести к недоступности этих объектов и нарушению работы кластера. Перед изменением настроек сервисного аккаунта убедитесь, что кластер не использует соответствующие объекты.

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

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

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

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

Примечание

В кластерах с поддержкой ClickHouse® Keeper хосты ZooKeeper не используются. Подробнее см. в разделе Репликация.

При смене класса хостов:

  • Кластер из одного хоста будет недоступен несколько минут, соединения с БД будут прерваны.
  • В кластере из нескольких хостов каждый хост по очереди будет остановлен и обновлен. Остановленный хост будет недоступен несколько минут.
  • Подключение по особому FQDN не гарантирует стабильность соединения с БД: пользовательские сессии могут быть прерваны.

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

Класс хостов влияет на количество оперативной памяти, доступной для использования ClickHouse®. Подробнее см. в разделе Управление памятью.

Минимальное количество ядер для одного хоста ZooKeeper зависит от суммарного количества ядер хостов ClickHouse®. Подробнее см. в разделе Репликация.

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. В консоли управления перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse.
  2. Выберите кластер и нажмите кнопку Редактировать на панели сверху.
  3. Чтобы изменить класс хостов ClickHouse®, в блоке Ресурсы выберите платформу, тип виртуальной машины и нужный класс хоста.
  4. Чтобы изменить класс хостов ZooKeeper, в блоке Класс хоста ZooKeeper выберите платформу, тип виртуальной машины и нужный класс хоста ZooKeeper.
  5. Нажмите кнопку Сохранить изменения.

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

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

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

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

    yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \
       --clickhouse-resource-preset=<идентификатор_класса>
    

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

  4. Чтобы изменить класс хостов ZooKeeper, передайте нужное значение в параметре --zookeeper-resource-preset.

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

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

  2. Измените в описании кластера Managed Service for ClickHouse® значение параметра resource_preset_id в блоках clickhouse.resources и zookeeper.resources для хостов ClickHouse® и ZooKeeper соответственно:

    resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
      ...
      clickhouse {
        resources {
          resource_preset_id = "<класс_хостов_ClickHouse®>"
          ...
        }
      }
      zookeeper {
        resources {
          resource_preset_id = "<класс_хостов_ZooKeeper>"
          ...
        }
      }
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

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

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

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

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

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

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

    export IAM_TOKEN="<IAM-токен>"
    
  2. Запросите список доступных классов хостов:

    1. Воспользуйтесь методом ResourcePreset.List и выполните запрос, например, с помощью cURL:

      curl \
          --request GET \
          --header "Authorization: Bearer $IAM_TOKEN" \
          --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/resourcePresets'
      
    2. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  3. Измените класс хостов на нужный:

    1. Воспользуйтесь методом Cluster.Update и выполните запрос, например, с помощью cURL:

      Важно

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

      curl \
          --request PATCH \
          --header "Authorization: Bearer $IAM_TOKEN" \
          --header "Content-Type: application/json" \
          --url 'https://mdb.api.cloud.yandex.net/managed-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.

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

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

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

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

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

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

  3. Запросите список доступных классов хостов:

    1. Воспользуйтесь вызовом 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.cloud.yandex.net:443 \
          yandex.cloud.mdb.clickhouse.v1.ResourcePresetService.List
      
    2. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  4. Измените класс хостов на нужный:

    1. Воспользуйтесь вызовом 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.cloud.yandex.net: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.

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

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

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

Примечание

В кластерах с поддержкой ClickHouse® Keeper хосты ZooKeeper не используются. Подробнее см. в разделе Репликация.

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

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

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

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

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

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

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

    yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \
      --clickhouse-disk-size <размер_хранилища_ГБ>
    
  3. Чтобы увеличить размер хранилища хостов ZooKeeper, передайте нужное значение в параметре --zookeeper-disk-size.

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

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

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

  2. Измените в описании кластера Managed Service for ClickHouse® значение параметра disk_size в блоках clickhouse.resources и zookeeper.resources для хостов ClickHouse® и ZooKeeper соответственно:

    resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
      ...
      clickhouse {
        resources {
          disk_size = <размер_хранилища_ГБ>
          ...
        }
      }
      zookeeper {
        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 ClickHouse®:

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

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

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

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

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

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

    Важно

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

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

    Где:

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

      Укажите нужные параметры:

      • configSpec.clickhouse.resources.diskSize — если нужно увеличить размер хранилища хостов ClickHouse®.
      • configSpec.zookeeper.resources.diskSize — если нужно увеличить размер хранилища хостов ZooKeeper.

      В примере запроса размер хранилища увеличивается как для хостов ClickHouse®, так и для хостов ZooKeeper.

    • configSpec.clickhouse.resources.diskSize — размер хранилища хостов ClickHouse® в байтах.

    • configSpec.zookeeper.resources.diskSize — размер хранилища хостов ZooKeeper в байтах.

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

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

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

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

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

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

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

    Важно

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

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/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.zookeeper.resources.disk_size"
                ]
              },
              "config_spec": {
                "clickhouse": {
                  "resources": {
                    "disk_size": "<размер_хранилища_в_байтах>"
                  }
                },
                "zookeeper": {
                  "resources": {
                    "disk_size": "<размер_хранилища_в_байтах>"
                  }
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.clickhouse.v1.ClusterService.Update
    

    Где:

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

      Укажите нужные параметры:

      • config_spec.clickhouse.resources.disk_size — если нужно увеличить размер хранилища хостов ClickHouse®.
      • config_spec.zookeeper.resources.disk_size — если нужно увеличить размер хранилища хостов ZooKeeper.

      В примере запроса размер хранилища увеличивается как для хостов ClickHouse®, так и для хостов ZooKeeper.

    • config_spec.clickhouse.resources.disk_size — размер хранилища хостов ClickHouse® в байтах.

    • config_spec.zookeeper.resources.disk_size — размер хранилища хостов ZooKeeper в байтах.

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

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

Включить управление пользователями и базами данных через SQLВключить управление пользователями и базами данных через SQL

Сервис Managed Service for ClickHouse® позволяет включить управление пользователями и базами данных кластера через SQL.

Внимание

Управление пользователями и базами данных через стандартные интерфейсы Yandex Cloud (консоль управления, CLI, Terraform, API) станет недоступно.

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

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

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Чтобы включить режим управления пользователями через SQL:

    • задайте значение true для параметра --enable-sql-user-management;
    • задайте пароль для пользователя admin в параметре --admin-password.
    yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \
       ...
       --enable-sql-user-management true \
       --admin-password "<пароль_пользователя_admin>"
    
  2. Чтобы включить режим управления базами данных через 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>"
    
  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

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

  2. Чтобы включить режим управления пользователями через SQL, добавьте к описанию кластера поле sql_user_management со значением true и поле admin_password с паролем пользователя admin:

    resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
      name                = "<имя_кластера>"
      ...
      admin_password      = "<пароль_пользователя_admin>"
      sql_user_management = true
      ...
    }
    
  3. Чтобы включить режим управления базами данных через SQL, добавьте к описанию кластера поля sql_user_management и sql_database_management со значением true, а также поле admin_password с паролем пользователя admin:

    resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
      name                    = "<имя_кластера>"
      ...
      admin_password          = "<пароль_пользователя_admin>"
      sql_database_management = true
      sql_user_management     = true
      ...
    }
    
  4. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Важно

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

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-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.

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

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

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

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

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

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

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

    Важно

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

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/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.cloud.yandex.net: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.

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

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

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

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

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

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

    • Начало резервного копирования (UTC) — промежуток времени, в течение которого начинается резервное копирование кластера. Время указывается по UTC в 24-часовом формате. По умолчанию — 22:00 - 23:00 UTC.

    • Срок хранения автоматических резервных копий, дней — время, в течение которого нужно хранить созданные автоматически резервные копии (в днях). Если для такой копии истекает срок хранения, то она удаляется. Значение по умолчанию — 7 дней. Подробнее см. в разделе Резервные копии.

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

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

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

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

    • Доступ из DataLens — опция разрешает анализировать данные из кластера в сервисе Yandex DataLens.

    • Доступ из WebSQL — опция разрешает выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL.

    • Доступ из Метрики и AppMetrica — опция разрешает импортировать данные из AppMetrica в кластер.

    • Доступ из Serverless — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Cloud Functions. Подробнее о настройке доступа см. в документации Cloud Functions.

    • Доступ из Yandex Query — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Query. Функциональность находится на стадии Preview.

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

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

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

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

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

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

    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> \
       --yandexquery-access=<true_или_false> \
       --deletion-protection \
       --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 с помощью сервиса Yandex WebSQL. Значение по умолчанию — false.

  • --yandexquery-access=true — разрешает доступ к кластеру из сервиса Yandex Query. Функциональность находится на стадии Preview. Значение по умолчанию — false.

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

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

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

    • anytime (по умолчанию) — в любое время.
    • weekly — по расписанию. Для этого значения дополнительно укажите:
      • day — день недели: MON, TUE, WED, THU, FRI, SAT или SUN.
      • hour — час дня по UTC: от 1 до 24.

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

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

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

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

    resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
      ...
      backup_window_start {
        hours   = <час_начала_резервного_копирования>
        minutes = <минута_начала_резервного_копирования>
      }
      ...
    }
    
  3. Чтобы разрешить доступ к кластеру из других сервисов и выполнение SQL-запросов из консоли управления с помощью Yandex WebSQL, измените значения соответствующих полей в блоке access:

    resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
      ...
      access {
        data_lens    = <доступ_из_DataLens>
        metrika      = <доступ_из_Метрики_и_AppMetrika>
        serverless   = <доступ_из_Cloud_Functions>
        web_sql      = <выполнение_SQL-запросов_из_консоли_управления>
        yandex_query = <доступ_из_Yandex_Query>
      }
      ...
    }
    

    Где:

    • data_lens — доступ из DataLens: true или false.

    • metrika — доступ из Метрики и AppMetrika: true или false.

    • serverless — доступ из Cloud Functions: true или false.

    • yandex_query — доступ из Yandex Query: true или false.

    • web_sql — выполнение SQL-запросов из консоли управления: true или false.

  4. Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), добавьте к описанию кластера блок maintenance_window:

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

    Где:

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

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

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

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

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Важно

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

    1. Создайте файл body.json и добавьте в него следующее содержимое:

      {
        "updateMask": "<перечень_изменяемых_настроек>",
        "configSpec": {
          "backupWindowStart": {
            "hours": "<часы>",
            "minutes": "<минуты>",
            "seconds": "<секунды>",
            "nanos": "<наносекунды>"
          },
          "access": {
            "dataLens": <доступ_из_DataLens>,
            "webSql": <выполнение_SQL-запросов>,
            "metrika": <импорт_данных_из_AppMetrica>,
            "serverless": <доступ_из_Yandex Cloud Functions>,
            "dataTransfer": <доступ_из_Yandex Data Transfer>,
            "yandexQuery": <доступ_из_Yandex Query>
          }    
        },
        "maintenanceWindow": {
          "anytime": {},
          "weeklyMaintenanceWindow": {
            "day": "<день_недели>",
            "hour": "<час_дня_по_UTC>"
          }
        },
        "deletionProtection": <защита_кластера_от_удаления>
      }
      

      Где:

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

      • configSpec.backupWindowStart — время начала резервного копирования (UTC):

        • hours — часы в 24-часовом формате.
        • minutes — минуты.
        • seconds — секунды.
        • nanos — наносекунды.
      • configSpec.access — настройки, которые разрешают доступ к кластеру из других сервисов и выполнение SQL-запросов из консоли управления с помощью Yandex WebSQL:

        • dataLens — разрешить доступ из DataLens: true или false. Значение по умолчанию — false. Подробнее о настройке подключения см. в разделе Подключение из DataLens.

        • webSql — разрешить выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL: 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. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.

        • yandexQuery — разрешить доступ к кластеру из сервиса Yandex Query: true или false. Функциональность находится на стадии Preview. Значение по умолчанию — false.

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

        • anytime — (по умолчанию) — в любое время.
        • weeklyMaintenanceWindow — по расписанию:
          • day — день недели в формате DDD: MON, TUE, WED, THU, FRI, SAT или SUN.
          • hour — час дня по UTC в формате HH: от 1 до 24.
      • deletionProtection — защита кластера от непреднамеренного удаления: true или false. Значение по умолчанию — false.

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

    2. Выполните запрос:

      curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \
        --data '@body.json'
      

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

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

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

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

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

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

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

    Важно

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

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    1. Создайте файл body.json и добавьте в него следующее содержимое:

      {
        "cluster_id": "<идентификатор_кластера>",
        "update_mask": {
          "paths": [
            <перечень_изменяемых_настроек>
          ]
        },
        "config_spec": {
          "backup_window_start": {
            "hours": "<часы>",
            "minutes": "<минуты>",
            "seconds": "<секунды>",
            "nanos": "<наносекунды>"
          },
          "access": {
            "data_lens": <доступ_из_DataLens>,
            "web_sql": <выполнение_SQL-запросов>,
            "metrika": <импорт_данных_из_AppMetrica>,
            "serverless": <доступ_из_Yandex Cloud Functions>,
            "data_transfer": <доступ_из_Yandex Data Transfer>,
            "yandex_query": <доступ_из_Yandex Query>
          }
        },
        "maintenance_window": {
          "anytime": {},
          "weekly_maintenance_window": {
            "day": "<день_недели>",
            "hour": "<час_дня_по_UTC>"
          }
        },
        "deletion_protection": <защита_кластера_от_удаления>
      }
      

      Где:

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

      • config_spec.backup_window_start — время начала резервного копирования (UTC):

        • hours — часы в 24-часовом формате.
        • minutes — минуты.
        • seconds — секунды.
        • nanos — наносекунды.
      • config_spec.access — настройки, которые разрешают доступ к кластеру из других сервисов и выполнение SQL-запросов из консоли управления с помощью Yandex WebSQL:

        • data_lens — разрешить доступ из DataLens: true или false. Значение по умолчанию — false. Подробнее о настройке подключения см. в разделе Подключение из DataLens.

        • web_sql — разрешить выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL: 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. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.

        • yandex_query — разрешить доступ к кластеру из сервиса Yandex Query: true или false. Функциональность находится на стадии Preview. Значение по умолчанию — false.

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

        • anytime — (по умолчанию) — в любое время.
        • weekly_maintenance_window — по расписанию:
          • day — день недели в формате DDD: MON, TUE, WED, THU, FRI, SAT или SUN.
          • hour — час дня по UTC в формате HH: от 1 до 24.
      • deletion_protection — защита кластера от непреднамеренного удаления: true или false. Значение по умолчанию — false.

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

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

    2. Выполните запрос:

      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.cloud.yandex.net:443 \
        yandex.cloud.mdb.clickhouse.v1.ClusterService.Update \
        < body.json
      
  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Connection ManagerConnection Manager

Если в кластере не включена интеграция с сервисом Connection Manager, включите опцию Использовать Connection Manager. Она доступна только в консоли управления.

Для каждого пользователя БД будут созданы:

  • Подключение Connection Manager с информацией о соединении с БД.

  • Секрет Yandex Lockbox, в котором хранится пароль пользователя. Хранение паролей в сервисе Yandex Lockbox обеспечивает их безопасность.

    Подключение и секрет создаются для каждого нового пользователя БД. Чтобы увидеть все подключения, на странице кластера выберите вкладку Подключения.

    Для просмотра информации о подключении требуется роль connection-manager.viewer. Вы можете настраивать доступ к подключениям в Connection Manager.

    Примечание

    Использование сервиса Connection Manager и секретов, созданных с его помощью, не тарифицируется.

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

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

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

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

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

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

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

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

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

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

    resource "yandex_mdb_clickhouse_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 ClickHouse®:

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

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

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

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

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

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

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>:move' \
        --data '{
                  "destinationFolderId": "<идентификатор_каталога_назначения>"
                }'
    

    Где destinationFolderId — идентификатор каталога назначения, в который нужно переместить кластер. Этот идентификатор можно запросить со списком каталогов в облаке.

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

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

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

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

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

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

  3. Воспользуйтесь вызовом 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.cloud.yandex.net:443 \
        yandex.cloud.mdb.clickhouse.v1.ClusterService.Move
    

    Где destination_folder_id — идентификатор каталога назначения, в который нужно переместить кластер. Этот идентификатор можно запросить со списком каталогов в облаке.

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

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

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

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

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

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

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

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

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

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

    resource "yandex_mdb_clickhouse_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 ClickHouse®:

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

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

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

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

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

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

    Важно

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

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "securityGroupIds",
                  "securityGroupIds": [
                    <список_идентификаторов_групп_безопасности>
                  ]
                }'
    

    Где:

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

      В данном случае указан только один параметр: securityGroupIds.

    • securityGroupIds — массив строк. Каждая строка — идентификатор группы безопасности.

      Важно

      Список назначенных кластеру групп безопасности будет полностью перезаписан списком, переданным в параметре securityGroupIds.

      Перед выполнением запроса убедитесь, что вы включили в этот список все нужные идентификаторы групп безопасности, в том числе существующие.

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

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

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

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

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

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

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

    Важно

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

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/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.cloud.yandex.net:443 \
        yandex.cloud.mdb.clickhouse.v1.ClusterService.Update
    

    Где:

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

      В данном случае указан только один параметр: security_group_ids.

    • security_group_ids — массив строк. Каждая строка — идентификатор группы безопасности.

      Важно

      Список назначенных кластеру групп безопасности будет полностью перезаписан списком, переданным в параметре security_group_ids.

      Перед выполнением запроса убедитесь, что вы включили в этот список все нужные идентификаторы групп безопасности, в том числе существующие.

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

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

Важно

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

Изменить настройки гибридного хранилищаИзменить настройки гибридного хранилища

CLI
REST API
gRPC API

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

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

    yc managed-clickhouse cluster update --help
    
  2. Если гибридное хранилище в кластере выключено, включите его:

    yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \
        --cloud-storage=true
    

    Примечание

    Включенное однажды гибридное хранилище нельзя отключить.

  3. Передайте список настроек, которые хотите изменить:

    yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \
        --cloud-storage-data-cache=<хранение_файлов> \
        --cloud-storage-data-cache-max-size=<объем_памяти_в_байтах> \
        --cloud-storage-move-factor=<доля_свободного_места> \
        --cloud-storage-prefer-not-to-merge=<слияние_кусков_данных>
    

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

    • --cloud-storage-data-cache — разрешает временное хранение файлов в кластерном хранилище. По умолчанию — true (разрешено).
    • --cloud-storage-data-cache-max-size — определяет максимальный объем памяти (в байтах), выделяемый в кластерном хранилище для временного хранения файлов. По умолчанию — 1073741824 (1 ГБ).
    • --cloud-storage-move-factor — устанавливает минимальную долю свободного места в кластерном хранилище. Если доля свободного места меньше этого значения, данные переносятся в Yandex Object Storage. Минимальное значение — 0, максимальное — 1, по умолчанию — 0.01.
    • --cloud-storage-prefer-not-to-merge — отключает слияние кусков данных в кластерном и объектном хранилищах. Чтобы отключить слияние, укажите значение true или передайте параметр без значения. Чтобы оставить слияние включенным, укажите значение false или не передавайте параметр в команде CLI при создании кластера.
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

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

    Важно

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

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "<перечень_изменяемых_настроек>",
                  "configSpec": {
                    "cloudStorage": {
                      "enabled": <использование_гибридного_хранилища>,
                      "moveFactor": "<доля_свободного_места>",
                      "dataCacheEnabled": <временное_хранение_файлов>,
                      "dataCacheMaxSize": "<максимальный_объем_памяти_для_хранения_файлов>",
                      "preferNotToMerge": <отключение_слияния_кусков_данных>
                    }
                  }
                }'
    

    Где:

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

    • configSpec.cloudStorage — настройки гибридного хранилища:

      • enabled — включить гибридное хранилище в кластере, если оно выключено: true или false. Значение по умолчанию — false (выключено).

        Примечание

        Включенное однажды гибридное хранилище нельзя отключить.

      • moveFactor — минимальная доля свободного места в кластерном хранилище. Если доля свободного места меньше этого значения, данные переносятся в Yandex Object Storage.

        Минимальное значение — 0, максимальное — 1, по умолчанию — 0.01.

      • dataCacheEnabled — разрешить временное хранение файлов в кластерном хранилище: true или false.

        По умолчанию — true (разрешено).

      • dataCacheMaxSize — максимальный объем памяти (в байтах), выделяемый в кластерном хранилище для временного хранения файлов.

        По умолчанию — 1073741824 (1 ГБ).

      • preferNotToMerge — отключить слияние кусков данных в кластерном и объектном хранилищах: true или false.

        Чтобы отключить слияние, укажите значение true. Чтобы оставить слияние включенным, укажите значение false.

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

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

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

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

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

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

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

    Важно

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

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [
                  <перечень_изменяемых_настроек>
                ]
              },
              "config_spec": {
                "cloud_storage": {
                  "enabled": <использование_гибридного_хранилища>,
                  "move_factor": "<доля_свободного_места>",
                  "data_cache_enabled": <временное_хранение_файлов>,
                  "data_cache_max_size": "<максимальный_объем_памяти_для_хранения_файлов>",
                  "prefer_not_to_merge": <отключение_слияния_кусков_данных>
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.clickhouse.v1.ClusterService.Update
    

    Где:

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

    • config_spec.cloud_storage — настройки гибридного хранилища:

      • enabled — включить гибридное хранилище в кластере, если оно выключено: true или false. Значение по умолчанию — false (выключено).

        Примечание

        Включенное однажды гибридное хранилище нельзя отключить.

      • move_factor — минимальная доля свободного места в кластерном хранилище. Если доля свободного места меньше этого значения, данные переносятся в Yandex Object Storage.

        Минимальное значение — 0, максимальное — 1, по умолчанию — 0.01.

      • data_cache_enabled — разрешить временное хранение файлов в кластерном хранилище: true или false.

        По умолчанию — true (разрешено).

      • data_cache_max_size — максимальный объем памяти (в байтах), выделяемый в кластерном хранилище для временного хранения файлов.

        По умолчанию — 1073741824 (1 ГБ).

      • prefer_not_to_merge — отключить слияние кусков данных в кластерном и объектном хранилищах: true или false.

        Чтобы отключить слияние, укажите значение true. Чтобы оставить слияние включенным, укажите значение false.

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

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

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.

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

Предыдущая
Создание кластера
Следующая
На уровне сервера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»