Amazon Virtual Private Cloud
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Amazon VPC 入门

在本练习中,您将创建一个具有 IPv4 CIDR 块的 VPC,创建一个具有 IPv4 CIDR 块的子网,并将一个面向公众的实例启动到您的子网中。您的实例将能够与 Internet 通信,并且您将能够使用 SSH (如果您的实例为 Linux 实例) 或远程桌面 (如果您的实例为 Windows 实例) 从本地计算机访问您的实例。在真实应用环境下,您可以使用此方案创建面向公众的 Web 服务器;例如,托管一个博客。

注意

本练习旨在帮助您快速设置您自己的非默认 VPC。如果您已有一个默认 VPC 并希望在其中开始启动实例 (同时不创建或配置新 VPC),请参阅在您的默认 VPC 中启动 EC2 实例。如果您要开始设置支持 IPv6 的非默认 VPC,请参阅适用于 Amazon VPC 的 IPv6 入门

要完成本练习,您将执行以下操作:

  • 创建一个带单个公有子网的非默认 VPC。子网可以让您根据自己的安全和运营需要,对实例进行分组。公有子网是可以通过 Internet 网关访问 Internet 的子网。

  • 为您的实例创建仅允许流量通过特定端口的安全组。

  • 将 Amazon EC2 实例启动到您的子网中。

  • 将弹性 IP 地址与您的实例相关联. 这将允许您的实例访问 Internet。

在首次使用 Amazon VPC 之前,您必须先注册 Amazon Web Services (AWS)。在您注册时,您的 AWS 账户会自动注册 AWS 中的所有服务,包括 Amazon VPC。如果您尚未创建 AWS 账户,请转至 http://www.amazonaws.cn,然后选择 Create a Free Account

注意

本练习假设您的账户仅支持 EC2-VPC 平台。如果您的账户还支持较旧的 EC2-Classic 平台,则您仍然可以按照本练习中的步骤操作;不过,您的账户中将不会有与非默认 VPC 进行比较的默认 VPC。有关更多信息,请参阅支持的平台

步骤 1:创建 VPC

在此步骤中,您将在 Amazon VPC 控制台中使用 Amazon VPC 向导创建 VPC。本向导为您执行以下步骤:

  • 创建一个具有 /16 IPv4 CIDR 块 (一个包含 65536 个私有 IP 地址的网络) 的 VPC。有关 CIDR 表示法和 VPC 大小的更多信息,请参阅您的 VPC

  • 将 Internet 网关连接到 VPC。有关 Internet 网关的更多信息,请参阅 Internet 网关

  • 在 VPC 中创建一个大小为 /24 的 IPv4 子网 (一个包含 256 个私有 IP 地址的网络范围)。

  • 创建一个自定义路由表,并将其与您的子网相关联,以便在子网与 Internet 网关之间进行通信。有关路由表的更多信息,请参阅路由表

下图表示了您的 VPC 在您完成此步骤之后的架构。

 入门:VPC 和子网

注意

本练习介绍 VPC 向导的第一个方案。有关其他方案的更多信息,请参阅 Amazon VPC 方案

