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

Переключение мастера

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.

В отказоустойчивом кластере Yandex Managed Service for Valkey™ из нескольких хостов вы можете переключить роль мастера с текущего хоста-мастера на хост-реплику. После этой операции текущий хост-мастер станет хостом-репликой для нового мастера.

Переключение в среднем занимает несколько минут, кластер в это время доступен.

Шардированный кластер содержит один или несколько хостов-мастеров — по одному на каждый шард. Переключение мастера для шардированного кластера осуществляется поочередно для каждого шарда.

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

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

  1. В консоли управления перейдите в каталог с нешардированным кластером.
  2. Выберите сервис Yandex Managed Service for Valkey™.
  3. Нажмите на имя нужного кластера, затем выберите вкладку Хосты.
  4. В строке хоста с ролью MASTER нажмите значок и выберите Переключение мастера.
  5. В открывшемся окне выберите опцию Я хочу переключить мастер и нажмите кнопку Переключить.

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

  1. В консоли управления перейдите в каталог с шардированным кластером.
  2. Выберите сервис Yandex Managed Service for Valkey™.
  3. Нажмите на имя нужного кластера, затем выберите вкладку Хосты.
  4. В строке хоста с ролью MASTER нажмите значок и выберите Переключение мастера.
  5. В открывшемся окне нажмите кнопку Переключить.

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

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

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

yc managed-redis cluster start-failover \
  --name <имя_кластера>

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

yc managed-redis cluster start-failover \
  --name <имя_кластера> \
  --hostnames <имя_текущего_мастера>

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

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

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

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

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<идентификатор_кластера>:startFailover'
    

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

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<идентификатор_кластера>:startFailover' \
        --data '{
                  "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.StartFailover и выполните запрос, например, с помощью gRPCurl:

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

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

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

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

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

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

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

Предыдущая
Управление шардами
Следующая
Просмотр логов кластера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»