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

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

  • Создать кластер
  • Создать копию кластера
  • Примеры
  • Создание кластера
  1. Пошаговые инструкции
  2. Кластеры
  3. Создание кластера

Создание кластера Greenplum®

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

Кластер Managed Service for Greenplum® состоит из хостов-мастеров, которые принимают запросы от клиента, и хостов-сегментов, обеспечивающих обработку и хранение данных.

Подробнее см. в разделе Взаимосвязь ресурсов сервиса.

Создать кластерСоздать кластер

Для создания кластера Managed Service for Greenplum® нужна роль vpc.user и роль managed-greenplum.editor или выше. О том, как назначить роль, см. документацию Identity and Access Management.

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

Чтобы создать кластер Managed Service for Greenplum®:

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

  2. Выберите сервис Managed Service for Greenplum.

  3. Нажмите кнопку Создать кластер.

  4. Введите имя кластера. Оно должно быть уникальным в рамках каталога.

  5. (Опционально) Введите описание кластера.

  6. Выберите окружение, в котором нужно создать кластер (после создания кластера окружение изменить невозможно):

    • PRODUCTION — для стабильных версий ваших приложений.
    • PRESTABLE — для тестирования. Prestable-окружение аналогично Production-окружению и на него также распространяется SLA, но при этом на нем раньше появляются новые функциональные возможности, улучшения и исправления ошибок. В Prestable-окружении вы можете протестировать совместимость новых версий с вашим приложением.
  7. Выберите версию Greenplum®.

  8. (Опционально) Чтобы разместить хосты-мастеры или хосты-сегменты на выделенных хостах, выберите группы выделенных хостов. Можно назначить группы на один из видов хостов Greenplum® либо сразу на оба.

    Группа выделенных хостов должна быть предварительно создана в сервисе Yandex Compute Cloud.

    Эту настройку нельзя изменить после создания кластера.

    При использовании выделенных хостов стоимость использования кластера складывается из цены за вычислительные ресурсы Yandex Compute Cloud и наценки Managed Service for Greenplum®.

  9. В блоке Сетевые настройки выберите:

    • Облачную сеть для размещения кластера.

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

    • Зону доступности и подсеть для размещения кластера. Чтобы создать новую подсеть, нажмите Создать подсеть в списке подсетей.

      Важно

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

      Для кластеров, хосты которых располагаются в зоне доступности ru-central1-d, недоступно хранилище на локальных SSD-дисках при использовании платформы Intel Cascade Lake.

    • Опцию Публичный доступ, чтобы подключаться к кластеру из интернета.

  10. (Опционально) Включите опцию Гибридное хранилище.

    Она включает гибридное хранилище. Гибридное хранилище нельзя отключить после сохранения настроек кластера.

    Когда гибридное хранилище включено, с помощью расширения Yezzey можно переместить часть таблиц AO и AOCO из хранилища кластера в холодное хранилище и наоборот.

    Холодное хранилище удобно, если данные таблиц нужно хранить долго, а работать с ними планируется редко. Так хранение будет дешевле.

    Примечание

    Функциональность находится на стадии Preview и не тарифицируется.

  11. Укажите реквизиты пользователя-администратора. Это специальный пользователь, который необходим для управления кластером и не может быть удален. Подробнее см. в разделе Пользователи и роли.

    • Имя пользователя — может содержать латинские буквы, цифры, дефис и подчеркивание, но не может начинаться с дефиса. Длина от 1 до 32 символов.

      Примечание

      Имена admin, gpadmin, mdb_admin, mdb_replication, monitor, none, postgres, public, repl зарезервированы для собственных нужд Managed Service for Greenplum®. Создавать пользователей с этими именами нельзя.

    • Пароль — длина от 8 до 128 символов.

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

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

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

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

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

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

    • Доступ из Yandex Query — опция разрешает выполнять YQL-запросы из сервиса Yandex Query к управляемой базе данных Managed Service for Greenplum®.

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

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

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

  13. (Опционально) Задайте режим работы и параметры менеджера подключений в блоке Менеджер подключений:

    • Режим — SESSION (сессионный, по умолчанию) или TRANSACTION (транзакционный).
    • Размер — количество клиентских соединений.
    • Тайм-аут ожидания клиента — время неактивности клиентского соединения (в миллисекундах), после которого соединение разрывается.
  14. (Опционально) В блоке Управление фоновыми процессами измените параметры регламентных операций технического обслуживания:

    • Время старта (UTC) — время, в которое начнется выполнение операции VACUUM. По умолчанию — 19:00 UTC. После завершения операции VACUUM запустится операция ANALYZE.
    • Таймаут VACUUM — максимальная длительность выполнения операции VACUUM, в секундах. Возможные значения: от 7200 до 86399, по умолчанию — 36000. Когда указанное время истечет, операция VACUUM будет принудительно завершена.
    • Таймаут ANALYZE — максимальная длительность выполнения операции ANALYZE, в секундах. Возможные значения: от 7200 до 86399, по умолчанию — 36000. Когда указанное время истечет, операция ANALYZE будет принудительно завершена.

    Суммарная длительность операций VACUUM и ANALYZE не может превышать 24 часа.

  15. Укажите параметры хостов-мастеров на вкладке Master. Рекомендуемую конфигурацию см. в разделе Расчет конфигурации кластера.

    • Класс хоста — определяет технические характеристики виртуальных машин, на которых будут развернуты хосты-мастеры кластера.

    • В блоке Хранилище выберите тип диска и укажите его размер. Доступные типы диска зависят от выбранного класса хостов.

      Важно

      • Тип диска нельзя изменить после создания кластера.
      • Размер хранилища нельзя уменьшить.
      • Во время изменения размера хранилища хосты кластера будут недоступны.
  16. Укажите параметры хостов-сегментов на вкладке Segment. Рекомендуемую конфигурацию см. в разделе Расчет конфигурации кластера.

    • Количество хостов-сегментов.

    • Количество сегментов на хост. Максимальное значение этого параметра зависит от класса хостов.

      Класс хостов-сегментов и количество сегментов на хост влияют на максимальный объем памяти, выделенный на каждый серверный процесс Greenplum®. Если выбран класс хостов с небольшим объемом оперативной памяти и указано большое число сегментов, то может возникнуть ошибка.

    • Класс хоста — определяет технические характеристики виртуальных машин, на которых будут развернуты хосты-сегменты кластера.

    • В блоке Хранилище выберите тип диска и укажите его размер. Доступные типы диска зависят от выбранного класса хостов.

      Важно

      • Тип диска нельзя изменить после создания кластера.
      • Размер хранилища нельзя уменьшить.
      • Во время изменения размера хранилища хосты кластера будут недоступны.
      • Выберите размер хранилища.
  17. При необходимости задайте настройки СУБД уровня кластера.

  18. Нажмите кнопку Создать.

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

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

