AWS:无法从我的机器连接到 RDS 数据库
AWS: can't connect to RDS database from my machine
EC2 instance/live 网络可以很好地连接到 RDS 数据库。但是当我想在我的本地机器上调试代码时,我无法连接到数据库并得到这个错误:
OperationalError: (2003, "Can't connect to MySQL server on 'aa9jliuygesv4w.c03i1
ck3o0us.us-east-1.rds.amazonaws.com' (10060)")
我已将 .pem
和 .ppk
键添加到 .ssh
并且我已经配置了 EB CLI。我不知道该怎么办了。
仅供参考:应用程序在 Django 中
原来没那么难。执行以下步骤:
- 转到 EC2 仪表板
- 转到“安全组”选项卡
- Select 且仅 select RDS 数据库安全组。您将在底部看到安全组详细信息
- 单击“入站”选项卡
- 单击编辑按钮
- 添加类型:MYSQL/Aurora;协议:TCP;范围:3306;来源:0.0.0.0/0
确保 PUBLIC ACCESSIBILITY
设置为 YES
这就是我过去 3 天试图解决的问题...
确保您的 VPC 和子网足够宽。
以下 CIDR 配置适用于两个子网:
VPC
10.0.0.0/16
10.0.0.0 — 10.0.255.255 (65536 addresses)
子网 1
10.0.0.0/17
10.0.0.0 — 10.0.127.255 (32768 addresses, half)
子网 2
10.0.128.0/17
10.0.128.0 — 10.0.255.255 (32768 addresses, other half)
如果需要三个子网,请自行调整。
我无法连接到我的 RDS 数据库。我已经手动检查了所有细节,一切正常。没有任何问题的迹象,我在文档中找不到任何合适的信息。我的 VPC 配置了窄 CIDR:10.0.0.0/22,每个子网有 255 个地址。在我将 CIDR 更改为 10.0.0.0/16 并将其完全拆分为两个子网后,我的 RDS 连接开始工作。我能找到问题的根源真是太幸运了,因为它对我来说没有任何意义。
浏览此页面上的出色解决方案仅用了两个小时。是时候给出愚蠢的答案了!
我重做了我的安全组、VPC、路由表、子网、网关...不。我从 AWS 控制台复制粘贴了 URL,这在某些情况下会导致 隐藏尾随 space。端点位于 <div>
元素中,浏览器在复制时给出 \n
。将其粘贴到 Intellij 数据库连接器中会将其强制转换为 space.
我只是在将 URL 粘贴到源代码中的引号字符串后才注意到这个问题。
就我而言,当我升级尺寸时。 rds实例的私有地址落入了VPC的私有子网。您可以使用 the article
我的实例在私有子网中,我无法从我的本地计算机连接到它 以查找您的数据库实例地址。
但是,更改路线 table 并没有解决我的问题。我最终解决问题的方法是降级尺寸,然后再升级尺寸。一旦私有地址回退到 public 子网。一切都像一个魅力。
嗯,几乎每个人都指出了答案,我会从不同的角度来看,让你明白。
有两种方法可以连接到您的 AWS RDS
您在同一 VPC 和子网中提供了一个实例。您安装 workbench 您将能够连接到数据库。您不需要使其 public 可访问。示例:您可以在同一 VPC 组中提供一个 windows 实例并安装 workbench,然后您可以通过端点连接到数据库。
另一种方法是让 Db publically 仅供您的 IP 访问,以防止不必要的访问。您可以更改数据库安全组以仅允许数据库端口流量流向您的 IP。通过这种方式,您的数据库将可以 publically 访问,但仅限于您。这是我们在 SG 的源部分添加安全组的各种 AWS 服务的方式。
如果这两个选项都不起作用,则错误出在 VPC 路由 table 中,您可以在那里检查它是否与子网关联以及是否连接了互联网网关。
你可以看看这个视频,解开你的疑惑:
我什至无法从 ec2 实例内部连接。
在挖掘 AWS RDS 选项后发现,ec2 实例只能连接到它们所在的同一 VPC 中的 RDS。
在 RDS 所在的同一 VPC 中创建 ec2 实例时,我可以按预期访问它。
接受来自任何 IP 地址的流量
创建 RDS 实例后,我的安全组入站规则设置为特定 IP 地址。我必须编辑入站规则以允许从任何 IP 地址访问。
- “安全组规则”
- Select一个安全组
- 点击“入站规则”
- 点击“编辑入站规则”
- 在“来源”下 Select 下拉菜单并单击“任意位置”
- ::0 或 0.0.0.0/0 应该出现。
- 点击“保存规则”
不要忘记检查您的 VPN 或防火墙是否阻止了连接。
如果您已经尝试了以上所有答案,请试试这个...
重新创建数据库....
AWS 在创建数据库时提供了允许 public/private 访问的选项
EC2 instance/live 网络可以很好地连接到 RDS 数据库。但是当我想在我的本地机器上调试代码时,我无法连接到数据库并得到这个错误:
OperationalError: (2003, "Can't connect to MySQL server on 'aa9jliuygesv4w.c03i1 ck3o0us.us-east-1.rds.amazonaws.com' (10060)")
我已将 .pem
和 .ppk
键添加到 .ssh
并且我已经配置了 EB CLI。我不知道该怎么办了。
仅供参考:应用程序在 Django 中
原来没那么难。执行以下步骤:
- 转到 EC2 仪表板
- 转到“安全组”选项卡
- Select 且仅 select RDS 数据库安全组。您将在底部看到安全组详细信息
- 单击“入站”选项卡
- 单击编辑按钮
- 添加类型:MYSQL/Aurora;协议:TCP;范围:3306;来源:0.0.0.0/0
确保 PUBLIC ACCESSIBILITY
设置为 YES
这就是我过去 3 天试图解决的问题...
确保您的 VPC 和子网足够宽。
以下 CIDR 配置适用于两个子网:
VPC
10.0.0.0/16
10.0.0.0 — 10.0.255.255 (65536 addresses)
子网 1
10.0.0.0/17
10.0.0.0 — 10.0.127.255 (32768 addresses, half)
子网 2
10.0.128.0/17
10.0.128.0 — 10.0.255.255 (32768 addresses, other half)
如果需要三个子网,请自行调整。
我无法连接到我的 RDS 数据库。我已经手动检查了所有细节,一切正常。没有任何问题的迹象,我在文档中找不到任何合适的信息。我的 VPC 配置了窄 CIDR:10.0.0.0/22,每个子网有 255 个地址。在我将 CIDR 更改为 10.0.0.0/16 并将其完全拆分为两个子网后,我的 RDS 连接开始工作。我能找到问题的根源真是太幸运了,因为它对我来说没有任何意义。
浏览此页面上的出色解决方案仅用了两个小时。是时候给出愚蠢的答案了!
我重做了我的安全组、VPC、路由表、子网、网关...不。我从 AWS 控制台复制粘贴了 URL,这在某些情况下会导致 隐藏尾随 space。端点位于 <div>
元素中,浏览器在复制时给出 \n
。将其粘贴到 Intellij 数据库连接器中会将其强制转换为 space.
我只是在将 URL 粘贴到源代码中的引号字符串后才注意到这个问题。
就我而言,当我升级尺寸时。 rds实例的私有地址落入了VPC的私有子网。您可以使用 the article 我的实例在私有子网中,我无法从我的本地计算机连接到它 以查找您的数据库实例地址。
但是,更改路线 table 并没有解决我的问题。我最终解决问题的方法是降级尺寸,然后再升级尺寸。一旦私有地址回退到 public 子网。一切都像一个魅力。
嗯,几乎每个人都指出了答案,我会从不同的角度来看,让你明白。
有两种方法可以连接到您的 AWS RDS
您在同一 VPC 和子网中提供了一个实例。您安装 workbench 您将能够连接到数据库。您不需要使其 public 可访问。示例:您可以在同一 VPC 组中提供一个 windows 实例并安装 workbench,然后您可以通过端点连接到数据库。
另一种方法是让 Db publically 仅供您的 IP 访问,以防止不必要的访问。您可以更改数据库安全组以仅允许数据库端口流量流向您的 IP。通过这种方式,您的数据库将可以 publically 访问,但仅限于您。这是我们在 SG 的源部分添加安全组的各种 AWS 服务的方式。
如果这两个选项都不起作用,则错误出在 VPC 路由 table 中,您可以在那里检查它是否与子网关联以及是否连接了互联网网关。
你可以看看这个视频,解开你的疑惑:
我什至无法从 ec2 实例内部连接。
在挖掘 AWS RDS 选项后发现,ec2 实例只能连接到它们所在的同一 VPC 中的 RDS。
在 RDS 所在的同一 VPC 中创建 ec2 实例时,我可以按预期访问它。
接受来自任何 IP 地址的流量
创建 RDS 实例后,我的安全组入站规则设置为特定 IP 地址。我必须编辑入站规则以允许从任何 IP 地址访问。
- “安全组规则”
- Select一个安全组
- 点击“入站规则”
- 点击“编辑入站规则”
- 在“来源”下 Select 下拉菜单并单击“任意位置”
- ::0 或 0.0.0.0/0 应该出现。
- 点击“保存规则”
不要忘记检查您的 VPN 或防火墙是否阻止了连接。
如果您已经尝试了以上所有答案,请试试这个... 重新创建数据库....
AWS 在创建数据库时提供了允许 public/private 访问的选项