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

场景 2:带有公有子网和私有子网 (NAT) 的 VPC

这个场景的配置包括一个有公有子网和私有子网的 Virtual Private Cloud (VPC)。如果您希望运行面向公众的 Web 应用程序,并同时保留不可公开访问的后端服务器,我们建议您使用此场景。常用例子是一个多层网站,其 Web 服务器位于公有子网之内,数据库服务器则位于私有子网之内。您可以设置安全性和路由,以使 Web 服务器能够与数据库服务器建立通信。

公有子网中的实例可以将出站流量直接发送到 Internet,而私有子网中的实例无法执行此操作。相反,私有子网中的实例可以使用驻留在公有子网中的网络地址转换 (NAT) 网关访问 Internet。数据库服务器可以使用 NAT 网关连接到 Internet 进行软件更新,但 Internet 不能建立到数据库服务器的连接。

注意

您还可以使用 VPC 向导配置有 NAT 实例的 VPC;不过,我们建议您使用 NAT 网关。有关更多信息,请参阅 NAT 网关

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

也可以选择为此场景配置 IPv6:您可以使用 VPC 向导创建关联有 IPv6 CIDR 块的 VPC 和子网。启动到子网中的实例可以接收 IPv6 地址并使用 IPv6 进行通信。私有子网中的实例可以使用仅出口 Internet 网关通过 IPv6 连接到 Internet,但 Internet 不能通过 IPv6 与私有实例建立连接。有关 IPv4 和 IPv6 寻址的更多信息,请参阅 您的 VPC 中的 IP 地址

概述

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

 场景 2 的示意图:带有公有子网和私有子网的 VPC

此情景的配置包括:

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

  • 具有 /24 IPv4 CIDR 块的公有子网 (示例:10.0.0.0/24)。提供 256 个私有 IPv4 地址。公有子网是指与包含指向 Internet 网关的路由的路由表关联的子网。

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

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

  • 具有子网范围内私有 IPv4 地址 (示例:10.0.0.5、10.0.1.5) 的实例。这样实例之间可相互通信,也可与 VPC 中的其他实例通信。

  • 具有公有子网内弹性 IPv4 地址 (示例:198.51.100.1) 的实例,这些弹性 IP 地址是使其能够从 Internet 访问的公有 IPv4 地址。可在启动时为实例分配公有 IP 地址而不是弹性 IP 地址。私有子网中的实例是后端服务器,它们不需要接受来自 Internet 的传入流量,因此,没有公有 IP 地址;但是,它们可以使用 NAT 网关向 Internet 发送请求 (请参阅下一要点)。

  • 具有自己的弹性 IPv4 地址的 NAT 网关。私有子网中的实例可使用 IPv4 通过 NAT 网关向 Internet 发送请求 (例如,针对软件更新的请求)。

  • 与公有子网关联的自定义路由表。此路由表中包含的一个条目允许子网中的实例通过 IPv4 与 VPC 中的其他实例通信,另一个条目则允许子网中的实例通过 IPv4 直接与 Internet 通信。

  • 与私有子网关联的主路由表。路由表中包含的一个条目使子网中的实例可通过 IPv4 与 VPC 中的其他实例通信,另一条目使子网中的实例可通过 NAT 网关和 IPv4 与 Internet 通信。

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

IPv6 概述

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

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

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

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

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

  • 仅出口 Internet 网关。这允许私有子网中的实例通过 IPv6 向 Internet 发送请求 (例如软件更新)。如果您希望私有子网中的实例能够通过 IPv6 与 Internet 发起通信,则仅出口 Internet 网关是必需的。有关更多信息,请参阅 仅出口 Internet 网关

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

  • 主路由表中的路由表条目,允许私有子网中的实例使用 IPv6 相互通信和通过仅出口 Internet 网关与 Internet 通信。

 带有公有和私有子网的启用了 IPv6 的 VPC

路由选择

在这个情景中,VPC 向导更新了使用私有子网的主路由表,并创建了一个自定义路由表并将其与公有子网关联。

在这个场景中,从每个子网前往 AWS (例如,到 Amazon EC2 或 Amazon S3 终端节点) 的所有数据流都会经过 Internet 网关。私有子网中的数据库服务器无法直接接收来自 Internet 的数据流,因为它们没有弹性 IP 地址。但是,数据库服务器可以通过公有子网中的 NAT 设备发送和接收 Internet 数据流。

任何您使用默认主路由表创建的额外子网,也就是默认的私有子网。如果您希望将子网设置为公有子网,您可以随时更改与其相关的路由表。

下表描述了此场景的路由表。

主路由表

