如何排查 Amazon Aurora 连接问题?

上次更新时间:2019 年 5 月 10 日

如何排查运行 Amazon Aurora 的 Amazon Relational Database Service (Amazon RDS) 集群或实例的连接问题 ?

简短描述

以下是 Amazon Aurora 数据库集群或实例连接问题的常见原因:

  • Aurora 数据库集群或实例仍在创建过程中,尚未处于可用状态。
  • 数据库实例安全组、ACL 或本地防火墙阻止来自源实例或其 IP 地址的连接。
  • 与您的 Amazon Virtual Private Cloud (Amazon VPC) 子网关联的路由表不允许来自您的本地计算机或数据库实例的流量或不进行路由。
  • 通过互联网从本地计算机连接时,数据库实例不可公开访问。
    DNS 名称解析失败,可能是因为客户端未连接到正确的 Aurora 终端节点。
  • 由于出现底层硬件或数据库进程问题,Amazon RDS 数据库实例正在相应执行实例还原或故障转移。

解决方法

为帮助解决 Amazon RDS(包括 Aurora 实例)上常见的连接问题,请参阅如何解决 Amazon RDS 数据库实例的连接问题?

对于 Aurora 数据库集群,请确保您的客户端正在连接正确的终端节点。由于 Amazon Aurora 是一项托管服务,您必须使用 MySQL 客户端工具连接到 Aurora DNS 终端节点。

请务必连接正确的 Aurora 终端节点。要验证您的客户端当前正在连接的集群终端节点、读取终端节点和自定义终端节点,请执行以下步骤:

1.    打开 Amazon RDS 控制台

2.    从导航窗格中选择数据库

3.    从资源组中选择您的数据库集群,然后在连接和安全性的终端节点部分查看集群详细信息。

4.    使用 telnet/nc 命令验证终端节点连接:

telnet <RDS endpoint> <port number>
nc <RDS endpoint> <port number>

5.    连接之后,请运行以下命令以验证您已连接到读取终端节点或写入终端节点:

"SHOW GLOBAL VARIABLES LIKE 'innodb_read_only'; "

如果您连接的是 Aurora 副本,则将 innodb_read_only 变量设置为打开。如果该变量设置为关闭,则说明您连接的是主实例。


这篇文章对您有帮助吗?

您觉得我们哪些地方需要改进?


需要更多帮助?