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

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

  • Получить список хостов в кластере
  • Создать хост
  • Изменить хост
  • Удалить хост
  1. Пошаговые инструкции
  2. Управление хостами кластера

Управление хостами кластера Sharded PostgreSQL

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 4 марта 2026 г.
  • Получить список хостов в кластере
  • Создать хост
  • Изменить хост
  • Удалить хост

Вы можете управлять хостами кластера Managed Service for Sharded PostgreSQL, в том числе:

  • получить список хостов;
  • создать хост;
  • изменить настройки хоста;
  • удалить хост.

Получить список хостов в кластереПолучить список хостов в кластере

Консоль управления
CLI
REST API
gRPC API
  1. Перейдите в сервис Yandex Managed Service for Sharded PostgreSQL.
  2. Нажмите на имя нужного кластера, затем выберите вкладку Хосты.

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

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

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

yc managed-sharded-postgresql hosts list \
  --cluster-name <имя_кластера>

Результат:

+----------------------------+----------------------+---------+--------+--------------------+-----------+
|            NAME            |      CLUSTER ID      |  ROLE   | HEALTH |      ZONE ID       | PUBLIC IP |
+----------------------------+----------------------+---------+--------+--------------------+-----------+
| rc1b***mdb.yandexcloud.net | c9qp71dk1dfg******** | PRIMARY | ALIVE  | ru-central1-b      | true      |
| rc1a***mdb.yandexcloud.net | c9qp71dk1dfg******** | PRIMARY | ALIVE  | ru-central1-a      | false     |
+----------------------------+----------------------+---------+--------+--------------------+-----------+
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

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

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-spqr/v1/clusters/<идентификатор_кластера>/hosts'
    
  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

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

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

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

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

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

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.spqr.v1.ClusterService.ListHosts
    
  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Создать хостСоздать хост

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

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

Чтобы создать хост:

  1. Перейдите в сервис Yandex Managed Service for Sharded PostgreSQL.

  2. Нажмите на имя нужного кластера и перейдите на вкладку Хосты.

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

  4. Укажите параметры хоста:

    • Зону доступности.
    • Подсеть (если нужной подсети в списке нет, создайте ее).
    • Тип хоста — INFRA (для кластера со стандартным шардированием), ROUTER или COORDINATOR (для кластера с расширенным шардированием).
    • Выберите опцию Публичный доступ, если хост должен быть доступен извне Yandex Cloud.

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

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

Чтобы создать хост:

  1. Запросите список подсетей кластера, чтобы выбрать подсеть для нового хоста:

    yc vpc subnet list
    

    Результат:

    +----------------------+-----------+----------------------+---------------+-------------------+
    |          ID          |   NAME    |      NETWORK ID      |      ZONE     |      RANGE        |
    +----------------------+-----------+----------------------+---------------+-------------------+
    | b0cl69q1w2e3******** | default-d | enp6rq71w2e3******** | ru-central1-d | [172.16.**.**/20] |
    | e2lkj9q1w2e3******** | default-b | enp6rq71w2e3******** | ru-central1-b | [10.10.**.**/16]  |
    | e9b9v2q1w2e3******** | default-a | enp6rq71w2e3******** | ru-central1-a | [172.16.**.**/20] |
    +----------------------+-----------+----------------------+---------------+-------------------+
    

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

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

    yc managed-sharded-postgresql hosts add --help
    
  3. Выполните команду добавления хоста:

    yc managed-sharded-postgresql hosts add \
      --cluster-name <имя_кластера> \
      --host zone-id=<зона_доступности>,subnet-id=<идентификатор_подсети>,type=<тип_хоста>
    

    Идентификатор подсети необходимо указать, если в зоне доступности больше одной подсети, в противном случае Managed Service for Sharded PostgreSQL автоматически выберет единственную подсеть.

    Возможные значения для типа хоста — infra (для кластера со стандартным шардированием), router или coordinator (для кластера с расширенным шардированием).

    Также вы можете указать дополнительную опцию assign-public-ip в параметре --host для управления публичным доступом к хосту:

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

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

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-spqr/v1/clusters/<идентификатор_кластера>/hosts:batchCreate' \
      --data '{
                "hostSpecs": [
                  {
                    "zoneId": "<зона_доступности>",
                    "subnetId": "<идентификатор_подсети>",
                    "assignPublicIp": <разрешить_публичный_доступ_к_хосту>,
                    "type": "<тип_хоста>"
                  },
                  { <аналогичный_набор_настроек_для_создаваемого_хоста_2> },
                  { ... },
                  { <аналогичный_набор_настроек_для_создаваемого_хоста_N> }
                ]
              }'
    

    Где hostSpecs — массив новых хостов. Один элемент массива содержит настройки для одного хоста и имеет следующую структуру:

    • zoneId — зона доступности.
    • subnetId — идентификатор подсети.
    • assignPublicIp — доступность хоста из интернета по публичному IP-адресу: true или false.
    • type — тип хоста: infra (для кластера со стандартным шардированием), router или coordinator (для кластера с расширенным шардированием).
  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

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

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

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

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

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

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "host_specs": [
              {
                "zone_id": "<зона_доступности>",
                "subnet_id": "<идентификатор_подсети>",
                "assign_public_ip": <разрешить_публичный_доступ_к_хосту>,
                "type": "<тип_хоста>"
              },
              { <аналогичный_набор_настроек_для_создаваемого_хоста_2> },
              { ... },
              { <аналогичный_набор_настроек_для_создаваемого_хоста_N> }
            ]
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.spqr.v1.ClusterService.AddHosts
    

    Где host_specs — массив новых хостов. Один элемент массива содержит настройки для одного хоста и имеет следующую структуру:

    • zone_id — зона доступности.
    • subnet_id — идентификатор подсети.
    • assign_public_ip — доступность хоста из интернета по публичному IP-адресу: true или false.
    • type — тип хоста: infra (для кластера со стандартным шардированием), router или coordinator (для кластера с расширенным шардированием).
  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Изменить хостИзменить хост

