By default, ApsaraDB for Redis instances block access from all IP addresses to ensure the security and stability of databases. Before you use an ApsaraDB for Redis instance, you must add IP addresses or CIDR blocks that are used to access the ApsaraDB for Redis instance to a whitelist of the instance. Whitelists can be used to improve the access security of ApsaraDB for Redis instances. We recommend that you maintain whitelists on a regular basis.

Prerequisites

The ApsaraDB for Redis instance is updated to the latest minor version. For more information about how to update the minor version, see Update the minor version.
Note If the Minor Version Update button on the Instance Information page is dimmed or if a message indicating that the current version is the latest version appears after you click this button, your instance is of the latest minor version.

Preparations

Before you configure a whitelist for an ApsaraDB for Redis instance, you must obtain the IP addresses of clients based on the client installation locations.

Client installation location Network type How to obtain the IP address of a client
ECS instance (recommended) VPC How do I query the IP addresses of ECS instances?
Note
  • Make sure that the ECS instance and the ApsaraDB for Redis instance are deployed in the same VPC. The basic information sections of the instances must display the same VPC ID. If the instances are deployed in different VPCs, you can change the VPC to which the ECS instance belongs. For more information, see Change the VPC of an ECS instance.
  • The network types of the ECS instance and the ApsaraDB for Redis instance may be different. For example, the ECS instance belongs to the classic network and the ApsaraDB for Redis instance belongs to a VPC. For more information about how to connect to an ApsaraDB for Redis instance from an ECS instance when the instances are deployed in different types of networks, see Connect an ECS instance to an ApsaraDB for Redis instance in different types of networks.
On-premises device or third-party cloud Internet Select one of the following methods based on the operating system of the on-premises device:
  • Linux operating system: Run the curl ipinfo.io grep ip command on the on-premises device to obtain the public IP address. The following figure shows the sample result. View the public IP address of the on-premises device
  • Windows operating system: Visit ipinfo to obtain the public IP address of the on-premises device.

Methods of configuring a whitelist

Method Description
Method 1: Manually add a whitelist Manually add the IP address of a client to a whitelist of the ApsaraDB for Redis instance to allow the client to access the instance.
Method 2: Add ECS security groups as whitelists A security group is a virtual firewall that is used to control the inbound and outbound traffic of ECS instances in the security group. For more information, see Overview. To authorize multiple ECS instances to access an ApsaraDB for Redis instance, you can associate the ApsaraDB for Redis instance with the security group of these ECS instances. This method is more convenient than manually adding the IP addresses of these ECS instances to an instance whitelist.
Note The engine version of the ApsaraDB for Redis instance must be Redis 4.0 or later. For more information about how to upgrade the engine version, see Upgrade the major version.
Note You can set IP address whitelists and specify ECS security groups as whitelists for an ApsaraDB for Redis instance. Both IP addresses in the IP address whitelists and ECS instances in the security groups are allowed to access the instance.

Method 1: Manually add a whitelist

  1. Log on to the ApsaraDB for Redis console and go to the Instances page. In the top navigation bar, select the region in which the instance is deployed. Then, find the instance and click the instance ID.
  2. In the left-side navigation pane, click Whitelist Settings.
  3. Find the default whitelist and click Modify.
    Note You can also click Add Whitelist to create a whitelist. The name of a whitelist must be 2 to 32 characters in length and can contain lowercase letters, digits, and underscores (_). It must start with a lowercase letter and end with a lowercase letter or digit.
  4. In the dialog box that appears, perform one of the following operations:
    • Manually add IP addresses or CIDR blocks to the whitelist.
      Figure 1. Manually modify the whitelist
      Manually modify the whitelist
      Note
      • Separate multiple IP addresses with commas (,). A maximum of 1,000 unique IP addresses can be added. You can enter specific IP addresses and CIDR blocks described in the following section:
        • Specific IP addresses. Example: 10.23.12.24.
        • CIDR blocks. Example: 10.23.12.0/24. /24 indicates the length of the IP address prefix. An IP address prefix can be 1 to 32 bits in length. 10.23.12.0/24 indicates an IP address range from 10.23.12.0 to 10.23.12.255. For more information about CIDR blocks, see FAQ about CIDR blocks.
      • If you enter CIDR blocks that have a prefix length of 0 such as 0.0.0.0/0 and 127.0.0.1/0, all IP addresses are allowed to access the instance. This poses a high security risk. Proceed with caution.
    • Add private IP addresses of ECS instances to the whitelist.
      1. Click Load ECS Internal Network IP.

        The private IP addresses of ECS instances that are deployed in the same region as the ApsaraDB for Redis instance are displayed.

      2. Select IP addresses based on your business requirements.
        Figure 2. Select private IP addresses of ECS instances
        Select private IP addresses of ECS instances
        Note To find the ECS instance that is assigned a specific IP address, you can move the pointer over the IP address. Then, the system displays the ID and name of the ECS instance to which the IP address is assigned.
  5. Click OK.
  6. Optional: To delete all IP addresses of a whitelist, click Delete in the Actions column corresponding to the whitelist.
    Default whitelists generated by the system cannot be deleted, such as default and hdm_security_ips.