Чтобы создать кластер Managed Service for Greenplum®:

  1. Проверьте, есть ли в каталоге подсети для хостов кластера:

    yc vpc subnet list
    

    Если ни одной подсети в каталоге нет, создайте нужные подсети в сервисе VPC.

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

    yc managed-greenplum cluster create --help
    
  3. Укажите параметры кластера в команде создания (в примере приведены не все доступные параметры):

    yc managed-greenplum cluster create <имя_кластера> \
       --greenplum-version=<версия_Greenplum> \
       --environment=<окружение> \
       --network-name=<имя_сети> \
       --user-name=<имя_пользователя> \
       --user-password=<пароль_пользователя> \
       --master-config resource-id=<класс_хоста>,`
                      `disk-size=<объем_хранилища_ГБ>,`
                      `disk-type=<network-hdd|network-ssd|network-ssd-nonreplicated|local-ssd> \
       --segment-config resource-id=<класс_хоста>,`
                      `disk-size=<объем_хранилища_ГБ>,`
                      `disk-type=<network-ssd-nonreplicated|local-ssd> \
       --zone-id=<зона_доступности> \
       --subnet-id=<идентификатор_подсети> \
       --assign-public-ip=<публичный_доступ_к_хостам> \
       --security-group-ids=<список_идентификаторов_групп_безопасности> \
       --deletion-protection
    

    Примечание

    Имя кластера должно быть уникальным в каталоге. Оно может содержать латинские буквы, цифры, дефис и подчеркивание. Максимальная длина имени 63 символа.

    Где:

    • --greenplum-version — версия Greenplum®: 6.22 или 6.25.

    • --environment — окружение:

      • PRODUCTION — для стабильных версий ваших приложений.
      • PRESTABLE — для тестирования. Prestable-окружение аналогично Production-окружению и на него также распространяется SLA, но при этом на нем раньше появляются новые функциональные возможности, улучшения и исправления ошибок. В Prestable-окружении вы можете протестировать совместимость новых версий с вашим приложением.
    • --network-name — имя сети.

    • --user-name — имя пользователя. Может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания. Длина от 1 до 32 символов.

    • --user-password — пароль. Длина от 8 до 128 символов.

    • --master-config и --segment-config — конфигурация хостов-мастеров и хостов-сегментов:

      • resource-id — класс хоста.

        Класс хостов-сегментов и количество сегментов на хост влияют на максимальный объем памяти, выделенный на каждый серверный процесс Greenplum®. Если выбран класс хостов с небольшим объемом оперативной памяти и указано большое число сегментов, то может возникнуть ошибка.

      • disk-size — объем хранилища в гигабайтах.

      • disk-type — тип диска:

        • network-hdd (только для хостов-мастеров);
        • network-ssd (только для хостов-мастеров);
        • local-ssd;
        • network-ssd-nonreplicated.
    • --zone-id — зона доступности.

    • --subnet-id — идентификатор подсети. Необходимо указывать, если в выбранной зоне доступности создано 2 и больше подсетей.

    • --assign-public-ip — флаг, который указывается, если для хостов нужен публичный доступ: true или false.

    • --security-group-ids — список идентификаторов групп безопасности.

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

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

  4. Чтобы задать время начала резервного копирования, передайте нужное значение в формате HH:MM:SS в параметре --backup-window-start:

    yc managed-greenplum cluster create <имя_кластера> \
       ...
       --backup-window-start=<время_начала_резервного_копирования>
    
  5. (Опционально) Чтобы создать кластер, размещенный на группах выделенных хостов, укажите через запятую их идентификаторы в параметрах --master-host-group-ids и --segment-host-group-ids:

    yc managed-greenplum cluster create <имя_кластера> \
       ...
       --master-host-group-ids=<идентификаторы_групп_выделенных_хостов_для_хостов-мастеров> \
       --segment-host-group-ids=<идентификаторы_групп_выделенных_хостов_для_хостов-сегментов>
    

    Вы можете назначить группы на один из видов хостов Greenplum® либо сразу на оба.

    Группа выделенных хостов должна быть предварительно создана в сервисе Yandex Compute Cloud.

    Эту настройку нельзя изменить после создания кластера.

    При использовании выделенных хостов стоимость использования кластера складывается из цены за вычислительные ресурсы Yandex Compute Cloud и наценки Managed Service for Greenplum®.

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

    yc managed-greenplum cluster create <имя_кластера> \
       ...
       --maintenance-window type=<тип_технического_обслуживания>,`
                           `day=<день_недели>,`
                           `hour=<час_дня> \
    

    Где type — тип технического обслуживания:

    • anytime (по умолчанию) — в любое время.
    • weekly — по расписанию. При задании этого значения укажите день недели и час дня:
      • day — день недели в формате DDD: MON, TUE, WED, THU, FRI, SAT или SUN.
      • hour — час дня по UTC в формате HH: от 1 до 24.
  7. Чтобы разрешить доступ к кластеру из разных сервисов, передайте значение true в соответствующих параметрах при создании кластера:

    yc managed-greenplum cluster create <имя_кластера> \
       ...
       --datalens-access=<доступ_из_DataLens> \
       --yandexquery-access=<доступ_из_Yandex_Query> \
       --websql-access=<true_или_false>
    

    Доступные сервисы:

    • --datalens-access — Yandex DataLens;
    • --yandexquery-access — Yandex Query;
    • --websql-access — Yandex WebSQL.

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

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

