一种常见的方案包括 Amazon VPC 中的数据库实例,其与在同一 VPC 中运行的 Web 服务器共享数据。在本教程中,针对此方案创建 VPC。
下图说明了此情形。有关其他方案的信息,请参阅在 VPC 中访问数据库实例的方案。
由于数据库实例只需对 Web 服务器可用,而无需对公共 Internet 可用,因此,请创建包含公有子网和私有子网的 VPC。Web 服务器托管在公有子网中,以便它可访问公共 Internet。数据库实例托管于私有子网中。Web 服务器能够连接到数据库实例(因为它托管于同一 VPC 内),但数据库实例对公共 Internet 不可用,这样提高了安全性。
注意:
有关向您说明如何为此 VPC 方案创建 Web 服务器的教程,请参阅教程:创建 Web 服务器和 Amazon RDS 数据库实例。
创建包含公有子网和私有子网的 VPC
使用以下步骤创建包含公有和私有子网的 VPC。
创建 VPC 和子网
打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/。
在 AWS 管理控制台的右上角,选择要在其中创建 VPC 的区域。此示例使用 美国西部(俄勒冈) 区域。
选择左上角的 VPC Dashboard。要开始创建 VPC,请选择 Launch VPC Wizard (启动 VPC 向导)。
在 Step 1: Select a VPC Configuration 页上,选择 VPC with Public and Private Subnets,然后选择 Select。
-
在 Step 2: VPC with Public and Private Subnets 页面上,设置以下值:
IPv4 CIDR block:
10.0.0.0/16
IPv6 CIDR block:无 IPv6 CIDR 块
VPC 名称:
tutorial-vpc
Public subnet's IPv4 CIDR:
10.0.0.0/24
可用区:
us-west-2a
Public subnet name:
Tutorial public
Private subnet's IPv4 CIDR:
10.0.1.0/24
可用区:
us-west-2a
Private subnet name:
Tutorial Private 1
Instance type:
t2.small
注意:
如果 t2.small 实例类型未列出,则可以选择不同的实例类型。
* **Key pair name**:`No key pair`
* **Service endpoints**:跳过此字段。
* **启用 DNS 主机名:**`Yes`
* **硬件租赁:**`Default`
- 完成后,选择 Create VPC。
创建额外子网
您必须具有两个私有子网或两个公有子网,且这些子网可用于为在 VPC 中使用的数据库实例创建数据库子网组。由于本教程的数据库实例为私有实例,请向 VPC 添加另一个私有子网。
创建额外子网
打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/。
要向 VPC 添加另一个私有子网,请依次选择 VPC Dashboard (VPC 控制面板)、Subnets (子网) 和 Create subnet (创建子网)。
-
在 Create subnet (创建子网) 页面上,设置以下值:
名称标签:
Tutorial private 2
VPC:选择上一步骤中已创建的 VPC,例如:
vpc-
identifier(10.0.0.0/16) | tutorial-vpc
可用区:
us-west-2b
注意:
选择与您为第一个私有子网选择的可用区不同的可用区。
* **IPv4 CIDR block**:`10.0.2.0/24`
完成后,选择 Create (创建)。接下来,在确认页面上选择 Close (关闭)。
-
要确保您创建的第二个私有子网使用与第一个私有子网相同的路由表,请完成下面的步骤:
依次选择 VPC 控制面板和子网,然后选择您为 VPC 创建的第一个私有子网
Tutorial private 1
。在子网列表下,选择路由表选项卡,然后记下路由表的值 — 例如:
rtb-98b613fd
。在子网列表中,取消选择第一个私有子网。
在子网列表中,选择第二个私有子网
Tutorial private 2
,然后选择路由表选项卡。如果当前路由表不同于第一个私有子网的路由表,则选择 Edit route table association (编辑路由表关联)。对于 Route Table ID (路由表 ID),请选择之前记下的路由表 — 例如:
rtb-98b613fd
。接下来,要保存您的选择,请选择 Save (保存)。
为公共 Web 服务器创建 VPC 安全组
接下来创建安全组以便公共访问。要连接到 VPC 中的公有实例,请将入站规则添加到 VPC 安全组以允许流量从 internet 连接。
创建 VPC 安全组
打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/。
依次选择 VPC Dashboard (VPC 控制面板)、Security Groups (安全组) 和 Create security group (创建安全组)。
-
在 Create security group (创建安全组) 页面上,设置以下值:
安全组名称:
tutorial-securitygroup
描述:
Tutorial Security Group
VPC:选择之前创建的 VPC,例如:
vpc-
identifier(tutorial-vpc)
-
将入站规则添加到安全组。
-
确定要用于连接到 VPC 中的实例的 IP 地址。要确定您的公有 IP 地址,请在新的浏览器窗口或标签页中,使用 https://checkip.amazonaws.com 上的服务。IP 地址的一个示例为
203.0.113.25/32
。如果您正通过 Internet 服务提供商 (ISP) 连接或者在不使用静态 IP 地址的情况下从防火墙后面连接,则需要找出客户端计算机使用的 IP 地址范围。
警告:
如果使用0.0.0.0/0
,则可以允许所有 IP 地址访问您的公有实例。在测试环境下短时间内,此方法尚可接受,但它对于生产环境并不安全。在生产环境中,您将仅为特定 IP 地址或地址范围授权访问您的实例。在入站规则部分中,选择添加规则。
-
为新入站规则设置以下值以允许安全外壳 (SSH) 访问 EC2 实例。如果这样做,您就可以连接到 EC2 实例,以便安装 Web 服务器和其他实用程序并上传 Web 服务器的内容。
Type:
SSH
源:步骤 a 中的 IP 地址或范围,例如:
203.0.113.25/32
。
选择 Add rule。
-
为新入站规则设置以下值以允许针对 Web 服务器的 HTTP 访问。
Type:
HTTP
Source:
0.0.0.0/0
。
-
-
要创建安全组,请选择创建安全组。接下来,在确认页面上选择 Close (关闭)。
请记下安全组 ID,因为本教程的后面将需要它。
为私有数据库实例创建 VPC 安全组
要保持您的数据库实例私有,请创建第二个安全组供私有访问。要连接到 VPC 中的私有实例,请将入站规则添加到 VPC 安全组以仅允许流量从 Web 服务器连接。
创建 VPC 安全组
打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/。
依次选择 VPC Dashboard (VPC 控制面板)、Security Groups (安全组) 和 Create security group (创建安全组)。
-
在 Create security group (创建安全组) 页面上,设置以下值:
安全组名称:
tutorial-db-securitygroup
描述:
Tutorial DB Instance Security Group
VPC:选择之前创建的 VPC,例如:
vpc-
identifier(tutorial-vpc)
-
将入站规则添加到安全组。
在入站规则部分中,选择添加规则。
-
为新入站规则设置以下值以允许 EC2 实例中端口 3306 上的 MySQL 流量。如果这样做,您就可以从 Web 服务器连接到数据库实例,以便从 Web 应用程序将数据存储和检索到数据库。
Type:
MySQL/Aurora
Source:您在本教程的前面部分创建的
tutorial-securitygroup
安全组的标识符,例如:sg-9edd5cfb
。
-
要创建安全组,请选择创建安全组。接下来,在确认页面上选择 Close (关闭)。
创建数据库子网组
数据库子网组是您在 VPC 中创建并随后指定给数据库实例的子网集合。通过数据库子网组,您可以在创建数据库实例时指定特定的 VPC。
创建数据库子网组
-
通过以下网址打开 Amazon RDS 控制台:[https://console.amazonaws.cn/rds/注意
确保您连接到 Amazon RDS 控制台,而不是 Amazon VPC 控制台。
-
在导航窗格中,选择子网组。
选择 Create DB Subnet Group。
-
在创建数据库子网组页面的子网组详细信息中设置以下值:
名称:
tutorial-db-subnet-group
描述:
Tutorial DB Subnet Group
VPC:
tutorial-vpc (vpc-
identifier)
-
在添加子网部分中,选择可用区和子网。
对于本教程,为可用区选择
us-west-2a
和us-west-2b
。接下来,为子网选择所有子网。
注意如果已启用本地扩展区,则可以在 Create DB subnet group (创建数据库子网组) 页面上选择可用区组。在这种情况下,请选择 Availability Zone group (可用区组)、Availability Zones (可用区) 和 Subnets (子网)。
-
选择 Create。
您的新数据库子网组显示在 RDS 控制台的数据库子网组列表中。可单击该数据库子网组,在窗口底部的详细信息窗格中查看详细信息,其中包括与该组关联的所有子网。
注意:由于Aurora数据库按实例类型或者存储的数据大小进行收费,故删除了该数据库,待真正使用时创建。