Editing a target group
You can add or remove VMs from a target group.
Add a VM to a target group
To add a VM to a target group:
- In the management console
, select your target group folder. - Select Application Load Balancer.
- In the left-hand panel, select
Target groups. - Click your target group name.
- Click Add targets.
- Select a VM from the list or add the target manually:
-
In the IP address field, specify the target's IP address and select its subnet.
-
Optionally, if the target's IP address does not belong to Yandex Virtual Private Cloud, select Outside VPC.
For example, you can specify a private IPv4 address from your data center connected to Yandex Cloud through Yandex Cloud Interconnect. This IP address must belong to the RFC 1918 private address range
. For more information, see the subnets article. -
Click Add target resource.
-
- Click Add.
If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.
The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID>
command. You can specify a different folder using the --folder-name
or --folder-id
parameter.
-
See the description of the CLI command for adding resources to target groups:
yc alb target-group add-targets --help
-
Run this command, with your target group name, the subnet name, and the VM’s internal IP address specified:
yc alb target-group add-targets \ --name <target_group_name> \ --target subnet-name=<subnet_name>,ip-address=<VM_internal_IP_address>
Result:
done (1s) id: a5d751meibht******** name: <target_group_name> targets: ... - ip_address: <VM_internal_IP_address> subnet_id: fo2tgfikh3he******** created_at: "2021-02-11T11:16:27.770674538Z"
When editing a target group, you can add targets outside the Yandex Virtual Private Cloud, e.g., residing in your data center connected to Yandex Cloud via Yandex Cloud Interconnect. Target IP addresses must belong to the RFC 1918 private address range
. For more information, see the subnets article.Run this command, with your target group name and the target’s private IPv4 address specified:
yc alb target-group add-targets \ --name <target_group_name> \ --target private-ip-address=true,ip-address=<target_private_IPv4_address>
Result:
done (1s) id: a5d751meibht4ev26... name: <target_group_name> targets: ... - ip_address: <target_private_IPv4_address> private_ipv4_address: true created_at: "2023-07-25T08:55:14.172526884Z"
With Terraform
Terraform is distributed under the Business Source License
For more information about the provider resources, see the documentation on the Terraform
If you do not have Terraform yet, install it and configure its Yandex Cloud provider.
-
Open the Terraform configuration file and add the
target
section to your target group description:resource "yandex_alb_target_group" "foo" { name = "<target_group_name>" target { subnet_id = "<subnet_ID>" ip_address = "<VM_1_internal_IP_address>" } target { subnet_id = "<subnet_ID>" ip_address = "<VM_2_internal_IP_address>" } target { subnet_id = "<subnet_ID>" ip_address = "<VM_3_internal_IP_address>" } target { subnet_id = "<subnet_ID>" ip_address = "<VM_4_internal_IP_address>" } }
Where
yandex_alb_target_group
specifies target group settings:name
: Target group name.target
: Target settings:subnet_id
: ID of the subnet hosting the VM. You can get the list of available subnets using theyc vpc subnet list
CLI command.ip_address
: VM internal IP address. You can get the list of internal IP addresses using the following CLI command:yc vpc subnet list-used-addresses --id <subnet_ID>
.
When editing a target group, you can add targets outside the Yandex Virtual Private Cloud, e.g., residing in your data center connected to Yandex Cloud via Yandex Cloud Interconnect:
resource "yandex_alb_target_group" "foo" { name = "<target_group_name>" target { private_ipv4_address = true ip_address = "<private_IPv4_address_of_target_1>" } target { private_ipv4_address = true ip_address = "<private_IPv4_address_of_target_2s>" } target { private_ipv4_address = true ip_address = "<private_IPv4_address_of_target_3>" } }
Where
yandex_alb_target_group
specifies target group settings:name
: Target group name.target
: Target settings:private_ipv4_address
: Setting indicating that the IP address is outside Virtual Private Cloud.ip_address
: Resource’s private IPv4 address. This IP address must belong to the RFC 1918 private address range . For more information, see the subnets article.
For more information about
yandex_alb_target_group
properties, see the relevant Terraform article . -
Apply the changes:
-
In the terminal, change to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using the command:
terraform validate
If the configuration is correct, the following message is returned:
Success! The configuration is valid.
-
Run the command:
terraform plan
The terminal will display a list of resources with parameters. No changes are made at this step. If the configuration contains errors, Terraform will point them out.
-
Apply the configuration changes:
terraform apply
-
Confirm the changes: type
yes
in the terminal and press Enter.
You can check target group updates in the management console
or using this CLI command:yc alb target-group get --name <target_group_name>
-
Use the addTargets REST API method for the TargetGroup resource or the TargetGroupService/AddTargets gRPC API call.
Remove a VM from a target group
To remove a VM from a target group:
- In the management console
, select the folder with your target group. - Select Application Load Balancer.
- In the left-hand panel, select
Target groups. - Click your target group name.
- Click
next to the VM you need, then select Delete. - In the window that opens, click Delete.
If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.
The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID>
command. You can specify a different folder using the --folder-name
or --folder-id
parameter.
-
See the description of the CLI command for removing targets from a target group:
yc alb target-group remove-targets --help
-
Run this command with your target group name, the subnet name, and the VM’s internal IP address specified:
yc alb target-group remove-targets \ --name <target_group_name> \ --target subnet-name=<subnet_name>,ip-address=<VM_internal_IP_address>
Result:
id: ds7urm6dn6cm******** name: <target_group_name> folder_id: aoerb349v3h4******** created_at: "2023-06-10T13:14:55.239094324Z"
To remove a target group resource residing outside Virtual Private Cloud, e.g., in your data center connected to Yandex Cloud via Cloud Interconnect, run this command, with the target group name and the resource’s private IPv4 address specified:
yc alb target-group remove-targets \ --name <target_group_name> \ --target private-ip-address=true,ip-address=<target_private_IPv4_address>
Result:
id: ds7urm6dn6cm******** name: <target_group_name> folder_id: aoerb349v3h4******** created_at: "2023-06-10T13:14:55.239094324Z"
With Terraform
Terraform is distributed under the Business Source License
For more information about the provider resources, see the documentation on the Terraform
If you do not have Terraform yet, install it and configure its Yandex Cloud provider.
-
Open the Terraform configuration file and delete the
target
section with your VM’s IP address from the target group description:Sample target group description in the Terraform configuration:
resource "yandex_alb_target_group" "foo" { name = "<target_group_name>" target { subnet_id = "<subnet_ID>" ip_address = "<VM_1_internal_IP_address>" } target { subnet_id = "<subnet_ID>" ip_address = "<VM_2_internal_IP_address>" } target { subnet_id = "<subnet_ID>" ip_address = "<VM_3_internal_IP_address>" } }
For more information about
yandex_alb_target_group
properties, see the relevant Terraform article . -
Apply the changes:
-
In the terminal, change to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using the command:
terraform validate
If the configuration is correct, the following message is returned:
Success! The configuration is valid.
-
Run the command:
terraform plan
The terminal will display a list of resources with parameters. No changes are made at this step. If the configuration contains errors, Terraform will point them out.
-
Apply the configuration changes:
terraform apply
-
Confirm the changes: type
yes
in the terminal and press Enter.
You can check target group updates in the management console
or using this CLI command:yc alb target-group get --name <target_group_name>
-
Use the removeTargets REST API method for the TargetGroup resource or the TargetGroup/RemoveTargets gRPC API call.