我有一个在南美洲地区(圣保罗)的 AWS 内运行的数据库,我可以从互联网上的任何地方毫无问题地访问它。
然后我想在美国东部(北弗吉尼亚)创建相同的数据库,但我无法从 Internet 访问它。我比较了在两个地区创建数据库以查看差异,并注意到美国东部地区没有列出任何 VPC 以使其可用于 Internet。
我一直在尝试使用子网 DB 等创建此 VPC,但没有成功!有人知道我需要执行哪些步骤才能使数据库可用于 Internet 吗?
谢谢!
我有一个在南美洲地区(圣保罗)的 AWS 内运行的数据库,我可以从互联网上的任何地方毫无问题地访问它。
然后我想在美国东部(北弗吉尼亚)创建相同的数据库,但我无法从 Internet 访问它。我比较了在两个地区创建数据库以查看差异,并注意到美国东部地区没有列出任何 VPC 以使其可用于 Internet。
我一直在尝试使用子网 DB 等创建此 VPC,但没有成功!有人知道我需要执行哪些步骤才能使数据库可用于 Internet 吗?
谢谢!
首先确保您在我的 VPC 中有一个 DB-subnet 组,在每个可用区域中都有一个关联的 VPC 子网,然后
在 VPC 中创建两个子网,每个子网在不同的 AZ 中供数据库使用(记下子网 ID)。
从 RDS 创建一个“子网组”,您可以将两个子网添加到每个 AZ 中的一个,以便涵盖多可用区部署。现在,当您创建新的 RDS 实例时,“选择 VPC”下拉菜单应该可用。
欲了解更多信息,请转到这里>>
回答您的第二个问题:
问:为什么我创建子网为 172.31.0.0/24 时只有 251 个 IP 可用?
A. 创建每个子网时,您需要为子网提供 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'
欲了解更多信息,请转到此处。
我遇到了同样的问题,我找到了以下替代方法(而不是重新创建我的 RDS 实例并将“可公开访问”设置为“是”)。这涉及设置 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