Method 2: Add ECS security groups as whitelists

You can add ECS security groups as whitelists for the ApsaraDB for Redis instance. Then, the ECS instances in the security groups can access the ApsaraDB for Redis instance over an internal network or the Internet. The ApsaraDB for Redis instance must have a public endpoint if you want to access the instance over the Internet. For more information, see Use a public endpoint to connect to an ApsaraDB for Redis instance.

Note
  • Before you add a security group as a whitelist, make sure that the network types of the ApsaraDB for Redis instance and the ECS instances in the security group are the same. If the network types of the ApsaraDB for Redis instance and ECS instances are VPC, make sure that they are deployed in the same VPC.
  • You cannot add ECS security groups as whitelists for ApsaraDB for Redis instances deployed in the following regions: China (Heyuan), China (Guangzhou), China (Nanjing), and China (Ulanqab).

  1. Log on to the ApsaraDB for Redis console and go to the Instances page. In the top navigation bar, select the region in which the instance is deployed. Then, find the instance and click the instance ID.
  2. In the left-side navigation pane, click Whitelist Settings.
  3. Click Security Groups.
  4. On the Security Groups tab, click Add Security Group.
  5. In the dialog box that appears, select the security groups that you want to add as whitelists.

    You can use a security group name or security group ID to perform fuzzy search.

    Figure 3. Add security groups
    Add security groups
    Note You can add up to 10 security groups as whitelists for each ApsaraDB for Redis instance.
  6. Click OK.
  7. Optional: To remove all security groups, click Delete.

References

Related API operations

API Description
DescribeSecurityIps Queries the IP address whitelists of an ApsaraDB for Redis instance.
ModifySecurityIps Modifies the IP address whitelists of an ApsaraDB for Redis instance.
DescribeSecurityGroupConfiguration Queries the security groups that are added as whitelists to an ApsaraDB for Redis instance.
ModifySecurityGroupConfiguration Modifies the security groups that are added as whitelists to an ApsaraDB for Redis instance.

FAQ

  • Q: Why are whitelists automatically created for an ApsaraDB for Redis instance? Can I delete these whitelists?

    A: After you create an ApsaraDB for Redis instance, a default whitelist is automatically created. After you perform specific operations on the instance, more whitelists are automatically created, as described in the following table.

    Whitelist name Source
    default The default whitelist that cannot be deleted.
    ali_dms_group This whitelist is automatically created by Data Management (DMS) when you log on to an ApsaraDB for Redis instance from DMS. For more information, see Log on to an ApsaraDB for Redis instance by using DMS. Do not delete or modify this whitelist. Otherwise, you may be unable to log on to the ApsaraDB for Redis instance from DMS.
    hdm_security_ips This whitelist is automatically created by Database Autonomy Service (DAS) when you use CloudDBA-related features such as cache analysis. For more information, see Offline key analysis. Do not delete or modify this whitelist. Otherwise, the CloudDBA-related features may become unavailable.
  • Q: A whitelist contains IP address 127.0.0.1 in addition to client IP addresses. In this case, can these clients connect to the ApsaraDB for Redis instance?

    A: Yes, these clients can connect to the ApsaraDB for Redis instance. If only 127.0.0.1 exists in the whitelist, all IP addresses are not allowed to connect to the ApsaraDB for Redis instance.

  • Q: Why does the (error) ERR illegal address message appear after I use the redis-cli tool to connect to an ApsaraDB for Redis instance?

    A: The IP address of the client where you use the redis-cli tool is not added to a whitelist of the ApsaraDB for Redis instance. You must check the whitelists of the ApsaraDB for Redis instance.

  • Q: If the IP address of my client is not added to a whitelist of an ApsaraDB for Redis instance, can I check port connectivity by running the telnet command?
    A: Yes, you can run the telnet command to check port connectivity. The following output is returned after you run the telnet command:
    Escape character is '^]'.
    Connection closed by foreign host.