【问题标题】:Connecting to RDS instance from phpMyAdmin installed on EC2 server从安装在 EC2 服务器上的 phpMyAdmin 连接到 RDS 实例
【发布时间】:2016-06-28 18:32:39
【问题描述】:

我正在尝试处理我的应用程序的数据库部分,但无济于事。我有我试图通过(安装在我的)EC2 服务器上的 phpMyAdmin 访问的 RDS MySQL 数据库。我已经在/var/www/html/phpmyadmin 文件夹的config.inc.php 文件中设置了凭据,但是当我登录时,出现此错误:

我尝试关注 this AWS forum 上的答案,但无济于事。我的账户在所选区域不支持 EC2-Classic 平台(我的 EC2 和 RDS 实例都在美国西部区域,但我在印第安纳州)。

我的 EC2 和 RDS 实例都在同一个默认 VPC 中,我被困在 these instructions 上,更不用说是否需要关注它们了。

有人可以帮忙吗?我应该包括我的config.inc.php 的内容(当然敏感信息已编辑)吗?

编辑:一位朋友建议我将两个实例都移至美国东部地区,并给了我this 来帮助我。我不知道如何从我的 EC2 实例创建 AMI,如果这会导致我不得不在我的服务器上重新开始...

【问题讨论】:

    标签: mysql amazon-web-services amazon-ec2 phpmyadmin


    【解决方案1】:

    将您的 RDS 与 EC2 放在同一个 VPC 子网下,您应该能够对 RDS 3306 端口执行 telnet。

    创建RDS时,需要创建Database安全组(这个 不是充当某种防火墙的 VPC 安全组),即 由 2 个不同可用区 (AZ) 中的不同子网地址组成。例如AZ 1a 的 CIDR 172.16.1.0/24,AZ 1b 的 CIDR 172.16.2.0/24

    如果您不打算使用多可用区冗余,则在 RDS 启动期间,您必须明确声明不使用多可用区启动。

    如果您不这样做,RDS 实例可能会在与您的 EC2 子网不同的子网 AZ 内启动。例如,您的 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需要一些网关和路由来连接。

    这与区域设置无关。

    【讨论】:

      【解决方案2】:

      将实例移动到不同的区域不会解决任何问题。我不知道为什么你的朋友会建议你这样做。

      您只需向两个实例所属的安全组添加一条规则,以允许该安全组中的实例之间的流量。

      【讨论】:

      • 我的 EC2 实例显然在 ApplicationSecurityGroup 中,而我的 RDS 显然在 default (sg-fab5d29e) ( active ) 中(希望我可以在这里截屏...)。另外,我不知道如何创建该规则。你能帮我拼一下吗?
      • 进入数据库所属的安全组,点击编辑,点击添加,第一个下拉菜单选择“MySQL”。在最后一个字段中,键入“sg”并暂停,然后会弹出一个包含所有安全组的弹出窗口,选择 ApplicationSecurityGroup。现在点击保存。
      • “编辑入站规则”就是你想要的。
      猜你喜欢
      • 2016-08-22
      • 2015-04-04
      • 2013-05-26
      • 2016-05-17
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 2019-04-03
      • 1970-01-01
      相关资源
      最近更新 更多