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

Using ELB for Public Access to DCS

Overview

Currently, Huawei Cloud DCS Redis 4.0 and later cannot be bound with elastic IP addresses (EIPs) and cannot be accessed over public networks directly. This section describes how to access a single-node, master/standby, read/write splitting, or Proxy Cluster instance or a node in a Redis Cluster instance through public networks by enabling cross-VPC backend on a load balancer.

  • Due to cluster node address translation, you cannot access a Redis Cluster as a whole. You can only access individual nodes in the cluster.
  • Do not use public network access in the production environment. Client access exceptions caused by poor public network performance will not be included in the SLA.

The following figure shows the process for accessing DCS through ELB.

Figure 1 Process for accessing DCS through ELB

Interconnecting ELB with a DCS Instance

  1. Create a VPC or use an existing one.
  2. Buy a DCS Redis instance. Record the IP address and port number of the instance.
  3. Create a dedicated load balancer.

    • A shared load balancer does not support cross-VPC backend servers. Therefore, it cannot be bound to a DCS instance.
    • For Specification, select Network load balancing (TCP/UDP).
    • To access the DCS instance over public networks, enable IP as a Backend when creating a dedicated load balancer.

  4. Add a TCP listener to the dedicated load balancer.

    • On the Add Backend Server tab page, choose IP as Backend Servers > Add IP as Backend Server.
    • Enter the IP address, port, and other parameters of your DCS instance.
    • A Redis Cluster DCS instance contains multiple master/replica pairs. When configuring IP as a Backend, you can add the IP address and port of any master or replica node.
    • If you enable Health Check, you do not need to manually configure the port. By default, the service port of the backend server will be used.

  5. Create a VPC peering connection. For the local VPC, select the VPC where your load balancer is located. For the peer VPC, select the VPC where your DCS instance is located.

    Even if your load balancer and DCS instance are in the same VPC, you still need to create a VPC peering connection. For the local VPC, select the VPC where your load balancer and DCS instance are located. For the peer VPC, select another VPC.

  6. Click the name of the VPC peering connection to go to its details page. Obtain Local VPC CIDR Block and Peer VPC CIDR Block.

  7. Click Add Route and configure local and peer routes for the VPC peering connection.

    1. Local route: Configure the peer VPC CIDR block in Destination on the Add Route dialog box.
    2. Peer route: Select Add a route for the other VPC and configure the local VPC CIDR block in Destination, and click OK.

      If the load balancer and the DCS instance are in the same VPC, you do not need to add a peer route.

  8. Perform a health check on the IP address of the DCS instance. If the health check result is Healthy, the added cross-VPC backend IP address can be used.

    1. In the navigation pane of Network Console, choose Elastic Load Balance > Backend Server Groups.
    2. Click the name of the created backend server group to go to its details page.
    3. On the Backend Servers > IP as Backend Servers tab page, view the health check result of the DCS instance IP address.

Accessing a DCS Instance on a Client

  • Accessing a single node of a Redis Cluster instance on a client through ELB
    1. View the basic information of the load balancer created in 3.

    2. Buy an ECS, log in to it, and install the Redis client by referring to redis-cli.
    3. On the Redis client, connect to the DCS instance using the IP address and port number configured in 4. If you use the EIP and port number of the load balancer, an error will be reported.

  • Accessing a single-node, master/standby, read/write splitting, or Proxy Cluster instance on a client through ELB
    1. View the IPv4 EIP and port number of the load balancer created in 3.

    2. Buy an ECS, log in to it, and install the Redis client by referring to redis-cli.
    3. Use redis-cli to access the load balancer using its EIP and port number (which is 80).

    4. Write a key through ELB.

    5. Log in to the DCS console. On the Cache Manager page, choose More > Connect to Redis in the row that contains the DCS instance created in 2. Check whether the key written in 4 exists.