第一个条目是 VPC 中本地路由的默认条目;这项条目允许 VPC 中的实例在彼此之间进行通信。第二个条目将所有其他子网流量发送到 NAT 网关 (例如 nat-12345678901234567)。

目标 目标

10.0.0.0/16

本地

0.0.0.0/0

nat-gateway-id

自定义路由表

第一个条目是 VPC 中本地路由的默认条目;这项条目允许该 VPC 中的实例在彼此之间进行通信。第二个条目将所有其他子网流量通过 Internet 网关 (例如 igw-1a2b3d4d) 路由到 Internet。

目标 目标

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

nat-gateway-id

::/0

egress-only-igw-id

自定义路由表

第二个条目是自动为 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。有关更多信息,请参阅 安全性

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

您的 VPC 带有默认的安全组。如果您在启动期间没有指定其他安全组,在该 VPC 中启动的实例会与默认安全组自动关联。在这个情景中,我们建议您创建以下安全组,而不是使用默认安全组:

  • WebServerSG:在公有子网中启动 Web 服务器时指定该安全组。

  • DBServerSG:在私有子网中启动数据库服务器时指定该安全组。

分配到同一个安全组的实例可以位于不同的子网之中。 但是,在这个场景中,每个安全组都对应一项实例承担的角色类型,每个角色则要求实例处于特定的子网内。因此,在这个场景中,所有分配到一个安全组的实例都位于相同的子网之中。

下表描述了 WebServerSG 安全组的推荐规则,这些规则允许 Web 服务器接收 Internet 流量,以及来自您的网络的 SSH 和 RDP 流量。Web 服务器也可发起对私有子网中的数据库服务器的读取和写入请求,并向 Internet 发送数据流;例如获取软件更新。由于 Web 服务器不发起任何其他出站通信,因此将删除默认出站规则。

注意

这些建议包括 SSH 和 RDP 访问,以及 Microsoft SQL Server 和 MySQL 访问。根据您的情况,您可能仅需要 Linux (SSH 和 MySQL) 或 Windows (RDP 和 Microsoft SQL Server) 规则。

WebServerSG:推荐规则

入站
协议 端口范围 注释

0.0.0.0/0

TCP

80

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

0.0.0.0/0

TCP

443

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

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

TCP

22

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

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

TCP

3389

允许从您的家庭网络对 Windows 实例进行入站 RDP 访问 (通过 Internet 网关).

出站

目的地 协议 端口范围 注释

您的 DBServerSG 安全组 ID

TCP

1433

允许对归属于 DBServerSG 安全组的数据库服务器进行出站 Microsoft SQL Server 访问。

您的 DBServerSG 安全组 ID

TCP

3306

允许对归属于 DBServerSG 安全组的数据库服务器进行出站 MySQL 访问。

0.0.0.0/0

TCP

80

允许对任意 IPv4 地址进行出站 HTTP 访问。

0.0.0.0/0

TCP

443

允许对任意 IPv4 地址进行出站 HTTPS 访问。

下表描述了 DBServerSG 安全组的推荐规则,即允许从 Web 服务器读取或写入数据库请求。数据库服务器还可以启动绑定到 Internet 的流量 (路由表将流量发送到 NAT 网关,NAT 网关随后通过 Internet 网关将其转发至 Internet)。

DBServerSG:推荐规则

入站
协议 端口范围 注释

您的 WebServerSG 安全组 ID

TCP

1433

允许与 WebServerSG 安全组关联的 Web 服务器进行入站 Microsoft SQL Server 访问。

您的 WebServerSG 安全组 ID

TCP

3306

允许与 WebServerSG 安全组关联的 Web 服务器进行入站 MySQL Server 访问。

出站

目的地 协议 端口范围 注释

0.0.0.0/0

TCP

80

允许通过 IPv4 对 Internet 进行出站 HTTP 访问 (例如,进行软件更新)。

0.0.0.0/0

TCP

443

允许通过 IPv4 对 Internet 进行出站 HTTPS 访问 (例如,进行软件更新)。

(可选) VPC 的安全组带有默认规则,可自动允许指定实例在彼此之间建立通信。要允许自定义安全组进行此类通信,您必须添加下列规则:

入站
协议 端口范围 注释

安全组 ID

全部

全部

允许来自分配到此安全组的其他实例的入站数据流.

出站
目的地 协议 端口范围 注释
安全组 ID 全部 全部 允许到分配到该安全组的其他实例的出站流量。

IPv6 安全性

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

以下是针对 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 访问。

出站
目的地 协议 端口范围 注释
::/0 TCP HTTP 允许对任意 IPv6 地址进行出站 HTTP 访问。
::/0 TCP HTTPS 允许对任意 IPv6 地址进行出站 HTTPS 访问。

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

出站

目的地 协议 端口范围 注释