Чтобы создать кластер Managed Service for Greenplum®:

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

  2. Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  3. Создайте конфигурационный файл с описанием облачной сети и подсетей.

    Кластер размещается в облачной сети. Если подходящая сеть у вас уже есть, описывать ее повторно не нужно.

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

    Пример структуры конфигурационного файла, в котором описывается облачная сеть с одной подсетью:

    resource "yandex_vpc_network" "<имя_сети_в_Terraform>" { name = "<имя_сети>" }
    resource "yandex_vpc_subnet" "<имя_подсети_в_Terraform>" {
      name           = "<имя_подсети>"
      zone           = "<зона_доступности>"
      network_id     = yandex_vpc_network.<имя_сети_в_Terraform>.id
      v4_cidr_blocks = ["<подсеть>"]
    }
    
  4. Создайте конфигурационный файл с описанием кластера и его хостов.

    Пример структуры конфигурационного файла:

    resource "yandex_mdb_greenplum_cluster" "<имя_кластера_в_Terraform>" {
      name                = "<имя_кластера>"
      environment         = "<окружение>"
      network_id          = yandex_vpc_network.<имя_сети_в_Terraform>.id
      zone                = "<зона_доступности>"
      subnet_id           = yandex_vpc_subnet.<имя_подсети_в_Terraform>.id
      assign_public_ip    = <публичный_доступ_к_хостам_кластера>
      deletion_protection = <защита_кластера_от_удаления>
      version             = "<версия_Greenplum>"
      master_host_count   = <количество_хостов_мастеров>
      segment_host_count  = <количество_хостов_сегментов>
      segment_in_host     = <количество_сегментов_на_хост>
      master_subcluster {
        resources {
          resource_preset_id = "<класс_хоста>"
          disk_size          = <объем_хранилища_ГБ>
          disk_type_id       = "<тип_диска>"
        }
      }
      segment_subcluster {
        resources {
          resource_preset_id = "<класс_хоста>"
          disk_size          = <объем_хранилища_ГБ>
          disk_type_id       = "<тип_диска>"
        }
      }
    
      access {
        data_lens    = <доступ_из_DataLens>
        yandex_query = <доступ_из_Yandex_Query>
      }
    
      user_name     = "<имя_пользователя>"
      user_password = "<пароль>"
    
      security_group_ids = ["<список_идентификаторов_групп_безопасности>"]
    }
    

    Где:

    • assign_public_ip — публичный доступ к хостам кластера: true или false.

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

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

    • version — версия Greenplum®.

    • master_host_count — количество хостов-мастеров: 2.

    • segment_host_count — количество хостов-сегментов: от 2 до 32.

    • segment_in_host — количество сегментов на хост. Максимальное значение этого параметра зависит от класса хостов.

      Класс хостов-сегментов и количество сегментов на хост влияют на максимальный объем памяти, выделенный на каждый серверный процесс Greenplum®. Если выбран класс хостов с небольшим объемом оперативной памяти и указано большое число сегментов, то может возникнуть ошибка.

    • access.data_lens — доступ к кластеру из сервиса Yandex DataLens: true или false.

    • access.yandex_query — доступ к кластеру из сервиса Yandex Query: true или false.

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  5. (Опционально) Чтобы разместить хосты-мастеры или хосты-сегменты на выделенных хостах, укажите группы выделенных хостов:

    resource "yandex_mdb_greenplum_cluster" "<имя_кластера_в_Terraform>" {
      ...
      master_host_group_ids = [<идентификаторы_групп_выделенных_хостов_для_хостов-мастеров>]
      segment_host_group_ids = [<идентификаторы_групп_выделенных_хостов_для_хостов-сегментов>]
      ...
    }
    

    Вы можете назначить группы на один из двух видов хостов Greenplum® либо сразу на оба.

    Группа выделенных хостов должна быть предварительно создана в сервисе Yandex Compute Cloud.

    Эту настройку нельзя изменить после создания кластера.

    При использовании выделенных хостов стоимость использования кластера складывается из цены за вычислительные ресурсы Yandex Compute Cloud и наценки Managed Service for Greenplum®.

  6. Проверьте корректность файлов конфигурации Terraform:

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

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

      terraform validate
      

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

  7. Создайте кластер:

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

      terraform plan
      

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

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

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

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

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

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

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

    export IAM_TOKEN="<IAM-токен>"
    
  2. Создайте файл body.json и добавьте в него следующее содержимое:

    {
      "folderId": "<идентификатор_каталога>",
      "name": "<имя_кластера>",
      "environment": "<окружение>",
      "config": {
        "version": "<версия_Greenplum®>",
        "access": {
          "dataLens": <доступ_из_DataLens>,
          "yandexQuery": <доступ_из_Yandex_Query>
        },
        "zoneId": "<зона_доступности>",
        "subnetId": "<идентификатор_подсети>",
        "assignPublicIp": <публичный_доступ_к_хостам_кластера>
      },
      "masterConfig": {
        "resources": {
          "resourcePresetId": "<класс_хостов>",
          "diskSize": "<размер_хранилища_в_байтах>",
          "diskTypeId": "<тип_диска>"
        }
      },
      "segmentConfig": {
        "resources": {
          "resourcePresetId": "<класс_хостов>",
          "diskSize": "<размер_хранилища_в_байтах>",
          "diskTypeId": "<тип_диска>"
        }
      },
      "masterHostCount": "<количество_хостов-мастеров>",
      "segmentHostCount": "<количество_хостов-сегментов>",
      "segmentInHost": "<количество_сегментов_на_хост>",
      "userName": "<имя_пользователя>",
      "userPassword": "<пароль_пользователя>",
      "networkId": "<идентификатор_сети>",
      "securityGroupIds": [
          "<идентификатор_группы_безопасности_1>",
          "<идентификатор_группы_безопасности_2>",
          ...
          "<идентификатор_группы_безопасности_N>"
      ],
      "deletionProtection": <защита_кластера_от_удаления>,
      "configSpec": {
        "pool": {
          "mode": "<режим_работы>",
          "size": "<количество_клиентских_соединений>",
          "clientIdleTimeout": "<время_ожидания_клиента>"
        }
      },
      "cloudStorage": {
        "enable": <использование_гибридного_хранилища>
      },
      "masterHostGroupIds": [
        "string"
      ],
      "segmentHostGroupIds": [
        "string"
      ]
    }
    

    Где:

    • folderId — идентификатор каталога. Его можно запросить со списком каталогов в облаке.

    • name — имя кластера.

    • environment — окружение кластера: PRODUCTION или PRESTABLE.

    • config — настройки кластера:

      • version — версия Greenplum®.

      • access — настройки доступа кластера к следующим сервисам Yandex Cloud:

        • dataLens — Yandex DataLens: true или false.
        • yandexQuery — Yandex Query: true или false.
      • zoneId — зона доступности.

      • subnetId — идентификатор подсети.

      • assignPublicIp — публичный доступ к хостам кластера: true или false.

    • masterConfig.resources, segmentConfig.resources — конфигурация хостов-мастеров и хостов-сегментов кластера:

      • resourcePresetId — класс хостов;
      • diskSize — размер диска в байтах;
      • diskTypeId — тип диска.
    • masterHostCount — количество хостов-мастеров: 1 или 2.

    • segmentHostCount — количество хостов-сегментов: от 2 до 32.

    • segmentInHost — количество сегментов на хост. Максимальное значение этого параметра зависит от класса хостов.

      Класс хостов-сегментов и количество сегментов на хост влияют на максимальный объем памяти, выделенный на каждый серверный процесс Greenplum®. Если выбран класс хостов с небольшим объемом оперативной памяти и указано большое число сегментов, то может возникнуть ошибка.

    • userName — имя пользователя.

    • userPassword — пароль пользователя.

    • networkId — идентификатор сети, в которой будет размещен кластер.

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

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

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

    • configSpec.pool — настройки менеджера подключений:

      • mode — режим работы: SESSION или TRANSACTION.
      • size — количество клиентских соединений.
      • clientIdleTimeout — время неактивности клиентского соединения в миллисекундах, после которого соединение разрывается.
    • cloudStorage.enable — использование гибридного хранилища в кластерах с версией Greenplum® 6.25 и выше. Установите значение true, чтобы включить в кластере расширение Yezzey от Yandex Cloud. Оно применяется, чтобы выгрузить таблицы AO и AOCO с дисков кластера Managed Service for Greenplum® в холодное хранилище Yandex Object Storage. Так данные хранятся в служебном бакете в сжатом и зашифрованном виде. Это более экономичный способ хранения.

      Гибридное хранилище нельзя отключить после сохранения настроек кластера.

      Примечание

      Функциональность находится на стадии Preview и не тарифицируется.

    • masterHostGroupIds и segmentHostGroupIds — (опционально) идентификаторы групп выделенных хостов для хостов-мастеров и хостов-сегментов.

      Группа выделенных хостов должна быть предварительно создана в сервисе Yandex Compute Cloud.

      Эту настройку нельзя изменить после создания кластера.

      При использовании выделенных хостов стоимость использования кластера складывается из цены за вычислительные ресурсы Yandex Compute Cloud и наценки Managed Service for Greenplum®.

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

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-greenplum/v1/clusters' \
        --data "@body.json"
    
  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

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

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

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

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

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

    {
      "folder_id": "<идентификатор_каталога>",
      "name": "<имя_кластера>",
      "environment": "<окружение>",
      "config": {
        "version": "<версия_Greenplum®>",
        "access": {
          "data_lens": <доступ_из_DataLens>,
          "yandex_query": <доступ_из_Yandex_Query>
        },
        "zone_id": "<зона_доступности>",
        "subnet_id": "<идентификатор_подсети>",
        "assign_public_ip": <публичный_доступ_к_хостам_кластера>
      },
      "master_config": {
        "resources": {
          "resource_preset_id": "<класс_хостов>",
          "disk_size": "<размер_хранилища_в_байтах>",
          "disk_type_id": "<тип_диска>"
        }
      },
      "segment_config": {
        "resources": {
          "resource_preset_id": "<класс_хостов>",
          "disk_size": "<размер_хранилища_в_байтах>",
          "disk_type_id": "<тип_диска>"
        }
      },
      "master_host_count": "<количество_хостов-мастеров>",
      "segment_host_count": "<количество_хостов-сегментов>",
      "segment_in_host": "<количество_сегментов_на_хост>",
      "user_name": "<имя_пользователя>",
      "user_password": "<пароль_пользователя>",
      "network_id": "<идентификатор_сети>",
      "security_group_ids": [
          "<идентификатор_группы_безопасности_1>",
          "<идентификатор_группы_безопасности_2>",
          ...
          "<идентификатор_группы_безопасности_N>"
      ],
      "deletion_protection": <защита_кластера_от_удаления>
      "config_spec": {
        "pool": {
          "mode": "<режим_работы>",
          "size": "<количество_клиентских_соединений>",
          "client_idle_timeout": "<время_ожидания_клиента>"
        }
      },
      "cloud_storage": {
        "enable": <использование_гибридного_хранилища>
      },
      "master_host_group_ids": [
        "string"
      ],
      "segment_host_group_ids": [
        "string"
      ]
    }
    

    Где:

    • folder_id — идентификатор каталога. Его можно запросить со списком каталогов в облаке.

    • name — имя кластера.

    • environment — окружение кластера: PRODUCTION или PRESTABLE.

    • config — настройки кластера:

      • version — версия Greenplum®.

      • access — настройки доступа кластера к следующим сервисам Yandex Cloud:

        • data_lens — Yandex DataLens: true или false.
        • yandex_query — Yandex Query: true или false.
      • zone_id — зона доступности.

      • subnet_id — идентификатор подсети.

      • assign_public_ip — публичный доступ к хостам кластера: true или false.

    • master_config.resources, segment_config.resources — конфигурация хостов-мастеров и хостов-сегментов кластера:

      • resource_preset_id — класс хостов;
      • disk_size — размер диска в байтах;
      • disk_type_id — тип диска.
    • master_host_count — количество хостов-мастеров: 1 или 2.

    • segment_host_count — количество хостов-сегментов: от 2 до 32.

    • segment_in_host — количество сегментов на хост. Максимальное значение этого параметра зависит от класса хостов.

      Класс хостов-сегментов и количество сегментов на хост влияют на максимальный объем памяти, выделенный на каждый серверный процесс Greenplum®. Если выбран класс хостов с небольшим объемом оперативной памяти и указано большое число сегментов, то может возникнуть ошибка.

    • user_name — имя пользователя.

    • user_password — пароль пользователя.

    • network_id — идентификатор сети, в которой будет размещен кластер.

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

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

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

    • config_spec.pool — настройки менеджера подключений:

      • mode — режим работы: SESSION или TRANSACTION.
      • size — количество клиентских соединений.
      • client_idle_timeout — время неактивности клиентского соединения в миллисекундах, после которого соединение разрывается.
    • cloud_storage.enable — использование гибридного хранилища в кластерах с версией Greenplum® 6.25 и выше. Установите значение true, чтобы включить в кластере расширение Yezzey от Yandex Cloud. Оно применяется, чтобы выгрузить таблицы AO и AOCO с дисков кластера Managed Service for Greenplum® в холодное хранилище Yandex Object Storage. Так данные хранятся в служебном бакете в сжатом и зашифрованном виде. Это более экономичный способ хранения.

      Гибридное хранилище нельзя отключить после сохранения настроек кластера.

      Примечание

      Функциональность находится на стадии Preview и не тарифицируется.

    • master_host_group_ids и segment_host_group_ids — (опционально) идентификаторы групп выделенных хостов для хостов-мастеров и хостов-сегментов.

      Группа выделенных хостов должна быть предварительно создана в сервисе Yandex Compute Cloud.

      Эту настройку нельзя изменить после создания кластера.

      При использовании выделенных хостов стоимость использования кластера складывается из цены за вычислительные ресурсы Yandex Compute Cloud и наценки Managed Service for Greenplum®.

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

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d @ \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.greenplum.v1.ClusterService.Create \
        < body.json
    
  5. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Создать копию кластераСоздать копию кластера

