

# VPC 的子网
<a name="configure-subnets"></a>

*子网*是您的 VPC 内的 IP 地址范围。您可以在特定子网中创建 Amazon 资源（例如 EC2 实例）。

**Topics**
+ [子网基础知识](#subnet-basics)
+ [子网安全性](#subnet-security)
+ [创建子网](create-subnets.md)
+ [将 IPv6 CIDR 块添加到子网或从中删除](subnet-associate-ipv6-cidr.md)
+ [修改子网的 IP 寻址属性](subnet-public-ip.md)
+ [子网 CIDR 预留](subnet-cidr-reservation.md)
+ [路由表](VPC_Route_Tables.md)
+ [中间盒路由向导](middlebox-routing-console.md)
+ [删除子网](subnet-deleting.md)

## 子网基础知识
<a name="subnet-basics"></a>

每个子网都必须完全位于一个可用区之内，不能跨越多个可用区。通过在独立的可用区内启动 Amazon 资源，可以保护应用程序不受单一可用区故障的影响。

**Topics**
+ [子网 IP 地址范围](#subnet-ip-address-range)
+ [子网类型](#subnet-types)
+ [子网图](#subnet-diagram)
+ [子网路由](#subnet-routing)
+ [子网设置](#subnet-settings)

### 子网 IP 地址范围
<a name="subnet-ip-address-range"></a>

在创建子网时，您可以根据 VPC 的配置指定其 IP 地址：
+ **仅 IPv4** – 子网具有 IPv4 CIDR 块，但没有 IPv6 CIDR 块。仅限 IPv4 的子网中的资源必须通过 IPv4 进行通信。
+ **双堆栈** – 子网同时具有 IPv4 CIDR 块和 IPv6 CIDR 块。VPC 必须同时具有 IPv4 CIDR 块和 IPv6 CIDR 块。双堆栈子网中的资源可以通过 IPv4 和 IPv6 进行通信。
+ **仅 IPv6** – 子网具有 IPv6 CIDR 块，但没有 IPv4 CIDR 块。VPC 必须具有一个 IPv6 CIDR 块。仅限 IPv6 的子网中的资源必须通过 IPv6 进行通信。
**注意**  
仅限 IPv6 的子网中的资源从 CIDR 块 169.254.0.0/16 中分配了 IPv4 链路本地地址。这些地址用于与仅在 VPC 中可用的服务进行通信。有关示例，请参阅《*Amazon EC2 用户指南*》中的[链路本地地址](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/using-instance-addressing.html#link-local-addresses)。

有关更多信息，请参阅 [为 VPC 和子网分配 IP 地址](vpc-ip-addressing.md)。

### 子网类型
<a name="subnet-types"></a>

子网类型取决于您如何为子网配置路由。例如：
+ **公有子网** – 子网具有一条指向某个 [互联网网关](VPC_Internet_Gateway.md) 的直接路由。公有子网中的资源可以访问公有互联网。
+ **私有子网** – 子网不具有指向任何互联网网关的直接路由。私有子网中的资源需要使用 [NAT 设备](vpc-nat.md)才能访问公有互联网。
+ **仅限 VPN 的子网** – 子网具有一个通过虚拟私有网关指向某个 [Site-to-Site VPN 连接](https://docs.amazonaws.cn/vpn/latest/s2svpn/) 的路由。该子网不具有通向互联网网关的路由。
+ **隔离子网** – 子网没有通往其 VPC 之外目的地的路由。隔离子网中的资源只能访问同一 VPC 中的其他资源或被同一 VPC 中的其他资源访问。
+ **EVS 子网** – 此类子网是使用 Amazon EVS 创建的。有关更多信息，请参阅《*Amazon EVS 用户指南*》中的 [VLAN subnet](https://docs.amazonaws.cn/evs/latest/userguide/concepts.html#concepts-evs-network)。

### 子网图
<a name="subnet-diagram"></a>

下图显示了具有两个可用区中的子网和一个互联网网关的 VPC。每个可用区都有一个公有子网和一个私有子网。

![\[一个在两个可用区内拥有子网的 VPC。\]](http://docs.amazonaws.cn/vpc/latest/userguide/images/subnet-diagram.png)


有关显示本地区域和 Wavelength 区域中子网的示意图，请参阅 [How Amazon Local Zones work](https://docs.amazonaws.cn/local-zones/latest/ug/how-local-zones-work.html) 和 [How Amazon Wavelength works](https://docs.amazonaws.cn/wavelength/latest/developerguide/how-wavelengths-work.html)。

### 子网路由
<a name="subnet-routing"></a>

每个子网都必须关联一个路由表，这个路由表可指定允许出站流量离开子网的可用路由。您创建的每个子网都会自动关联 VPC 的主路由表。您可以更改关联，以及更改主路由表的内容。有关更多信息，请参阅 [配置路由表](VPC_Route_Tables.md)。

### 子网设置
<a name="subnet-settings"></a>

所有子网都有一个用于确定是否向在该子网中创建的网络接口分配公有 IPv4 地址和 IPv6 地址 (如果适用) 的可修改属性。这包括当您在该子网中启动实例时为实例创建的主网络接口（例如，eth0）。不管子网属性如何，您仍然可以在启动时覆盖特定实例的此设置。

创建子网后，您可以修改子网的以下设置：
+ **自动分配 IP 设置**：允许您配置自动分配 IP 设置，以便为此子网中的新网络接口自动请求公有 IPv4 或 IPv6 地址。
+ **基于资源的名称 (RBN) 设置**：允许您为此子网中的 EC2 实例指定主机名类型，并配置 DNS A 和 AAAA 记录查询的处理方式。有关更多信息，请参阅《*Amazon EC2 用户指南*》中的 [Amazon EC2 实例主机名类型](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ec2-instance-naming.html)。

## 子网安全性
<a name="subnet-security"></a>

为了保护您的 Amazon 资源，我们建议您使用私有子网。使用堡垒主机或 NAT 设备为私有子网中的资源提供互联网访问，例如 EC2 实例。

Amazon 提供了多种可以用于提高 VPC 中资源安全性的功能。*安全组*用于允许关联资源（例如 EC2 实例）的入站和出站流量。*网络 ACL* 用于允许或拒绝子网级别的入站和出站流量。在大多数情况下，使用安全组即可满足您的需求。不过，如需为 VPC 增加额外的安全保护，您可以使用网络 ACL。有关更多信息，请参阅 [比较安全组和网络 ACL](infrastructure-security.md#VPC_Security_Comparison)。

每个子网有意必须与一个网络 ACL 关联。您创建的每个子网均自动与 VPC 的原定设置网络 ACL 关联。默认网络 ACL 允许所有入站和出站流量。您可以更新默认网络 ACL，也可以创建自定义网络 ACL 并将其与您的子网关联。有关更多信息，请参阅 [使用网络访问控制列表控制子网流量](vpc-network-acls.md)。

您可以在 VPC 或子网上创建流日志，以便捕获传入和传出您的 VPC 或子网中的网络接口的流量。您还可以在单独的网络接口上创建流日志。有关更多信息，请参阅 [使用 VPC 流日志记录 IP 流量](flow-logs.md)。