::/0

TCP

80

允许对任意 IPv6 地址进行出站 HTTP 访问。

::/0

TCP

443

允许对任意 IPv6 地址进行出站 HTTPS 访问。

实施场景 2

您可以使用 VPC 向导创建 VPC、子网、NAT 网关和仅出口 Internet 网关 (可选)。必须为 NAT 网关指定一个弹性 IP 地址;如果没有弹性 IP 地址,则您必须先为自己的账户分配一个。如果需要使用现有的弹性 IP 地址,请确保它当前不与其他实例或网络接口关联。NAT 网关是在您的 VPC 的公有子网中自动创建的。

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

(可选) 为 NAT 网关分配弹性 IP 地址 (IPv4)

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

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

  3. 选择 Allocate New Address

  4. 选择 Yes, Allocate

    注意

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

创建 VPC

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

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

  3. 选择第二个选项 VPC with Public and Private Subnets,然后选择 Select

  4. 对于 VPC namePublic subnet namePrivate subnet name,您可以为您的 VPC 和子网命名以便之后在控制台中识别。您可以为 VPC 和子网指定自己的 IPv4 CIDR 块范围,也可以保留默认值。

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

  6. Specify the details of your NAT gateway 部分,指定您账户中弹性 IP 地址的分配 ID。

  7. 您可以保留页面上的其余默认值,然后选择 Create VPC

由于 WebServerSG 和 DBServerSG 安全组互相引用,因此先创建本场景所需的所有安全组,然后再向其添加规则。

创建 WebServerSG 和 DBServerSG 安全组

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

  2. 在导航窗格中,选择 Security Groups,然后选择 Create Security Group

  3. 提供安全组的名称和描述。在本主题中,使用名称 WebServerSG 作为示例。对于 VPC,选择您创建的 VPC 的 ID,然后选择 Yes, Create

  4. 再次选择 Create Security Group

  5. 提供安全组的名称和描述。在本主题中,使用名称 DBServerSG 作为示例。对于 VPC,选择您的 VPC 的 ID,然后选择 Yes, Create

向 WebServerSG 安全组中添加规则

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

  2. Inbound Rules 选项卡上,选择 Edit,然后添加入站流量规则,如下所示:

    1. 选择 TypeHTTP。对于 Source,输入 0.0.0.0/0

    2. 选择 Add another ruleTypeHTTPS。对于 Source,输入 0.0.0.0/0

    3. 选择 Add another ruleTypeSSH。对于 Source,输入您的网络的公有 IPv4 地址范围。

    4. 选择 Add another ruleTypeRDP。对于 Source,输入您的网络的公有 IPv4 地址范围。

    5. (可选,仅 IPv6) 选择 Add another ruleTypeHTTP。对于 Source,输入 ::/0

    6. (可选,仅 IPv6) 选择 Add another ruleTypeHTTPS。对于 Source,输入 ::/0

    7. (可选,仅 IPv6) 选择 Add another ruleTypeSSH (对于 Linux) 或 RDP (对于 Windows)。对于 Source,输入您的网络的 IPv6 地址范围。

    8. 选择 Save

  3. Outbound Rules 选项卡上,选择 Edit,然后添加出站流量规则,如下所示:

    1. 找到启用所有出站流量的默认规则,然后选择 Remove

    2. 选择 TypeMS SQL。对于 Destination,指定 DBServerSG 安全组的 ID。

    3. 选择 Add another ruleTypeMySQL。对于 Destination,指定 DBServerSG 安全组的 ID。

    4. 选择 Add another ruleTypeHTTPS。对于 Destination,输入 0.0.0.0/0

    5. 选择 Add another ruleTypeHTTP。对于 Destination,输入 0.0.0.0/0

    6. (可选,仅 IPv6) 选择 Add another ruleTypeHTTPS。对于 Destination,输入 ::/0

    7. (可选,仅 IPv6) 选择 Add another ruleTypeHTTP。对于 Destination,输入 ::/0

    8. 选择 Save

在 DBServerSG 安全组中添加推荐规则

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

  2. Inbound Rules 选项卡上,选择 Edit,然后添加入站流量规则,如下所示:

    1. 选择 TypeMS SQL。对于 Source,指定您的 WebServerSG 安全组的 ID。

    2. 选择 Add another ruleTypeMYSQL。对于 Source,指定您的 WebServerSG 安全组的 ID。

    3. 选择 Save

  3. Outbound Rules 选项卡上,选择 Edit,然后添加出站流量规则,如下所示:

    1. 找到启用所有出站流量的默认规则,然后选择 Remove

    2. 选择 TypeHTTP。对于 Destination,输入 0.0.0.0/0

    3. 选择 Add another ruleTypeHTTPS。对于 Destination,输入 0.0.0.0/0

    4. (可选,仅 IPv6) 选择 Add another ruleTypeHTTP。对于 Destination,输入 ::/0

    5. (可选,仅 IPv6) 选择 Add another ruleTypeHTTPS。对于 Destination,输入 ::/0

    6. 选择 Save

