教程:创建 VPC 以用于数据库实例(仅限 IPv4)
一种常见的场景包括虚拟私有云(VPC)中基于 Amazon VPC 服务的数据库实例。此 VPC 与在同一 VPC 中运行的 Web 服务器共享数据。在本教程中,针对此场景创建 VPC。
下图说明了此情形。有关其他方案的信息,请参阅在 VPC 中访问数据库实例的场景。
数据库实例只需对 Web 服务器可用,而无需对公共互联网可用。因此,请创建包含公有子网和私有子网的 VPC。Web 服务器托管在公有子网中,以便它可访问公共互联网。数据库实例托管于私有子网中。Web 服务器可以连接到数据库实例,因为它托管在同一 VPC 内。但是,数据库实例不可用于公共互联网,从而提高了安全性。
本教程在单独的可用区中配置额外的公有和私有子网。本教程未使用这些子网。RDS 数据库子网组需要位于至少两个可用区中的一个子网。额外的子网使将来更容易切换到多可用区数据库实例部署。
本教程介绍为 Amazon RDS 数据库实例配置 VPC。有关向您说明如何为此 VPC 方案创建 Web 服务器的教程,请参阅教程:创建 Web 服务器和 Amazon RDS 数据库实例。有关 Amazon VPC 的更多信息,请参阅 Amazon VPC 入门指南和 Amazon VPC 用户指南。
提示
创建数据库实例时,您可以在 Amazon EC2 实例和数据库实例之间自动设置网络连接。网络配置类似于本教程中描述的配置。有关更多信息,请参阅配置与 EC2 实例的自动网络连接。
创建包含公有子网和私有子网的 VPC
使用以下步骤创建包含公有和私有子网的 VPC。
创建 VPC 和子网
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在 AWS Management Console 的右上角,选择要在其中创建 VPC 的区域。此示例使用 美国西部(俄勒冈) 区域。
-
在左上角,选择 VPC Dashboard(VPC 控制面板)。要开始创建 VPC,请选择 Create VPC(创建 VPC)。
-
对于 VPC Settings(VPC 设置)下的 Resources to create(要创建的资源),选择 VPC and more(VPC 及更多)。
-
对于 VPC settings(VPC 设置),请设置以下值:
-
Name tag auto-generation(名称标签自动生成)–
tutorial
-
IPv4 CIDR block(IPv4 CIDR 块)–
10.0.0.0/16
-
IPv6 CIDR block(IPv6 CIDR 块)– No IPv6 CIDR block(无 IPv6 CIDR 块)
-
Tenancy(租赁)– Default(原定设置)
-
Number of Availability Zones (AZs) [可用区(AZ)数量] – 2
-
Customize AZs(自定义可用区)– 保留原定设置值。
-
Number of public subnet(公有子网的数量)– 2
-
Number of private subnets(私有子网的数量)– 2
-
Customize subnets CIDR blocks(自定义子网 CIDR 块)– 保留原定设置值。
-
NAT gateways ($) [NAT 网关($)]– None(无)
-
VPC endpoints(VPC 端点)– None(无)
-
DNS options(DNS 选项)– 保留原定设置值。
注意
Amazon RDS 至少需要位于两个不同可用区中的两个子网,才能支持多可用区数据库实例部署。本教程创建了单可用区部署,但这项要求使得将来可以更轻松地转换为多可用区数据库实例部署。
-
-
选择 Create VPC(创建 VPC)。
为公共 Web 服务器创建 VPC 安全组
接下来创建安全组以便公共访问。要连接到 VPC 中的公有 EC2 实例,请将入站规则添加到 VPC 安全组。这些规则允许流量从互联网进行连接。
创建 VPC 安全组
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
依次选择 VPC 控制面板)、安全组和创建安全组。
-
在创建安全组页面上,设置以下值:
-
安全组名称:
tutorial-securitygroup
-
说明:
Tutorial Security Group
-
VPC:选择您之前创建的 VPC,例如:vpc-
identifier
(tutorial-vpc)
-
-
将入站规则添加到安全组。
-
确定要用来通过 Secure Shell(SSH)连接到 VPC 中的 EC2 实例的 IP 地址。要确定您的公有 IP 地址,请在新的浏览器窗口或标签页中,使用 https://checkip.amazonaws.com
上的服务。IP 地址的一个示例为 203.0.113.25/32
。在许多情况下,您可能通过互联网服务提供商(ISP)进行连接,或者在不使用静态 IP 地址的情况下从防火墙之后进行连接。如果是这样,请找出客户端计算机使用的 IP 地址范围。
警告
如果您使用
0.0.0.0/0
进行 SSH 访问,则所有 IP 地址可能能够使用 SSH 访问您的公有实例。在测试环境下短时间内,此方法尚可接受,但它对于生产环境并不安全。在生产环境中,将仅向特定 IP 地址或地址范围授权使用 SSH 访问您的实例。 -
在入站规则部分中,选择添加规则。
-
为新入站规则设置以下值,以允许 SSH 访问 Amazon EC2 实例。如果这样做,您就可以连接到 Amazon EC2 实例,以便安装 Web 服务器和其他实用程序。您还可以连接到 EC2 实例,以便上载 Web 服务器的内容。
-
类型:
SSH
-
源:步骤 a 中的 IP 地址或范围,例如:
203.0.113.25/32
。
-
-
选择 Add rule。
-
为新入站规则设置以下值以允许针对 Web 服务器的 HTTP 访问:
-
类型:
HTTP
-
源:
0.0.0.0/0
-
-
-
请选择 Create security group(创建安全组)以创建安全组。
请记下安全组 ID,因为本教程的后面将需要它。
为私有数据库实例创建 VPC 安全组
要保持您的数据库实例为私有,请创建第二个安全组进行私有访问。要连接到 VPC 中的私有数据库实例,请将入站规则添加到 VPC 安全组,以仅允许流量从 Web 服务器连接。
创建 VPC 安全组
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
依次选择 VPC 控制面板)、安全组和创建安全组。
-
在创建安全组页面上,设置以下值:
-
安全组名称:
tutorial-db-securitygroup
-
说明:
Tutorial DB Instance Security Group
-
VPC:选择您之前创建的 VPC,例如:vpc-
identifier
(tutorial-vpc)
-
-
将入站规则添加到安全组。
-
在入站规则部分中,选择添加规则。
-
为新入站规则设置以下值,以允许 Amazon EC2 实例中端口 3306 上的 MySQL 流量。如果这样做,您就可以从 Web 服务器连接到数据库实例。这样,您就可以从 Web 应用程序将数据存储和检索到数据库。
-
类型:
MySQL/Aurora
-
Source(源):您在本教程的前面部分创建的 tutorial-securitygroup 安全组的标识符,例如 sg-9edd5cfb。
-
-
-
请选择 Create security group(创建安全组)以创建安全组。
创建数据库子网组
数据库子网组 是您在 VPC 中创建并随后指定给数据库实例的子网集合。通过数据库子网组,您可能能够在创建数据库实例时指定特定的 VPC。
创建数据库子网组
-
在 VPC 中识别数据库的私有子网。
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
选择 VPC Dashboard(VPC 控制面板),然后选择 Subnets(子网)。
-
记下名为 tutorial-subnet-private1-us-west-2a 和 tutorial-subnet-private2-us-west-2b 的子网的子网 ID。
创建数据库子网组时需要子网 ID。
-
通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 确保您连接到 Amazon RDS 控制台,而不是 Amazon VPC 控制台。
-
在导航窗格中,选择子网组。
-
选择 Create DB subnet group(创建数据库子网组)。
-
在创建数据库子网组页面的子网组详细信息中设置以下值:
-
名称:
tutorial-db-subnet-group
-
说明:
Tutorial DB Subnet Group
-
VPC:tutorial-vpc (vpc-
identifier
)
-
-
在添加子网部分中,选择可用区和子网。
对于本教程,请为 Availability Zones(可用区)选择 us-west-2a 和 us-west-2b。对于 Subnets(子网),选择您在上一步中确定的私有子网。
-
选择 Create(创建)。
您的新数据库子网组显示在 RDS 控制台的数据库子网组列表中。可选择该数据库子网组,以在窗口底部的详细信息窗格中查看详细信息。这些详细信息包括与该组关联的所有子网。
注意
如果您已创建此 VPC 以完成 教程:创建 Web 服务器和 Amazon RDS 数据库实例,请按照 创建 Amazon RDS 数据库实例 中的说明创建数据库实例。
删除 VPC
为本教程创建 VPC 和其他资源后,如果不再需要 VPC 和其他资源,可以将其删除。
注意
如果您在为本教程创建的 VPC 中添加了资源,则可能需要先删除这些资源,然后才能删除 VPC。例如,这些资源可能包括 Amazon EC2 实例或 Amazon RDS 数据库实例。有关更多信息,请参阅 Amazon VPC 用户指南中的您的 VPC 的安全性。
删除 VPC 和相关资源
-
删除数据库子网组。
-
通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择子网组。
-
选择要删除的数据库子网组,例如 tutorial-db-subnet-group。
-
选择 Delete (删除),然后在确认窗口中选择 Delete (删除)。
-
-
记下 VPC ID。
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
选择 VPC 控制面板,然后选择 VPC。
-
在列表中,确定您创建的 VPC,例如 tutorial-vpc。
-
记下所创建 VPC 的 VPC ID。在后面的步骤中,您需要此 VPC ID。
-
删除安全组。
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
选择 VPC 控制面板,然后选择安全组。
-
选择 Amazon RDS 数据库实例的安全组,例如 tutorial-db-securitygroup。
-
对于 Actions(操作),请选择 Delete security groups(删除安全组),然后在确认页面上选择 Delete(删除)。
-
在安全组页面上,选择 Amazon EC2 实例的安全组,例如 tutorial-securitygroup。
-
对于 Actions(操作),请选择 Delete security groups(删除安全组),然后在确认页面上选择 Delete(删除)。
-
删除 VPC
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
选择 VPC 控制面板,然后选择 VPC。
-
选择要删除的 VPC,例如 tutorial-vpc。
-
对于 Actions (操作),请选择 Delete VPC (删除 VPC)。
确认页面显示与 VPC 关联的其他资源,这些资源也将被删除,包括与其关联的子网。
-
在确认页面上,输入
delete
并选择 Delete (删除)。