使用 Amazon VPC 向导创建 VPC

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在右上角的导航栏中,记下您要在其中创建 VPC 的区域。确保继续在相同区域中操作本练习的剩余部分,因为您无法将实例启动到不同区域的 VPC 中。有关区域的更多信息,请参阅区域和可用区

  3. 在导航窗格中,选择 VPC dashboard,然后选择 Start VPC Wizard

     Amazon VPC 控制面板

    注意

    请不要在导航窗格中选择 Your VPCs;您无法从该页面访问 VPC 向导。

  4. 选择第一个选项,即 VPC with a Single Public Subnet,然后选择 Select

  5. 在配置页面上的 VPC name 字段中输入您的 VPC 的名称 (例如,my-vpc),并在 Subnet name 字段中输入您的子网的名称。这可帮助您在创建 VPC 和子网后在 Amazon VPC 控制台中识别它们。在本练习中,您可以保留页面上的其余配置设置,并选择 Create VPC

    (可选) 如果您愿意,可按如下所示修改配置设置,然后选择 Create VPC

    • IPv4 CIDR block 显示您将用于 VPC 的 IPv4 地址范围 (10.0.0.0/16),Public subnet's IPv4 CIDR 字段显示您将用于子网的 IPv4 地址范围 (10.0.0.0/24)。如果您不想使用默认 CIDR 范围,可以指定您自己的范围。有关更多信息,请参阅 VPC 和子网大小调整

    • Availability Zone 列表可让您选择要在其中创建子网的可用区。您可以保留 No Preference 以便让 AWS 为您选择可用区。有关更多信息,请参阅区域和可用区

    • Service endpoints 部分中,您可以选择要在其中创建连接到相同区域的 Amazon S3 的 VPC 端点的子网。有关更多信息,请参阅 VPC 端点

    • Enable DNS hostnames 选项设置为 Yes 可确保启动到您的 VPC 中的实例接收 DNS 主机名称。有关更多信息,请参阅在您的 VPC 中使用 DNS

    • Hardware tenancy 选项可让您选择启动到您的 VPC 中的实例是在共享硬件上运行还是在专用硬件上运行。选择专用租户将产生额外费用。关于硬件租户的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的专用实例

  6. 状态窗口会显示工作的进度。工作完成后,选择 OK 关闭状态窗口。

  7. Your VPCs 页面将显示您的默认 VPC 和您刚创建的 VPC。您创建的 VPC 是非默认 VPC,因此 Default VPC 列将显示 No

     VPC 页面

查看有关您的 VPC 的信息

创建了 VPC 之后,您可以查看关于子网、Internet 网关和路由表的信息。您创建的 VPC 有两个路由表 - 一个所有 VPC 默认都会有的主路由表,一个由向导创建的自定义路由表。自定义路由表与您的子网相关联,这意味着该表中的路由将确定子网数据流的传输方式。如果您向您的 VPC 添加一个新的子网,那么它默认使用主路由表。

查看有关您的 VPC 的信息

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Your VPCs。记下您创建的 VPC 的名称和 ID (查看 NameVPC ID 列)。您将使用此信息确定与您的 VPC 关联的组件。

  3. 在导航窗格中,选择 Subnets。控制台将显示您创建 VPC 时创建的子网。您可以通过 Name 列中的子网名称来识别子网,或者您可以使用上一步骤中获取的 VPC 信息并查看 VPC 列。

  4. 在导航窗格中,选择 Internet Gateways。您可以通过查看 VPC 列找到与您的 VPC 连接的 Internet 网关,该列显示了 VPC 的 ID 和名称 (如果适用)。

  5. 在导航窗格中,选择 Route Tables。有两个路由表与 VPC 关联。选择自定义路由表 (Main 列显示 No),然后选择 Routes 选项卡以便在详细信息窗格中显示路由信息:

    • 该表格中的第一行是本地路由,可允许 VPC 内的实例进行通信。此路由默认情况下存在于每个路由表中,您不能删除它。

    • 第二行显示了 Amazon VPC 向导添加的路由,它允许目标为 VPC (0.0.0.0/0) 外部的 IPv4 地址的流量从子网流向 Internet 网关。

  6. 选择主路由表。主路由表拥有一个本地路由,但没有其他路由。

步骤 2:创建安全组

安全组充当虚拟防火墙,为其关联的实例控制数据流。要使用安全组,您可以添加入站规则以控制进入实例的传入流量,添加出站规则以控制来自您的实例的传出流量。要将安全组与实例关联,您可以在启动实例时指定安全组。无论您是添加还是删除安全组规则,我们都会将这些变化自动应用到与安全组相关的实例中。

您的 VPC 带有默认的安全组。所有启动时未与其他安全组关联的实例都将与默认安全组相关联。在本练习中,您将创建一个新的安全组 WebServerSG,并在您将实例启动到您的 VPC 中时指定此安全组。

