我正在尝试处理我的应用程序的数据库部分,但无济于事。我有RDS MySQL数据库,我试图访问(phpMyAdmin安装在我的)EC2服务器上。我在config.inc.php
文件夹的/var/www/html/phpmyadmin
文件中设置了凭据,但是当我登录时,出现此错误:
我试图按照this AWS forum的答案,但无济于事。我的帐户不支持所选地区的EC2-Classic平台(我的EC2和RDS实例都在美国西部地区,但我在印第安纳州)。
我的EC2和RDS实例都在相同的默认VPC中,我被these instructions困住了,更不用说如果我需要关注它们了。
有人可以帮忙解决这个问题吗?我应该包含config.inc.php
的内容(当然是编辑的敏感信息)吗?
答案 0 :(得分:2)
将实例移动到其他区域将不会解决任何问题。我不知道为什么你的朋友会建议你这样做。
您只需要向安全组添加规则,这两个实例都属于允许该安全组中的实例之间的流量。
答案 1 :(得分:0)
将RDS置于与EC2相同的VPC子网下,您应该能够对RDS 3306端口执行telnet。
创建RDS时,需要创建数据库安全组(this 那不是作为防火墙的VPC安全组) 由2个不同的可用区(AZ)中的不同子网地址组成。例如AZ 1a的CIDR 172.16.1.0/24,AZ 1b的CIDR 172.16.2.0/24
如果您没有计划使用多AZ冗余,则在RDS启动期间,您必须明确声明不要使用多区域启动。
如果您没有这样做,RDS实例可能会在不同的子网AZ内启动而不是您的EC2子网。例如,您的EC2在CIDR 172.16.1.0/24 AZ-1a中,现在分配IP地址172.16.1.15。
虽然您的RDS因为多区域设置,只是决定在CIDR 172.16.2.0/24 AZ-1b内启动。因为他们在不同的AZ,他们没有路线。即使它们是相同的VPC。不同AZ中的IP需要一些网关和路由才能连接。
这与区域设置无关。