带单个公有子网的 VPC - Amazon Virtual Private Cloud
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

带单个公有子网的 VPC

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

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

有关管理您的 EC2 实例软件的信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的管理 Linux 实例上的软件

概述

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


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

如果您完成了 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 网关的更多信息,请参阅 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。有关更多信息,请参阅 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.comhttps://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 服务器启动出站流量(例如用于获取软件更新),您可以保留默认出站规则。否则,您可以删除该规则。

具有单个公有子网的 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 流量。