WebServerSG 安全组规则

下表介绍了 WebServerSG 安全组的入站和出站规则。您将自行添加入站规则。出站规则是默认规则,它允许发送到任何地址的出站通信 - 您无需自行添加此规则。

入站
源 IP 协议 端口范围 注释

0.0.0.0/0

TCP

80

允许从任意 IPv4 地址进行入站 HTTP 访问。

0.0.0.0/0

TCP

443

允许从任意 IPv4 地址进行入站 HTTPS 访问。

您的家庭网络的公有 IPv4 地址范围

TCP

22

允许从您的家庭网络到 Linux/UNIX 实例的入站 SSH 访问。

您的家庭网络的公有 IPv4 地址范围

TCP

3389

允许从您的家庭网络到 Windows 实例的入站 RDP 访问。

出站
目的地 IP 协议 端口范围 注释
0.0.0.0/0 全部 全部 允许所有出站 IPv4 通信的默认出站规则。

创建 WebServerSG 安全组

您可以使用 Amazon VPC 控制台创建安全组。

创建 WebServerSG 安全组并添加规则

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Security Groups

  3. 选择 Create Security Group

  4. Group name 字段中,输入 WebServerSG 作为安全组的名称,并提供说明。您可以选择使用 Name tag 字段来为具有密钥 Name 和指定的值的安全组创建标记。

  5. VPC 菜单中选择您 VPC 的 ID,然后选择 Yes, Create

  6. 选择您刚刚创建的 WebServerSG 安全组 (可在 Group Name 列中查看其名称)。

  7. Inbound Rules 选项卡上,选择 Edit 并为入站流量添加如下规则,完成后选择 Save

    1. Type (类型) 列表中选择 HTTP,然后在 0.0.0.0/0Source (源) 字段中输入

    2. 选择 Add another rule,从 Type 列表中选择 HTTPS,然后在 Source 字段中输入 0.0.0.0/0

    3. 选择 Add another rule。如果您要启动 Linux 实例,请从 Type 列表中选择 SSH,如果您要启动 Windows 实例,则从 Type 列表中选择 RDP。在 Source (源) 字段中输入您网络的公有 IP 地址范围。如果您不知道地址范围,则可以使用 0.0.0.0/0 来完成此练习。

      重要

      如果您使用的是 0.0.0.0/0,则可以允许所有 IP 地址使用 SSH 或 RDP 访问您的实例。您可以在本次简短的练习中使用此方法,但是在生产环境中使用其安全性有所欠缺。在生产中,您将仅授权特定 IP 地址或地址范围访问您的实例。

       安全组入站规则

步骤 3:将实例启动到 VPC 中

当您将 EC2 实例启动到 VPC 中时,您必须指定要在其中启动实例的子网。在这种情况下,您会将实例启动到您创建的 VPC 的公有子网中。您将在 Amazon EC2 控制台中使用 Amazon EC2 启动向导来启动您的实例。

下图表示了您的 VPC 在您完成此步骤之后的架构。

 入门:启动实例