Вы можете создать кластер Greenplum®, который будет обладать настройками созданного ранее кластера. Для этого конфигурация исходного кластера Greenplum® импортируется в Terraform. В результате вы можете либо создать идентичную копию, либо взять за основу импортированную конфигурацию и внести в нее изменения. Использовать импорт удобно, если исходный кластер Greenplum® обладает множеством настроек и нужно создать похожий на него кластер.

Чтобы создать копию кластера Greenplum®:

Terraform
  1. Если у вас еще нет Terraform, установите его.

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

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

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

  5. В той же рабочей директории разместите файл с расширением .tf и содержимым:

    resource "yandex_mdb_greenplum_cluster" "old" { }
    
  6. Запишите идентификатор первоначального кластера Greenplum® в переменную окружения:

    export GREENPLUM_CLUSTER_ID=<идентификатор_кластера>
    

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

  7. Импортируйте настройки первоначального кластера Greenplum® в конфигурацию Terraform:

    terraform import yandex_mdb_greenplum_cluster.old ${GREENPLUM_CLUSTER_ID}
    
  8. Получите импортированную конфигурацию:

    terraform show
    
  9. Скопируйте ее из терминала и вставьте в файл с расширением .tf.

  10. Расположите файл в новой директории imported-cluster.

  11. Измените скопированную конфигурацию так, чтобы из нее можно было создать новый кластер:

    • Укажите новое имя кластера в строке resource и параметре name.
    • Удалите параметры created_at, health, id, status, master_hosts и segment_hosts.
    • Добавьте параметр user_password.
    • Если в блоке maintenance_window указано значение параметра type = "ANYTIME", удалите параметр hour.
    • (Опционально) Внесите дополнительные изменения, если вам нужна не идентичная, а кастомизированная копия.
  12. В директории imported-cluster получите данные для аутентификации.

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

  14. Поместите конфигурационный файл в директорию imported-cluster и укажите значения параметров. Если данные для аутентификации не были добавлены в переменные окружения, укажите их в конфигурационном файле.

  15. Проверьте корректность файлов конфигурации Terraform:

    terraform validate
    

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

  16. Создайте необходимую инфраструктуру:

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

      terraform plan
      

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

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

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

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

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

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

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

