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

场景 1:带单个公有子网的 VPC

此场景的配置包含一个有单一公有子网的 Virtual Private Cloud (VPC),以及一个 Internet 网关以启用 Internet 通信。如果您要运行单一层级且面向公众的 Web 应用程序,如博客或简单的网站,则我们建议您使用此配置。

本主题假设您将使用 Amazon VPC 控制台中的 VPC 向导来创建 VPC。

也可以选择为 IPv6 配置此场景,您可以使用 VPC 向导创建关联有 IPv6 CIDR 块的 VPC 和子网。启动到公有子网中的实例可以接收 IPv6 地址并使用 IPv6 通信。有关 IPv4 和 IPv6 寻址的更多信息,请参阅 您的 VPC 中的 IP 地址

概述

下表展示了此场景配置的主要组成部分。

 场景 1 的示意图:具有公有子网的 VPC

注意

如果您完成了入门练习,则实际上您已使用 Amazon VPC 控制台中的 VPC 向导实现了本场景。

此情景的配置包括:

  • 具有 /16 IPv4 CIDR 块的 Virtual Private Cloud (VPC) (示例:10.0.0.0/16)。提供 65536 个私有 IPv4 地址。

  • 具有 /24 IPv4 CIDR 块的子网 (示例:10.0.0.0/24)。提供 256 个私有 IPv4 地址。

  • Internet 网关。它将 VPC 连接到 Internet 和其他 AWS 服务。

  • 具有子网范围内 (示例:10.0.0.6) 私有 IPv4 地址的实例,这使该实例可以与 VPC 中的其他实例通信;以及一个弹性 IPv4 地址 (示例:198.51.100.2),这是使该实例能够从 Internet 访问的公有 IPv4 地址。

  • 与子网关联的自定义路由表。路由表条目使得子网中的实例能够使用 IPv4 与 VPC 中的其他实例通信以及在 Internet 上直接通信。与包含指向 Internet 网关的路由的路由表关联的子网称作公有子网

有关子网的更多信息,请参阅VPC 和子网。有关 Internet 网关的更多信息,请参阅Internet 网关

IPv6 概述

您可以选择为此场景启用 IPv6。除了上面列出的组件外,还包括以下配置:

  • 与 VPC 关联的 /56 IPv6 CIDR 块 (示例:2001:db8:1234:1a00::/56)。Amazon 会自动分配 CIDR;您不能自选范围。

  • 与公有子网关联的 /64 IPv6 CIDR 块 (示例:2001:db8:1234:1a00::/64)。您可以从分配给 VPC 的范围内选择您的子网范围。您不能选择子网 IPv6 CIDR 块的大小。

  • 子网范围内分配给实例的 IPv6 地址 (示例:2001:db8:1234:1a00::123)。

  • 自定义路由表中的路由表条目,其允许 VPC 中的实例使用 IPv6 相互通信和直接通过 Internet 通信。

 启用了 IPv6 的 VPC 与公有子网

路由选择

您的 VPC 有一个隐藏路由器 (显示在上面的配置图中)。在这个情景中,VPC 向导创建了一个自定义路由表,以将所有目标为 VPC 外的地址的所有流量路由到 Internet 网关,并将此路由表与子网关联。

下表显示了在上面的配置图中用作示例的路由表。第一个条目是 VPC 中本地 IPv4 路由的默认条目;此条目允许此 VPC 中的实例相互通信。第二个条目将所有其他 IPv4 子网流量路由到 Internet 网关 (例如 igw-1a2b3c4d)。

目标 目标

10.0.0.0/16

本地

0.0.0.0/0

igw-id

IPv6 路由

如果您将 IPv6 CIDR 块与您的 VPC 和子网关联,则您的路由表必须包含适用于 IPv6 流量的单独路由。下表显示了当您选择在 VPC 中启用 IPv6 通信时此场景的自定义路由表。第二个条目是自动为 VPC 中通过 IPv6 的本地路由添加的默认路由。第四个条目将所有其他 IPv6 子网流量路由到 Internet 网关。

目标 目标

10.0.0.0/16

本地

2001:db8:1234:1a00::/56

本地

0.0.0.0/0

igw-id

::/0

igw-id

安全性

AWS 提供了可以用于在 VPC 中提高安全性的两个功能:安全组网络 ACL。安全组可以控制您的实例的入站和出站数据流,网络 ACL 可以控制您的子网的入站和出站数据流。多数情况下,安全组即可满足您的需要;但是,如果您需要为您的 VPC 增添额外一层安全保护,您也可以使用网络 ACL。有关更多信息,请参阅 安全性