如何将一个 EC2 实例推送到 VPC

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在右上角的导航栏中,确保选择您在其中创建了 VPC 和安全组的同一区域。

  3. 在控制面板中,选择 Launch Instance

  4. 在向导的第一页上,选择您要使用的 AMI。在本练习中,我们建议您选择 Amazon Linux AMI 或 Windows AMI。

  5. Choose an Instance Type (选择一种实例类型) 页面上,您可以选择要启动的实例的硬件配置和大小。默认情况下,向导会基于您选择的 AMI 选择第一个可用实例类型。您可以保留默认选择,然后选择 Next: Configure Instance Details

  6. Configure Instance Details 页上,从 Network 列表中选择您创建的 VPC,然后从 Subnet 列表中选择子网。保留默认设置的其余部分,然后完成向导中的后续页面,直至到达 Add Tags 页面。

  7. Add Tags 页面上,您可以为实例添加 Name 标签;例如 Name=MyWebServer。这有助于您启动实例后在 Amazon EC2 控制台中识别您的实例。完成时选择 Next: Configure Security Group

  8. Configure Security Group (配置安全组) 页面上,向导会自动定义 launch-wizard-x 安全组,从而让您可以连接到您的实例。而是选择 Select an existing security group 选项,选择您之前创建的 WebServerSG 组,然后选择 Review and Launch

  9. Review Instance Launch 页面上,检查您的实例的详细信息,然后选择 Launch

  10. Select an existing key pair or create a new key pair (选择现有密钥对或创建新密钥对) 对话框中,您可以选择现有密钥对,也可以创建新的密钥对。如果要创建新的密钥对,请确保您将文件下载并保存在安全的位置。实例启动后,您需要使用私有密钥的内容连接到实例。

    要启动您的实例,请选中确认复选框,然后选择 Launch Instances

  11. 在确认页面上,选择 View Instances 可在 Instances 页面上查看您的实例。选择您的实例,然后在 Description 选项卡中查看其详细信息。Private IPs 字段显示从您的子网中的 IP 地址范围分配给您的实例的私有 IP 地址。

有关 Amazon EC2 启动向导中的可用选项的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的启动实例

步骤 4:为您的实例分配弹性 IP 地址

在上一步中,您已将您的实例启动到一个公有子网 (带有到 Internet 网关的路由的子网) 中。不过,您的子网中的实例还需要一个公有 IPv4 地址才能与 Internet 通信。默认情况下,非默认 VPC 中的实例不会分配到公有 IPv4 地址。在此步骤中,您将向您的账户分配一个弹性 IP 地址,然后将它与您的实例关联。有关弹性 IP 地址的更多信息,请参阅弹性 IP 地址

下图表示了您的 VPC 在您完成此步骤之后的架构。

 入门:为您的实例分配弹性 IP 地址

如何指定和分配一个弹性 IP 地址

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Elastic IPs

  3. 选择 Allocate New Address,然后选择 Yes, Allocate

    注意

    如果您的账户支持 EC2-Classic,请首先从 Network platform 列表中选择 EC2-VPC

  4. 从列表中选择弹性 IP 地址,选择 Actions,然后选择 Associate Address

  5. 在对话框中,从 Associate with 列表中选择 Instance,然后从 Instance 列表中选择您的实例。完成时选择 Yes, Associate

现在就可以通过 Internet 访问您的实例了。您可以使用 SSH 或远程桌面从您的家庭网络通过您的实例的弹性 IP 地址连接到该实例。有关如何连接到 Linux 实例的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的连接到 Linux 实例。有关如何连接到 Windows 实例的更多信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例) 中的使用 RDP 连接到 Windows 实例

这样就完成了本次练习;您可以选择继续在 VPC 中使用您的实例,如果您不需要该实例,则可以将其终止并释放它的弹性 IP 地址以避免产生费用。您也可以删除 VPC - 请注意,您无需为本练习中创建的 VPC 和 VPC 组件 (如子网和路由表) 付费。

第 5 步:清除

在删除一个 VPC 之前,您必须终止在该 VPC 中正在运行的任何实例。如果您使用 VPC 控制台删除一个 VPC,控制台也会删除与该 VPC 关联的资源,如子网、安全组、网络 ACL、DHCP 选项集、路由表和 Internet 网关。

终止实例、释放弹性 IP 地址并删除 VPC

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格中,选择 Instances

  3. 选择您的实例,然后依次选择 ActionsInstance StateTerminate

  4. 在对话框中,展开 Release attached Elastic IPs 部分,然后选中弹性 IP 地址旁边的复选框。选择 Yes, Terminate

  5. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  6. 在导航窗格中,选择 Your VPCs

  7. 选择 VPC,选择 Actions,然后选择 Delete VPC

  8. 当系统提示进行确认时,选择 Yes, Delete