Создание кластераСоздание кластера

CLI

Создайте кластер Managed Service for Greenplum® с тестовыми характеристиками:

  • С именем gp-cluster.

  • Версии 6.25.

  • В окружении PRODUCTION.

  • В сети default.

  • С пользователем user1.

  • С паролем user1user1.

  • С хостами-мастерами и хостами-сегментами:

    • Класса s2.medium.
    • С хранилищем на локальных SSD-дисках (local-ssd) объемом 100 ГБ.
  • В зоне доступности ru-central1-a, в подсети b0rcctk2rvtr********.

  • С публичным доступом к хостам.

  • В группе безопасности enp6saqnq4ie********.

  • С защитой от непреднамеренного удаления.

Выполните следующую команду:

yc managed-greenplum cluster create \
   --name=gp-cluster \
   --greenplum-version=6.25 \
   --environment=PRODUCTION \
   --network-name=default \
   --user-name=user1 \
   --user-password=user1user1 \
   --master-config resource-id=s2.medium,`
                  `disk-size=100,`
                  `disk-type=local-ssd \
   --segment-config resource-id=s2.medium,`
                   `disk-size=100,`
                   `disk-type=local-ssd \
   --zone-id=ru-central1-a \
   --subnet-id=b0rcctk2rvtr******** \
   --assign-public-ip=true \
   --security-group-ids=enp6saqnq4ie******** \
   --deletion-protection

Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах.

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

Предыдущая
Информация об имеющихся кластерах
Следующая
Расширение кластера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»