Updated on 2024-10-21 GMT+08:00

Binding and Unbinding ELBs for a GaussDB(DWS) Cluster

Overview

If the private IP address or EIP of a CN is used to connect to a cluster, the failure of this CN will lead to cluster connection failure. If a private or public domain name is used for connection, the DNS service randomly selects a private IP address or EIP for each client. This cannot balance loads or avoid single-CN failures. ELB is used to solve these problems.

An ELB distributes access traffic to multiple ECSs for traffic control based on forwarding policies. It improves the fault tolerance capability of application programs. For details, see the Elastic Load Balance User Guide.

With ELB health checks, CN requests of a cluster can be quickly forwarded to normal CNs. If a CN is faulty, the workload can be immediately shifted to a healthy node, minimizing cluster access faults. Currently, ELBs can be bound in the same VPC or across VPCs.

  • This feature is supported only in cluster version 8.1.1.200 or later.
  • For load balancing and high availability purposes, and to prevent single CN failures, a cluster must be bound to ELB.
  • When you bind a cluster to ELB across VPCs, you can bind it to a dedicated load balancer.
  • ELB does not support cross-database access.

Constraints and Limitations

  • To bind an ELB to a GaussDB(DWS) cluster, the ELB must be in the same region, VPC, and enterprise project as the cluster.
  • Only dedicated load balancers can be bound to GaussDB(DWS).

    Load balancing is not supported in regions where the dedicated load balancer is not available. You can check whether dedicated load balancers are supported on the ELB console.

  • The ELB to be associated must use TCP and has a private IP address.
  • When creating an ELB instance, determine its specifications based on your service access traffic. You are advised to select the maximum specifications. On the GaussDB(DWS) console, you can bind to an ELB instance but cannot change its specifications.
  • You only need to create a load balancer if you want to use ELB. GaussDB(DWS) automatically creates the required ELB listeners and backend server groups.
  • When creating a load balancer, ensure that the listeners do not use the same port as the database. Otherwise, ELB cannot be associated.
  • When you associate ELB, the ROUND_ROBIN policy is set by default. In addition, the health check interval is set to 10 seconds, the timeout duration is set to 50 seconds, and the number of maximum retries is set to 3. Exercise caution when you modify these ELB parameters.
  • When you bind a cluster to ELB across VPCs, you can only bind it to a dedicated load balancer.
  • Before you bind a cluster to ELB across VPCs, ensure that the subnet segment of the cluster VPC is different from that of the ELB VPC.
  • When you disassociate ELB from a cluster, related cluster information is cleared on GaussDB(DWS) but the load balancer is not deleted. Delete the load balancer in time to prevent unnecessary costs.
  • If you need to access the ELB cluster using a public IP address or domain name, bind an EIP or domain name on the ELB management console.
  • If the cluster is an IPv4 cluster, only IPv4 ELBs can be bound. If the cluster is an IPv6 dual-stack cluster, only IPv6 dual-stack ELBs can be bound.

Associating ELB

  1. Log in to the GaussDB(DWS) console.
  2. Choose Clusters > Dedicated Clusters. All clusters are displayed by default.
  3. In the cluster list, click the name of the target cluster. The Cluster Information page is displayed.
  4. On the Basic Information page that is displayed, click Associate ELB and select the ELB name. If no load balancer exists, create one on the ELB management console. Then refresh the GaussDB(DWS) page and associate ELB with the cluster.

    By default, the ELB in the VPC of the cluster is selected for GaussDB(DWS). If you select Bind to ELB in another VPC, the list of ELBs in other VPCs will be displayed for you to choose from. Before binding your cluster to an ELB across VPCs, ensure the cluster VPC has been connected to the ELB VPC. For details, see Prerequisites for Binding an ELB to a Cluster Across VPCs.

  5. After the request is delivered, go back to the Clusters page. Task information Associating ELB of the cluster is displayed. The process takes some time.
  6. Log in to the ELB management console, choose Elastic Load Balance > Load Balancers, click the name of the bound load balancer, switch to the Backend Server Groups tab, and check whether the cluster CNs are associated with the load balancer.

    If the health check result indicates that the ELB backend nodes are deleted, ignore the problem.

  1. In the Basic Information area of the Cluster Information page, check the ELB Address, which is used for connecting to the cluster.

Prerequisites for Binding an ELB to a Cluster Across VPCs

Enabling ELB for a cross-VPC backend server

  1. Log in to the ELB console.
  2. In the ELB list, click the name of a dedicated ELB to go to its details page.

  3. On the Summary page, enable IP as a Backend, confirm the information, and click OK.

  4. Check the VPC and subnet segment.

Connecting the cluster VPC and the ELB VPC (by using VPC peering as an example)

  1. Log in to the GaussDB(DWS) console.
  2. Choose Clusters > Dedicated Clusters. All clusters are displayed by default.
  3. In the cluster list, click the name of a cluster to go to the cluster details page. Check the VPC and subnet segment of the cluster.

  4. Log in to the VPC management console. Choose My VPCs in the navigation pane and locate the VPC for which you want to create a VPC peering connection.
  5. Choose VPC Peering Connections. In the upper right corner of the page, click Create VPC Peering Connection.
  6. On the displayed page, set Local VPC to the cluster VPC, and set Peer VPC to the VPC of the ELB. Confirm the settings and click OK.

  7. Click Add Route to add the route information.
  8. Click the name of the created VPC peering connection. On the displayed page, click the Local Routes tab, click Route Tables, and add the route table of the cluster VPC.

  9. In the local route table, set Destination to the subnet CIDR block of the ELB VPC, set Next Hop Type to VPC peering connection, and set Next Hop to the created VPC peering connection. Click OK.

  10. Go to the basic information page of the created VPC peering connection, click the Peer Routes tab, click Route Tables, and add the route table of the ELB VPC.

  11. In the peer route table, set Destination to the subnet CIDR block of the cluster VPC, set Next Hop Type to VPC peering connection, and set Next Hop to the created VPC peering connection. Click OK.

  12. After the cluster is created, the network between the VPC where the cluster resides and the VPC where the load balancer resides is connected. For details, see section Binding an ELB.

Disassociating ELB

  1. Log in to the GaussDB(DWS) console.
  2. Choose Clusters > Dedicated Clusters. All clusters are displayed by default.
  3. In the cluster list, click the name of the target cluster. The Cluster Information page is displayed.
  4. On the Basic Information page that is displayed, click Disassociate ELB.
  5. After the request is delivered, go back to the Clusters page. Task information Dissociating ELB of the cluster is displayed. The process takes some time.
  6. Log in to the ELB management console, click the name of the dissociated ELB, switch to the Backend Server Groups tab, and check whether the cluster CNs are deleted.