您现在可以在您的 VPC 内启动实例。

要启动实例 (Web 服务器或数据库服务器),请执行以下操作

  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,选择您之前创建的 VPC,然后选择一个子网。例如,在公有子网中启动 Web 服务器,在私有子网中启动数据库服务器。

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

    注意

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

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

  7. 在向导的后两页上,可为您的实例配置存储并添加标签。在 Configure Security Group 页上,选择 Select an existing security group 选项,然后选择您之前创建的一个安全组 (对于 Web 服务器选择 WebServerSG,对于数据库服务器选择 DBServerSG)。选择 Review and Launch

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

如果未按第 5 步中的说明为公有子网中的实例分配公有 IPv4 地址,您将无法与其连接。在您能够访问公有子网中的实例之前,您必须指定一项弹性 IP 地址。

分配弹性 IP 地址并将其指定给一个实例 (IPv4)

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

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

  3. 选择 Allocate new address

  4. 选择 Allocate

    注意

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

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

  6. 选择网络接口或实例。对于 Private IP,选择要与弹性 IP 地址关联的相应地址,然后选择 Associate

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

通过 NAT 实例实现场景 2

您可以使用 NAT 实例而不是 NAT 网关实现场景 2。有关 NAT 实例的更多信息,请参阅 NAT 实例

您可以使用与上面相同的过程;不过,在 VPC 向导的 NAT 部分,应选择 Use a NAT instance instead 并指定 NAT 实例的详细信息。您还需要为 NAT 实例 (NATSG) 提供一个安全组,使 NAT 实例能够接收来自私有子网实例的 Internet 绑定的数据流以及来自您的网络的 SSH 数据流。NAT 实例也可以向 Internet 发送数据流,因此私有子网中的实例便可以接收软件更新。

在使用 NAT 实例创建 VPC 后,您必须将与 NAT 实例关联的安全组更改为新的 NATSG 安全组 (默认情况下,NAT 实例是使用默认安全组启动的)。

NATSG:推荐规则

入站
协议 端口范围 注释

10.0.1.0/24

TCP

80

允许来自私有子网中的数据库服务器的入站 HTTP 流量

10.0.1.0/24

TCP

443

允许来自私有子网中的数据库服务器的入站 HTTPS 流量

您网络的公有 IP 地址范围

TCP

22

允许从您的网络到 NAT 实例的入站 SSH 访问 (通过 Internet 网关)

出站

目的地 协议 端口范围 注释

0.0.0.0/0

TCP

80

允许对 Internet 进行出站 HTTP 访问 (通过 Internet 网关)

0.0.0.0/0

TCP

443

允许对 Internet 进行出站 HTTPS 访问 (通过 Internet 网关)

创建 NATSG 安全组

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

  2. 在导航窗格中,选择 Security Groups,然后选择 Create Security Group

  3. 为安全组指定名称和描述。在本主题中,使用名称 NATSG 作为示例。对于 VPC,选择您的 VPC 的 ID,然后选择 Yes, Create

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

  5. Inbound Rules 选项卡上,选择 Edit,然后添加入站流量规则,如下所示:

    1. 选择 TypeHTTP。对于 Source,输入您的私有子网的 IP 地址范围。

    2. 选择 Add another ruleTypeHTTPS。对于 Source,输入您的私有子网的 IP 地址范围。

    3. 选择 Add another ruleTypeSSH。对于 Source,输入您的网络的公有 IP 地址范围。

    4. 选择 Save

  6. Outbound Rules 选项卡上,选择 Edit,然后添加出站流量规则,如下所示:

    1. 找到启用所有出站流量的默认规则,然后选择 Remove

    2. 选择 TypeHTTP。对于 Destination,输入 0.0.0.0/0

    3. 选择 Add another ruleTypeHTTPS。对于 Destination,输入 0.0.0.0/0

    4. 选择 Save

当 VPC 向导启动 NAT 实例时,它会在 VPC 内使用默认安全组。相反的是,您需要将 NAT 实例与 NATSG 安全组关联。

更改 NAT 实例的安全组

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

  2. 在导航窗格中,选择 Network Interfaces

  3. 从列表中选择 NAT 实例的网络接口,然后选择 ActionsChange Security Groups

  4. Change Security Groups 对话框中,对于 Security groups,选择您创建的 NATSG 安全组 (请参阅安全性),然后选择 Save