本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
带单个公有子网的 VPC
此场景的配置包含一个有单一公有子网的 Virtual Private Cloud (VPC),以及一个 Internet 网关以启用 Internet 通信。如果您要运行单一层级且面向公众的 Web 应用程序,如博客或简单的网站,则我们建议您使用此配置。
也可以选择为 IPv6 配置此场景:您可以使用 VPC 向导创建关联有 IPv6 CIDR 块的 VPC 和子网。启动到公有子网中的实例可以接收 IPv6 地址并使用 IPv6 通信。有关 IPv4 和 IPv6 寻址的更多信息,请参阅VPC 中的 IP 寻址。
有关管理 EC2 实例软件的信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南 中的管理 Linux 实例上的软件。
概述
下表展示了此场景配置的主要组成部分。

如果您完成了Amazon 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 并从 Internet 访问的公有 IPv4 地址。
-
与子网关联的自定义路由表。路由表条目使得子网中的实例能够使用 IPv4 与 VPC 中的其他实例通信以及在 Internet 上直接通信。与包含指向 Internet 网关的路由的路由表关联的子网称作公有子网。
有关子网的更多信息,请参阅VPC 和子网。有关互联网网关的更多信息,请参阅 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 通信。

路由选择
您的 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 子网流量路由到互联网网关。
目的地 | 目标 |
---|---|
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。有关更多信息,请参阅 Amazon VPC 中的互联网络流量隐私。
对于此场景,您可以使用安全组而不是网络 ACL。如果希望使用网络 ACL,请参阅 具有单个公有子网的 VPC 的推荐网络 ACL 规则。
您的 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 地址范围。 |
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 服务器启动出站流量(例如用于获取软件更新),您可以保留默认出站规则。否则,您可以删除该规则。 |
具有单个公有子网的 VPC 的推荐网络 ACL 规则
下表显示我们推荐的规则。除了已经明确要求的数据流之外,它们会阻塞所有数据流。
Inbound | |||||
---|---|---|---|---|---|
Rule # | Source IP | Protocol | Port | Allow/Deny | Comments |
100 |
0.0.0.0/0 |
TCP |
80 |
允许 |
允许来自任意 IPv4 地址的入站 HTTP 流量。 |
110 |
0.0.0.0/0 |
TCP |
443 |
允许 |
允许来自任意 IPv4 地址的入站 HTTPS 流量。 |
120 |
您的家庭网络的公有 IPv4 地址范围 |
TCP |
22 |
允许 |
允许来自您的家庭网络的入站 SSH 流量(通过互联网网关)。 |
130 |
您的家庭网络的公有 IPv4 地址范围 |
TCP |
3389 |
允许 |
允许来自您的家庭网络的入站 RDP 流量(通过互联网网关)。 |
140 |
0.0.0.0/0 |
TCP |
32768-65535 |
允许 |
允许来自 Internet 上的主机的入站返回流量,这些流量对应于源自子网的请求。 此范围仅为示例。有关为您的配置选择正确的临时端口的信息,请参阅临时端口。 |
* |
0.0.0.0/0 |
全部 |
all |
拒绝 |
拒绝所有未经前置规则 (不可修改) 处理的入站 IPv4 流量。 |
Outbound | |||||
Rule # | Dest IP | Protocol | Port | Allow/Deny | Comments |
100 |
0.0.0.0/0 |
TCP |
80 |
允许 |
允许出站 HTTP 流量从子网流向 Internet。 |
110 |
0.0.0.0/0 |
TCP |
443 |
允许 |
允许出站 HTTPS 流量从子网流向 Internet。 |
120 |
0.0.0.0/0 |
TCP |
32768-65535 |
允许 |
允许对 Internet 客户端进行出站响应(例如,向访问子网中的 Web 服务器的人员提供网页)。 此范围仅为示例。有关为您的配置选择正确的临时端口的信息,请参阅临时端口。 |
* |
0.0.0.0/0 |
全部 |
all |
拒绝 |
拒绝所有未经前置规则 (不可修改) 处理的出站 IPv4 流量。 |
适用于 IPv6 的推荐网络 ACL 规则
如果您实施了 IPv6 支持并创建了具有关联 IPv6 CIDR 块的 VPC 和子网,则必须向网络 ACL 添加单独的规则,以控制入站和出站 IPv6 流量。
以下是您的网络 ACL 的 IPv6 特定规则(对上文列出的规则的补充)。
Inbound | |||||
---|---|---|---|---|---|
Rule # | Source IP | Protocol | Port | Allow/Deny | Comments |
150 |
::/0 |
TCP |
80 |
允许 |
允许来自任意 IPv6 地址的入站 HTTP 流量。 |
160 |
::/0 |
TCP |
443 |
允许 |
允许来自任意 IPv6 地址的入站 HTTPS 流量。 |
170 |
您的家庭网络的 IPv6 地址范围 |
TCP |
22 |
允许 |
允许来自您的家庭网络的入站 SSH 流量(通过互联网网关)。 |
180 |
您的家庭网络的 IPv6 地址范围 |
TCP |
3389 |
允许 |
允许来自您的家庭网络的入站 RDP 流量(通过互联网网关)。 |
190 |
::/0 |
TCP |
32768-65535 |
允许 |
允许来自 Internet 上的主机的入站返回流量,这些流量对应于源自子网的请求。 此范围仅为示例。有关为您的配置选择正确的临时端口的信息,请参阅临时端口。 |
* |
::/0 |
all |
all |
拒绝 |
拒绝所有未经前置规则 (不可修改) 处理的入站 IPv6 流量。 |
Outbound | |||||
Rule # | Dest IP | Protocol | Port | Allow/Deny | Comments |
130 |
::/0 |
TCP |
80 |
允许 |
允许出站 HTTP 流量从子网流向 Internet。 |
140 |
::/0 |
TCP |
443 |
允许 |
允许出站 HTTPS 流量从子网流向 Internet。 |
150 |
::/0 |
TCP |
32768-65535 |
允许 |
允许对 Internet 客户端进行出站响应(例如,向访问子网中的 Web 服务器的人员提供网页)。 此范围仅为示例。有关为您的配置选择正确的临时端口的信息,请参阅临时端口。 |
* |
::/0 |
all |
all |
拒绝 |
拒绝所有未经前置规则(不可修改)处理的出站 IPv6 流量。 |