Для каждого хоста в кластере Managed Service for Sharded PostgreSQL можно изменить настройки публичного доступа.

CLI
REST API
gRPC API

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

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

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

yc managed-sharded-postgresql hosts update <имя_хоста> \
  --cluster-name <имя_кластера> \
  --assign-public-ip=<публичный_доступ_к_хосту>

Где:

  • cluster-name — имя кластера.
  • assign-public-ip — публичный доступ к хосту: true или false.

Имя хоста можно запросить со списком хостов в кластере.

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

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

    Важно

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

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-spqr/v1/clusters/<идентификатор_кластера>/hosts:batchUpdate' \
      --data '{
                "updateHostSpecs": [
                  {
                    "updateMask": "assignPublicIp",
                    "hostName": "<имя_хоста>",
                    "assignPublicIp": <разрешить_публичный_доступ_к_хосту>
                  },
                  { <аналогичный_набор_настроек_для_изменяемого_хоста_2> },
                  { ... },
                  { <аналогичный_набор_настроек_для_изменяемого_хоста_N> }
                ]
              }'
    

    Где updateHostSpecs — массив изменяемых хостов. Один элемент массива содержит настройки для одного хоста и имеет следующую структуру:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.
    • hostName — имя изменяемого хоста.
    • assignPublicIp — доступность хоста из интернета по публичному IP-адресу: 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.UpdateHosts и выполните запрос, например с помощью 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/spqr/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "update_host_specs": [
              {
                "update_mask": {
                    "paths": [
                      "assign_public_ip"
                    ]
                },
                "host_name": "<имя_хоста>",
                "assign_public_ip": <разрешить_публичный_доступ_к_хосту>
              },
              { <аналогичный_набор_настроек_для_изменяемого_хоста_2> },
              { ... },
              { <аналогичный_набор_настроек_для_изменяемого_хоста_N> }
            ]
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.ClusterService.UpdateHosts
    

    Где update_host_specs — массив изменяемых хостов. Один элемент массива содержит настройки для одного хоста и имеет следующую структуру:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].
    • host_name — имя изменяемого хоста.
    • assign_public_ip — доступность хоста из интернета по публичному IP-адресу: true или false.

    Имя хоста можно запросить со списком хостов в кластере.

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

Удалить хостУдалить хост

Вы можете удалить хост типа INFRA, ROUTER или COORDINATOR из кластера Sharded PostgreSQL, если он не является единственным хостом соответствующего типа. Чтобы заменить единственный хост, сначала создайте новый хост, а затем удалите старый.

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

Чтобы удалить хост из кластера:

  1. Перейдите в сервис Yandex Managed Service for Sharded PostgreSQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Хосты.
  3. В строке хоста, который вы хотите удалить, нажмите на значок , выберите пункт Удалить и подтвердите удаление.

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

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

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

yc managed-sharded-postgresql hosts delete <имя_хоста> \
  --cluster-name <имя_кластера>

Имя хоста можно запросить со списком хостов в кластере.

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

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

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-spqr/v1/clusters/<идентификатор_кластера>/hosts:batchDelete' \
      --data '{
                "hostNames": [
                  "<имя_хоста>"
                ]
              }'
    

    Где hostNames — массив строк, состоящий из единственного элемента с именем удаляемого хоста. Имя хоста можно запросить со списком хостов в кластере.

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

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

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

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

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

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

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "host_names": [
              "<имя_хоста>"
            ]
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.spqr.v1.ClusterService.DeleteHosts
    

    Где host_names — массив строк, состоящий из единственного элемента с именем удаляемого хоста. Имя хоста можно запросить со списком хостов в кластере.

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

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

Предыдущая
Изменение кластера
Следующая
Управление шардами
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»