我无法连接到当前运行 Amazon Aurora 的 Amazon Relational Database Service (Amazon RDS) 数据库集群或数据库实例。
解决方法
要解决 Aurora 数据库实例的常见连接问题,请参阅如何解决连接到 Amazon RDS 数据库实例时出现的问题?
对于 Aurora 数据库集群,请确保您的客户端连接到正确的端点。您必须使用 MySQL 或 PostgreSQL 客户端工具连接到 Aurora DNS 端点。
验证您与 Aurora 端点的连接
要检查您的客户端当前连接的数据库集群写入器、读取器和自定义端点,请完成以下步骤:
- 打开 Amazon RDS 控制台。
- 在导航窗格中,选择 Databases(数据库)。
- 选择您的数据库集群,然后在 Connectivity & security(连接和安全)的“端点”部分下查看该数据库集群的详细信息。
- 要验证与端点的连接,请运行以下命令之一:
telnet RDS-endpoint port-number
nc -vz RDS-endpoint port-number
**注意:**请将 RDS-endpoint 替换为您的 RDS 端点,将 port-number 替换为您的端口。
成功的 telnet 输出示例:
[root@ip-172-AB-C-XY ~]# telnet postgres.cluster-ABDCXYZ.us-east-1.rds.amazonaws.com 5432Trying 172.AB.C.XY...
Connected to postgres.cluster-ABDCXYZ.us-east-1.rds.amazonaws.com.
成功的 netcat 输出示例:
[root@ip-172-AB-C-XY ~]# nc -vz postgres.cluster-ABCDXYZ.us-east-1.rds.amazonaws.com 5432Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 172.AB.C.XY:5432.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
如果您无法连接到端点,请检查是否存在数据库集群连接问题或数据库实例连接问题。
- 连接后,根据您的配置运行以下命令,以验证您是否已连接到读取器或写入器端点。
Amazon Aurora MySQL 兼容版本:
"SHOW GLOBAL VARIABLES LIKE 'innodb_read_only';"
Amazon Aurora PostgreSQL 兼容版本:
"SHOW transaction_read_only;"
以下示例显示了从 Aurora MySQL 兼容版本成功连接时的写入器和读取器输出。
写入器:
SHOW GLOBAL VARIABLES LIKE 'innodb_read_only';
innodb_read_only | OFF
读取器:
SHOW GLOBAL VARIABLES LIKE 'innodb_read_only';
innodb_read_only | ON
以下示例显示了从 PostgreSQL 兼容版本成功连接时的写入器和读取器输出。
写入器:
postgres=> SHOW transaction_read_only; transaction_read_only
-----------------------
off
(1 row)
读取器:
postgres=> SHOW transaction_read_only; transaction_read_only
-----------------------
on
(1 row)
如果变量设置为 ON,则您将连接到 Aurora 副本。如果变量设置为 OFF,则您将连接到主实例。
(可选)从 Amazon EC2 实例设置与数据库实例的自动连接
您可以从 Amazon Elastic Compute Cloud (Amazon EC2) 实例建立与数据库实例的连接。在设置此连接之前,请确保您的配置符合自动连接要求。
从 EC2 实例设置与数据库实例的自动连接。
**注意:**如果您使用的是 Aurora 数据库,请选择您的数据库集群而不是数据库实例。
相关信息
Amazon RDS 的安全性
管理 Amazon Virtual Private Cloud (Amazon VPC) 的安全责任