You need to enable JavaScript to run this app.
导航

我在连接火山引擎 ECS 自建 Redis 实例时,显示报错连接认证失败,请检查网络是否正常怎么办?

最近更新时间2023.08.17 17:59:04

首次发布时间2023.08.17 17:59:04

本文介绍如何在连接火山引擎 ECS 自建 Redis 实例时,出现连接认证失败,请检查网络是否正常的可能原因和解决方案。您可以根据本文提示排查异常情况。

可能原因一

在创建数据库传输服务任务时,源库的配置信息可能填写错误。
解决方案
源库的配置信息如下表所示:

参数说明
实例类型选择 Redis
接入方式选择火山引擎 ECS 自建 Redis

主机地址

输入源自建实例的主机地址。

说明

该主机地址需要为私网地址。

端口输入源自建实例的端口号。

VPC

从下拉列表中选择源实例所属的私有网络。

说明

该私有网络必须在 ECS 所属的网络内。

数据库账号

默认账号为 default,您可以根据实际情况设置数据库账号。

说明

数据库账号可以留空不设置,在不设置数据库账号时,数据库账号默认为 default

数据库密码输入源实例数据库账号对应的密码。

可能原因二

您的实例可能进行了访问控制。
解决方案
您需要先放开 IP 段 100.64.0.0/10 的访问权限,再创建数据传输任务。具体操作如下所示:

  1. 在创建迁移任务页面的源库配置区域,单击查看 DTS IP 段

  2. DTS 服务器访问授权对话框,单击复制到剪贴板,获取放开的 IP 段。

  3. 添加目标 IP 段 100.64.0.0/10 至源实例的白名单或安全组内。

可能原因三

火山引擎 ECS 自建 Redis 实例可能开启了保护模式。由于实例在开启保护模式后,仅允许本地连接,无法进行远程连接。
您可以执行以下命令,确认实例是否开启了保护模式:

config get protected-mode

如果执行结果出现以下报错,则表示实例开启了保护模式:

failed: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified

解决方案
执行以下命令关闭实例的保护模式:

config set protected-mode no

可能原因四

实例的 bind 参数设置为 127.0.0.1,表示实例仅支持本地连接,无法进行远程连接。
您可以执行以下命令,获取 bind 参数信息:

config get bind

解决方案
在火山引擎 ECS 服务器上修改配置文件 redis.conf 中的 bind 参数信息设置为 0.0.0.0/0

说明

由于将 0.0.0.0/0 IP 网段暴露在公网上,可能会导致火山引擎 ECS 自建 Redis 实例被攻击,因此在配置文件前,建议您给 Redis 设置访问密码,具体操作如下:

  1. 在火山引擎 ECS 服务器上修改配置文件 redis.conf 取消以下代码的注销。

    requirepass foobared
    
  2. 在配置文件 redis.conf 中添加以下代码。

    requirepass <yourpassword>
    

    <yourpassword> 为您设置的密码。

  3. 重启 Redis 服务器。

成功设置密码后,您需要在连接 Redis 时,提供正确的密码才可以进行访问。