Управление хостами кластера
Вы можете добавлять и удалять хосты кластера, а также управлять их настройками.
Получить список хостов в кластере
- Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
- Нажмите на имя нужного кластера, затем выберите вкладку Хосты.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список хостов в кластере, выполните команду:
yc managed-mysql host list \
--cluster-name=<имя кластера>
+----------------------------+--------------+---------+--------+---------------+
| NAME | CLUSTER ID | ROLE | HEALTH | ZONE ID |
+----------------------------+--------------+---------+--------+---------------+
| rc1b...mdb.yandexcloud.net | c9q5k4ve7... | MASTER | ALIVE | ru-central1-b |
| rc1c...mdb.yandexcloud.net | c9q5k4ve7... | REPLICA | ALIVE | ru-central1-c |
+----------------------------+--------------+---------+--------+---------------+
Имя кластера можно запросить со списком кластеров в каталоге.
Воспользуйтесь методом API listHosts и передайте идентификатор кластера в параметре clusterId
запроса.
Чтобы узнать идентификатор кластера, получите список кластеров в каталоге.
Добавить хост
Количество хостов в кластерах Managed Service for MySQL ограничено квотами на количество CPU и объем памяти, которые доступны кластерам БД в вашем облаке. Чтобы проверить используемые ресурсы, откройте страницу Квоты и найдите блок Managed Databases.
-
Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
-
Нажмите на имя нужного кластера и перейдите на вкладку Хосты.
-
Нажмите кнопку Добавить хост.
-
Укажите параметры хоста:
- зону доступности;
- подсеть (если нужной подсети в списке нет, создайте ее);
- выберите опцию Публичный доступ, если хост должен быть доступен извне Yandex Cloud;
- приоритет назначения хоста мастером;
- приоритет хоста как MySQL-реплики для создания резервной копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы добавить хост в кластер:
-
Запросите список подсетей кластера, чтобы выбрать подсеть для нового хоста:
$ yc vpc subnet list +-----------+-----------+------------+---------------+------------------+ | ID | NAME | NETWORK ID | ZONE | RANGE | +-----------+-----------+------------+---------------+------------------+ | b0cl69... | default-c | enp6rq7... | ru-central1-c | [172.16.0.0/20] | | e2lkj9... | default-b | enp6rq7... | ru-central1-b | [10.10.0.0/16] | | e9b0ph... | a-2 | enp6rq7... | ru-central1-a | [172.16.32.0/20] | | e9b9v2... | default-a | enp6rq7... | ru-central1-a | [172.16.16.0/20] | +-----------+-----------+------------+---------------+------------------+
Если нужной подсети в списке нет, создайте ее.
-
Посмотрите описание команды CLI для добавления хостов:
$ yc managed-mysql host add --help
-
Выполните команду добавления хоста (в примере приведены не все доступные параметры):
yc managed-mysql host add \ --cluster-name=<имя кластера> \ --host zone-id=<идентификатор зоны доступности>, --subnet-id=<идентификатор подсети>, --backup-priority=<приоритет хоста при резервном копировании> --priority=<приоритет назначения хоста мастером: от 0 до 100>
Managed Service for MySQL запустит операцию добавления хоста.
Идентификатор подсети необходимо указать, если в зоне доступности больше одной подсети, в противном случае Managed Service for MySQL автоматически выберет единственную подсеть. Имя кластера можно запросить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание MySQL-кластера.
-
Добавьте к описанию кластера Managed Service for MySQL блок
host
:resource "yandex_mdb_mysql_cluster" "<имя кластера>" { ... host { zone = "<зона доступности>" subnet_id = <идентификатор подсети> assign_public_ip = <публичный доступ к хосту: true или false> priority = <приоритет назначения хоста мастером: от 0 до 100> ... } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL:
- создание кластера, в том числе путем восстановления из резервной копии, — 15 минут;
- изменение кластера — 60 минут;
- удаление кластера — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Воспользуйтесь методом API addHosts и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Настройки нового хоста в одном или нескольких параметрах
hostSpecs
.
Важно
Если после добавления хоста к нему невозможно подключиться, убедитесь, что группа безопасности кластера настроена корректно для подсети, в которую помещен хост.
Изменить хост
Для каждого хоста в кластере Managed Service for MySQL можно:
- указать источник репликации;
- управлять публичным доступом;
- задать приоритет использования при резервном копировании;
- задать приоритет назначения хоста мастером при выходе из строя основного мастера.
Чтобы изменить параметры хоста в кластере:
- Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
- Нажмите на имя нужного кластера и выберите вкладку Хосты.
- Нажмите значок в строке нужного хоста и выберите пункт Редактировать.
- Задайте новые настройки для хоста:
- Выберите источник репликации для хоста, чтобы вручную управлять потоками репликации.
- Включите опцию Публичный доступ, если хост должен быть доступен извне Yandex Cloud.
- Задайте значение поля Приоритет мастера.
- Задайте значение поля Приоритет создания бэкапа.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить параметры хоста, выполните команду (в примере приведены не все доступные параметры):
yc managed-mysql host update <имя хоста> \
--cluster-name=<имя кластера> \
--replication-source=<имя хоста-источника> \
--assign-public-ip=<публичный доступ к хосту: true или false> \
--backup-priority=<приоритет хоста при резервном копировании: от 0 до 100>
--priority=<приоритет назначения хоста мастером: от 0 до 100>
Где:
--cluster-name
— имя кластера Managed Service for MySQL;--replication-source
— источник репликации для хоста;--assign-public-ip
— доступность хоста из интернета по публичному IP-адресу;--backup-priority
— приоритет хоста при резервном копировании.--priority
— приоритет назначения хоста мастером при выходе из строя основного мастера.
Имя хоста можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.
Чтобы изменить параметры хоста в кластере:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание MySQL-кластера.
-
Измените в описании кластера Managed Service for MySQL атрибуты блока
host
, соответствующего изменяемому хосту.resource "yandex_mdb_mysql_cluster" "<имя кластера>" { ... host { replication_source_name = "<источник репликации>" assign_public_ip = <публичный доступ к хосту: true или false> priority = <приоритет назначения хоста мастером: от 0 до 100> } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL:
- создание кластера, в том числе путем восстановления из резервной копии, — 15 минут;
- изменение кластера — 60 минут;
- удаление кластера — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить параметры хоста, воспользуйтесь методом API updateHosts и передайте в запросе:
- Идентификатор кластера, в котором нужно изменить хост, в параметре
clusterId
. - Имя хоста, который нужно изменить, в параметре
updateHostSpecs.hostName
. - Настройки нового хоста в одном или нескольких параметрах
hostSpecs
.
Имя хоста можно запросить со списком хостов в кластере, идентификатор кластера — со списком кластеров в каталоге.
Важно
Если после изменения хоста к нему невозможно подключиться, убедитесь, что группа безопасности кластера настроена корректно для подсети, в которую помещен хост.
Удалить хост
Вы можете удалить хост из MySQL-кластера, если он не является единственным хостом. Чтобы заменить единственный хост, сначала создайте новый хост, а затем удалите старый.
Если хост является мастером в момент удаления, Managed Service for MySQL автоматически назначит мастером следующую по приоритету реплику.
- Перейдите на страницу каталога и выберите сервис Managed Service for MySQL.
- Нажмите на имя нужного кластера и выберите вкладку Хосты.
- Нажмите значок в строке нужного хоста и выберите пункт Удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы удалить хост из кластера, выполните команду:
yc managed-mysql host delete <имя хоста> \
--cluster-name=<имя кластера>
Имя хоста можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание MySQL-кластера.
-
Удалите из описания кластера Managed Service for MySQL блок
host
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите удаление ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for MySQL:
- создание кластера, в том числе путем восстановления из резервной копии, — 15 минут;
- изменение кластера — 60 минут;
- удаление кластера — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_mysql_cluster" "<имя кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Воспользуйтесь методом API deleteHosts и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя или массив имен удаляемых хостов в параметре
hostNames
.