Изменить целевую группу
Вы можете добавлять или удалять виртуальные машины из целевой группы.
Добавить ВМ в целевую группу
Чтобы добавить ВМ в целевую группу:
- В консоли управления
выберите каталог, в котором создана целевая группа. - Выберите сервис Application Load Balancer.
- На панели слева выберите
Целевые группы. - Нажмите на имя нужной целевой группы.
- Нажмите Добавить целевые ресурсы.
- Выберите ВМ из списка или добавьте целевой ресурс вручную:
-
В поле IP-адрес укажите IP-адрес ресурса и выберите подсеть.
-
(Опционально) Если IP-адрес ресурса находится вне Yandex Virtual Private Cloud, выберите опцию Не из VPC.
Например, укажите частный IPv4-адрес из вашего ЦОД, подключенного к Yandex Cloud через Yandex Cloud Interconnect. IP-адрес должен входить в частные диапазоны из RFC 1918
. Подробнее см. Подсети. -
Нажмите Добавить целевой ресурс.
-
- Нажмите кнопку Добавить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для добавления ресурсов в целевые группы:
yc alb target-group add-targets --help -
Выполните команду, указав имя целевой группы, имя подсети и внутренний IP-адрес ВМ:
yc alb target-group add-targets \ --name <имя_целевой_группы> \ --target subnet-name=<имя_подсети>,ip-address=<внутренний_IP-адрес_ВМ>Результат:
done (1s) id: a5d751meibht******** name: <имя_целевой_группы> targets: ... - ip_address: <внутренний_IP-адрес_ВМ> subnet_id: fo2tgfikh3he******** created_at: "2021-02-11T11:16:27.770674538Z"Также вы можете добавить в целевую группу ресурсы, которые размещены вне Yandex Virtual Private Cloud, например в вашем ЦОД, подключенном к Yandex Cloud через Yandex Cloud Interconnect. IP-адреса ресурсов должны входить в частные диапазоны из RFC 1918
. Подробнее см. Подсети.Выполните команду, указав в параметрах имя целевой группы и частный IPv4-адрес ресурса:
yc alb target-group add-targets \ --name <имя_целевой_группы> \ --target private-ip-address=true,ip-address=<частный_IPv4-адрес_ресурса>Результат:
done (1s) id: a5d751meibht4ev26... name: <имя_целевой_группы> targets: ... - ip_address: <частный_IPv4-адрес_ресурса> private_ipv4_address: true created_at: "2023-07-25T08:55:14.172526884Z"
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Откройте конфигурационный файл Terraform и добавьте блок
targetс параметрами целевого ресурса во фрагмент с описанием целевой группы:resource "yandex_alb_target_group" "foo" { name = "<имя_целевой_группы>" target { subnet_id = "<идентификатор_подсети>" ip_address = "<внутренний_IP-адрес_ВМ_1>" } target { subnet_id = "<идентификатор_подсети>" ip_address = "<внутренний_IP-адрес_ВМ_2>" } target { subnet_id = "<идентификатор_подсети>" ip_address = "<внутренний_IP-адрес_ВМ_3>" } target { subnet_id = "<идентификатор_подсети>" ip_address = "<внутренний_IP-адрес_ВМ_4>" } }Где
yandex_alb_target_group— параметры целевой группы:name— имя целевой группы.target— параметры целевого ресурса:subnet_id— идентификатор подсети, в которой размещена ВМ. Получить список доступных подсетей можно с помощью команды CLI:yc vpc subnet list.ip_address— внутренний IP-адрес ВМ. Получить список внутренних IP-адресов можно с помощью команды CLI:yc vpc subnet list-used-addresses --id <идентификатор_подсети>.
Также вы можете добавить в целевую группу ресурсы, которые размещены вне Yandex Virtual Private Cloud, например в вашем ЦОД, подключенном к Yandex Cloud через Yandex Cloud Interconnect:
resource "yandex_alb_target_group" "foo" { name = "<имя_целевой_группы>" target { private_ipv4_address = true ip_address = "<частный_IPv4-адрес_ресурса_1>" } target { private_ipv4_address = true ip_address = "<частный_IPv4-адрес_ресурса_2>" } target { private_ipv4_address = true ip_address = "<частный_IPv4-адрес_ресурса_3>" } }Где
yandex_alb_target_group— параметры целевой группы:name— имя целевой группы.target— параметры целевого ресурса:private_ipv4_address— параметр, который означает, что IP-адрес находится вне Virtual Private Cloud.ip_address— частный IPv4-адрес ресурса. IP-адреса должны входить в частные диапазоны из RFC 1918 . Подробнее см. Подсети.
Подробную информацию о параметрах ресурса
yandex_alb_target_groupсм. в документации провайдера Terraform. -
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения целевой группы можно в консоли управления
или с помощью команды CLI:yc alb target-group get --name <имя_целевой_группы>Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с целевыми группами Application Load Balancer 10 минутами.
Операции, которые длятся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию целевой группы блок
timeouts, например:resource "yandex_alb_target_group" "<имя_целевой_группы>" { ... timeouts { create = "60m" update = "60m" delete = "60m" } } -
Воспользуйтесь методом REST API addTargets для ресурса TargetGroup или вызовом gRPC API TargetGroupService/AddTargets.
Удалить ВМ из целевой группы
Чтобы удалить ВМ из целевой группы:
- В консоли управления
выберите каталог, в котором создана целевая группа. - Выберите сервис Application Load Balancer.
- На панели слева выберите
Целевые группы. - Нажмите на имя нужной целевой группы.
- Справа от нужной ВМ нажмите
и выберите Удалить. - В открывшемся окне нажмите кнопку Удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для удаления ресурсов из целевой группы:
yc alb target-group remove-targets --help -
Выполните следующую команду, указав имя целевой группы, имя подсети и внутренний IP-адрес ВМ:
yc alb target-group remove-targets \ --name <имя_целевой_группы> \ --target subnet-name=<имя_подсети>,ip-address=<внутренний_IP-адрес_ВМ>Результат:
id: ds7urm6dn6cm******** name: <имя_целевой_группы> folder_id: aoerb349v3h4******** created_at: "2023-06-10T13:14:55.239094324Z"Чтобы удалить из целевой группы ресурс, который размещен вне Virtual Private Cloud, например в вашем ЦОД, подключенном к Yandex Cloud через Cloud Interconnect, выполните команду, указав имя целевой группы и частный IPv4-адрес ресурса:
yc alb target-group remove-targets \ --name <имя_целевой_группы> \ --target private-ip-address=true,ip-address=<частный_IPv4-адрес_ресурса>Результат:
id: ds7urm6dn6cm******** name: <имя_целевой_группы> folder_id: aoerb349v3h4******** created_at: "2023-06-10T13:14:55.239094324Z"
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Откройте конфигурационный файл Terraform и удалите блок
targetс IP-адресом ВМ, которую нужно удалить, во фрагменте с описанием целевой группы:Пример описания целевой группы в конфигурации Terraform:
resource "yandex_alb_target_group" "foo" { name = "<имя_целевой_группы>" target { subnet_id = "<идентификатор_подсети>" ip_address = "<внутренний_IP-адрес_ВМ_1>" } target { subnet_id = "<идентификатор_подсети>" ip_address = "<внутренний_IP-адрес_ВМ_2>" } target { subnet_id = "<идентификатор_подсети>" ip_address = "<внутренний_IP-адрес_ВМ_3>" } }Подробную информацию о параметрах ресурса
yandex_alb_target_groupсм. в документации провайдера Terraform. -
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения целевой группы можно в консоли управления
или с помощью команды CLI:yc alb target-group get --name <имя_целевой_группы> -
Воспользуйтесь методом REST API removeTargets для ресурса TargetGroup или вызовом gRPC API TargetGroupService/RemoveTargets.