对于此场景,您可以使用安全组而不是网络 ACL。如果希望使用网络 ACL,请参阅 场景 1 的推荐规则

您的 VPC 带有默认的安全组。如果您在启动期间没有指定其他安全组,在该 VPC 中启动的实例会与默认安全组自动关联。您可以向默认安全组添加规则,但这些规则可能不适用于您在该 VPC 中启动的其他实例。我们建议您为 Web 服务器创建自定义安全组。

对于该情景,请创建一个名为 WebServerSG 的安全组。当您创建安全组时,它包含一条允许所有流量离开该实例的出站规则。您必须修改规则来允许入站流量,并根据需要限制出站流量。您可在 VPC 中启动实例时指定此安全组。

以下是 WebServerSG 安全组的 IPv4 流量入站和出站规则。

入站
协议 端口范围 注释

0.0.0.0/0

TCP

80

允许从任意 IPv4 地址对 Web 服务器进行入站 HTTP 访问。

0.0.0.0/0

TCP

443

允许从任意 IPv4 地址对 Web 服务器进行入站 HTTPS 访问。

您的网络的公有 IPv4 地址范围。

TCP

22

(Linux 实例) 允许您的网络通过 IPv4 进行入站 SSH 访问。您可以使用 http://checkip.amazonaws.com 等服务获取本地计算机的公有 IPv4 地址。如果您正通过 ISP 或从防火墙后面连接,没有静态 IP 地址,您需要找出客户端计算机使用的 IP 地址范围。

您的网络的公有 IPv4 地址范围。

TCP

3389

(Windows 实例) 允许您的网络通过 IPv4 进行入站 RDP 访问。

安全组 ID (sg-xxxxxxxx) 全部 全部 (可选) 允许与该安全组相关联的其他实例的入站流量。该规则会自动添加到 VPC 的默认安全组中;对于您创建的任意自定义安全组,您必须手动添加规则来允许此类通信。
Outbound (可选)
目的地 协议 端口范围 注释
0.0.0.0/0 全部 全部 允许针对任意 IPv4 地址的所有出站访问的默认规则。如果希望您的 Web 服务器启动出站流量 (例如用于获取软件更新),您可以保留默认出站规则。否则,您可以删除该规则。

IPv6 安全性

如果您将 IPv6 CIDR 块与您的 VPC 和子网关联,则必须向安全组中添加单独的规则来控制您的 Web 服务器实例的入站和出站 IPv6 流量。在此场景中,Web 服务器能够接收通过 IPv6 的所有 Internet 流量以及来自您的本地网络通过 IPv6 进行的 SSH 或 RDP 流量。

以下是针对 WebServerSG 安全组的特定于 IPv6 的规则 (是上面所列规则的补充)。

入站
协议 端口范围 注释

::/0

TCP

80

允许从任意 IPv6 地址对 Web 服务器进行入站 HTTP 访问。

::/0

TCP

443

允许从任意 IPv6 地址对 Web 服务器进行入站 HTTPS 访问。

您的网络的 IPv6 地址范围

TCP

22

(Linux 实例) 允许您的网络通过 IPv6 进行入站 SSH 访问。

您的网络的 IPv6 地址范围

TCP

3389

(Windows 实例) 允许您的网络通过 IPv6 进行入站 RDP 访问。

Outbound (可选)
目的地 协议 端口范围 注释
::/0 全部 全部 允许针对任意 IPv6 地址的所有出站访问的默认规则。如果希望您的 Web 服务器启动出站流量 (例如用于获取软件更新),您可以保留默认出站规则。否则,您可以删除该规则。

实施场景 1

要实现情景 1,请使用 VPC 向导创建一个 VPC,创建并配置 WebServerSG 安全组,然后在 VPC 中启动一个实例。

这些过程包括用于为您的 VPC 启用和配置 IPv6 通信的可选步骤。如果您不想在 VPC 上使用 IPv6,则不必执行这些步骤。

创建 VPC

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

  2. 在控制面板中,选择 Start VPC Wizard

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

  4. 对于 VPC nameSubnet name,您可以为您的 VPC 和子网命名以便之后在控制台中识别。您可以为 VPC 和子网指定自己的 IPv4 CIDR 块范围,也可以保留默认值 (分别为 10.0.0.0/16 和 10.0.0.0/24)。

  5. (可选,仅 IPv6) 对于 IPv6 CIDR block,选择 Amazon-provided IPv6 CIDR block。对于 Public subnet's IPv6 CIDR,选择 Specify a custom IPv6 CIDR 并指定您的子网的十六进制对值或保留默认值 (00)。

  6. 您可以保留其余默认设置,然后选择 Create VPC

