亚马逊AWS RDS:如何使数据库公开访问互联网

时间:2013-11-07 17:10:25

标签: mysql amazon-web-services relational-database

我在南美洲(圣保罗)地区的AWS内部运行了一个数据库,我可以从互联网上的任何地方轻松访问。

然后我想在美国东部(北弗吉尼亚州)创建相同的数据库,但我无法从互联网上访问它。我比较了在两个地区创建数据库以查看差异,并注意到美国东部地区没有列出任何VPC以使其可用于互联网。

Sout America Region

US East Region

我一直在尝试用子网DB等创建这个VPC,但没有成功!有人知道我需要做些什么步骤才能使数据库可以上网吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

首先确保我的VPC中有一个DB子网组,每个可用区域都有一个关联的VPC子网,然后

  1. 在VPC中创建两个子网,每个子网在不同的AZ中供DB使用(记下子网ID)。

  2. 从RDS创建一个“子网组”,您可以将两个子网添加到每个AZ中的一个子网,以便覆盖多个部署。现在,在创建新的RDS实例时,“选择VPC”下拉列表应该可用。

  3. 了解更多信息Go here please >>

    回答第二个问题:

    Q值。为什么在创建子网为172.31.0.0/24时只有251个IP可用?

    一个。创建每个子网时,您需要为子网提供所需的VPC ID和CIDR块。创建子网后,您无法更改其CIDR块。子网的CIDR块可以与VPC的CIDR块相同(假设您只需要VPC中的单个子网),或者VPC的CIDR块的子集。如果在VPC中创建多个子网,则子网的CIDR块不得重叠。您可以创建的最小子网(和VPC)使用/ 28网络掩码(16个IP地址),最大的使用/ 16网络掩码(65,536个IP地址)。

    重要

    AWS保留每个子网的CIDR块中的前四个和最后一个IP地址。它们无法使用。 如果向VPC添加多个子网,则它们将设置为星型拓扑,中间有逻辑路由器。默认情况下,您最多可以在VPC中创建20个子网。如果您需要20个以上的子网,可以转到'Request to Increase Amazon VPC Limits'

    申请更多

    了解更多信息请here

答案 1 :(得分:2)

我遇到了同样的问题,我找到了以下替代方案(而不是重新创建我的RDS实例并将“Publicly Accessible”设置设置为“Yes”)。这涉及设置SSH隧道,然后通过该隧道连接到RDS实例:

设置SSH隧道:

ssh -N -L 3306:RDS_HOST:3306 USER@EC2HOST -i SSH-KEY &

连接到RDS实例:

mysql -u rdsuser -p -h 127.0.0.1

来源:http://thekeesh.com/2014/01/connecting-to-a-rds-server-from-a-local-computer-using-ssh-tunneling-on-a-mac/#comment-27252