要创建 WebServerSG 安全组,请执行以下操作

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

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

  3. 选择 Create Security Group

  4. 提供安全组的名称和描述。在本主题中,使用名称 WebServerSG 作为示例。从 VPC 菜单中选择您 VPC 的 ID,然后选择 Yes, Create

  5. 选择您刚刚创建的 WebServerSG 安全组。详细信息窗格内会显示此安全组的信息,以及可供您使用入站规则和出站规则的选项卡。

  6. Inbound Rules 选项卡上,选择 Edit,然后执行以下操作:

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

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

    • 选择 Add another rule,然后从 Type 列表中选择 SSH (对于 Linux) 或 RDP (对于 Windows)。在 Source (源) 字段中输入您网络的公有 IP 地址范围。(如果不知道此地址范围,则可使用 0.0.0.0/0 作测试用途;在生产环境下,您将仅授权特定 IP 地址或地址范围访问您的实例。)

    • (可选) 选择 Add another rule,然后从 Type 列表中选择 ALL traffic。在 Source 字段中,输入 WebServerSG 安全组的 ID。

    • (可选,仅 IPv6) 选择 Add another rule,从 Type 列表中选择 HTTP,然后在 Source 字段中输入 ::/0

    • (可选,仅 IPv6) 选择 Add another rule,从 Type 列表中选择 HTTPS,然后在 Source 字段中输入 ::/0

    • (可选,仅 IPv6) 选择 Add another rule,然后从 Type 列表中选择 SSH (对于 Linux) 或 RDP (对于 Windows)。在 Source 字段中输入您的网络的 IPv6 地址范围。(如果不知道此地址范围,则可使用 ::/0 作测试用途;在生产环境下,您将仅授权特定 IPv6 地址或地址范围访问您的实例。)

  7. 选择 Save

  8. (可选) 在 Outbound Rules 选项卡上,选择 Edit。找到启用所有出站流量的默认规则,选择 Remove,然后选择 Save

在 VPC 中启动实例

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

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

  3. 按照向导中的指示操作。 选择 AMI 和实例类型,然后选择 Next: Configure Instance Details

    注意

    如果您要使用您的实例进行 IPv6 通信,则必须选择支持的实例类型,例如 T2。有关更多信息,请参阅 Amazon EC2 实例类型

  4. Configure Instance Details (配置实例详细信息) 页上,从 Network (网络) 列表中选择您在第 1 步中创建的 VPC,然后指定子网。

  5. (可选) 默认情况下,在非默认 VPC 中启动的实例未分配公有 IPv4 地址。为能连接到您的实例,您可以现在分配公有 IPv4 地址,也可以分配弹性 IP 地址并在启动您的实例后向其分配该地址。要现在分配公有 IPv4 地址,请确保从 Auto-assign Public IP 列表中选择 Enable

    注意

    您只能为设备索引为 eth0 的单个新网络接口使用自动分配公有 IP 功能。有关更多信息,请参阅 在实例启动期间分配公有 IPv4 地址

  6. (可选,仅 IPv6) 您可以从子网范围内为您的实例自动分配 IPv6 地址。对于 Auto-assign IPv6 IP,选择 Enable

  7. 在向导的后两页上,可为您的实例配置存储并添加标签。在 Configure Security Group 页上,选择 Select an existing security group 选项,然后选择您在第 2 步中创建的 WebServerSG 安全组。选择 Review and Launch

  8. 检视您已经选择的设置。执行所需的任何更改,然后选择 Launch 以选择一个密钥对并启动您的实例。

  9. 如果您没有按照第 5 步中的说明为您的实例分配公有 IPv4 地址,则无法通过 IPv4 与其连接。为实例分配弹性 IP 地址:

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

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

    3. 选择 Allocate new address

    4. 选择 Allocate

      注意

      如果您的账户支持 EC2-Classic,请首先选择 VPC

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

    6. 选择要与该地址关联的实例,然后选择 Associate

现在您可以连接您的 VPC 中的实例。有关如何连接 Linux 实例的信息,请参见Amazon EC2 用户指南(适用于 Linux 实例)中的Connect to Your Linux Instance部分。有关如何连接 Windows 实例的信息,请参阅Amazon EC2 用户指南(适用于 Windows 实例)中的Connect to Your Windows Instance部分。