

# 查看默认 VPC 和默认子网
<a name="work-with-default-vpc"></a>

本节旨在介绍如何使用默认 VPC 和默认子网。

**Topics**
+ [查看您的默认 VPC 和默认子网](#view-default-vpc)
+ [创建默认 VPC](#create-default-vpc)
+ [创建默认子网](#create-default-subnet)
+ [删除您的默认子网和默认 VPC](#deleting-default-vpc)

## 查看您的默认 VPC 和默认子网
<a name="view-default-vpc"></a>

您可以使用 Amazon VPC 控制台或命令行查看您的默认 VPC 和子网。

**使用控制台查看您的默认 VPC 和子网**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Your VPCs**。

1. 在 **Default VPC** 列中，查找值 **Yes**。记下默认 VPC 的 ID。

1. 在导航窗格中，选择 **Subnets (子网)**。

1. 在搜索栏中，键入默认 VPC 的 ID。返回的子网是您的默认 VPC 中的子网。

1. 要验证哪些子网是默认子网，请在 **Default Subnet ** 列中查找值 **Yes**。

**使用命令行描述您的默认 VPC**
+ 使用 [describe-vpcs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpcs.html) (AWS CLI)
+ 使用 [Get-EC2Vpc](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Vpc.html) (AWS Tools for Windows PowerShell)

将命令与 `isDefault` 筛选器结合使用并将筛选值设置为 `true`。

**使用命令行描述您的默认子网**
+ 使用 [describe-subnets](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-subnets.html) (AWS CLI)
+ 使用 [Get-EC2Subnet](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Subnet.html) (AWS Tools for Windows PowerShell)

将命令与 `vpc-id` 筛选器结合使用并将筛选值设置为默认 VPC 的 ID。在输出中，`DefaultForAz` 字段对默认子网设置为 `true`。

## 创建默认 VPC
<a name="create-default-vpc"></a>

如果您删除了默认 VPC，则可以创建一个新的默认 VPC。您无法恢复之前删除的默认 VPC，并且无法将现有非默认 VPC 标记为默认 VPC。

当您创建默认 VPC 时，将使用默认 VPC 的标准[组件](default-vpc-components.md)创建它 (包括每个可用区中的默认子网)。您无法指定您自己的组件。新的默认 VPC 的子网 CIDR 块可能不会与之前的默认 VPC 映射到同一可用区。例如，如果具有 CIDR 块的子网 `172.31.0.0/20` 是在之前的默认 VPC 的 `us-east-2a` 中创建的，则该子网可能在新的默认 VPC 的 `us-east-2b` 中创建。

如果您在该区域中已经有默认 VPC，则无法创建另一个默认 VPC。

**使用控制台创建默认 VPC**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Your VPCs**。

1. 依次选择 **Actions** 和 **Create Default VPC**。

1. 选择**创建**。关闭确认屏幕。

**使用命令行创建默认 VPC**  
您可以使用 [create-default-vpc](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-default-vpc.html) AWS CLI 命令。此命令没有任何输入参数。

```
aws ec2 create-default-vpc
```

下面是示例输出。

```
{
    "Vpc": {
        "VpcId": "vpc-3f139646", 
        "InstanceTenancy": "default", 
        "Tags": [], 
        "Ipv6CidrBlockAssociationSet": [], 
        "State": "pending", 
        "DhcpOptionsId": "dopt-61079b07", 
        "CidrBlock": "172.31.0.0/16", 
        "IsDefault": true
    }
}
```

或者，您可以将 [New-EC2DefaultVpc](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2DefaultVpc.html) 工具用于 Windows PowerShell 命令或 [CreateDefaultVpc](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateDefaultVpc.html) Amazon EC2 API 操作。

## 创建默认子网
<a name="create-default-subnet"></a>

**注意**  
您不能使用 AWS 管理控制台 创建默认子网。

您可以在没有默认子网的可用区中创建一个默认子网。例如，如果您已删除默认子网，或者 AWS 已添加新的可用区但未在您的默认 VPC 中为该区域自动创建默认子网，则您可能需要创建一个默认子网。

创建默认子网时，将使用您的默认 VPC 中的下一个可用连续空间内的大小为 `/20` 的 IPv4 CIDR 块创建它。以下规则适用：
+ 不能自行指定 CIDR 块。
+ 不能恢复已删除的之前的默认子网。
+ 每个可用区只能有一个默认子网。
+ 不能在非默认 VPC 中创建默认子网。

如果您的默认 VPC 中没有用于创建大小为 `/20` 的 CIDR 块的足够地址空间，则请求会失败。如果您需要更多地址空间，则可以[将 IPv4 CIDR 块添加到您的 VPC](vpc-cidr-blocks.md#vpc-resize)。

如果您已将 IPv6 CIDR 块与您的默认 VPC 关联，则新的默认子网不会自动接收 IPv6 CIDR 块。您可以改为在创建一个 IPv6 CIDR 块后将其与默认子网关联。有关更多信息，请参阅 [将 IPv6 CIDR 块添加到子网或从中删除](subnet-associate-ipv6-cidr.md)。

**使用 AWS CLI 创建默认子网**  
使用 [create-default-subnet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-default-subnet.html) AWS CLI 命令并指定要在其中创建子网的可用区。

```
aws ec2 create-default-subnet --availability-zone us-east-2a
```

下面是示例输出。

```
{
    "Subnet": {
        "AvailabilityZone": "us-east-2a", 
        "Tags": [], 
        "AvailableIpAddressCount": 4091, 
        "DefaultForAz": true, 
        "Ipv6CidrBlockAssociationSet": [], 
        "VpcId": "vpc-1a2b3c4d", 
        "State": "available", 
        "MapPublicIpOnLaunch": true, 
        "SubnetId": "subnet-1122aabb", 
        "CidrBlock": "172.31.32.0/20", 
        "AssignIpv6AddressOnCreation": false
    }
}
```

有关设置 AWS CLI 的更多信息，请参阅《[AWS Command Line Interface 用户指南](https://docs.aws.amazon.com/cli/latest/userguide/)》。

或者，您也可以使用 [New-EC2DefaultSubnet](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2DefaultSubnet.html) Tools for Windows PowerShell 命令或 [CreateDefaultSubnet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateDefaultSubnet.html) Amazon EC2 API 操作。

## 删除您的默认子网和默认 VPC
<a name="deleting-default-vpc"></a>

您可以像删除其他任何子网或 VPC 一样删除默认子网或默认 VPC。但是，如果您删除默认子网或默认 VPC，则在启动实例时必须显式指定您的一个 VPC 中的一个子网。如果您没有另一个 VPC，则必须创建至少在一个可用区内有一个子网的 VPC。有关更多信息，请参阅 [创建 VPC](create-vpc.md)。

如果您删除了默认 VPC，则可以创建一个新的默认 VPC。有关更多信息，请参阅 [创建默认 VPC](#create-default-vpc)。

如果您删除默认子网，则可以创建一个新的默认子网。有关更多信息，请参阅 [创建默认子网](#create-default-subnet)。为了确保您的新默认子网按预期正常运行，请修改子网属性以将公有 IP 地址分配到在该子网中启动的实例。有关更多信息，请参阅 [修改子网的 IP 寻址属性](subnet-public-ip.md)。每个可用区只能有一个默认子网。不能在非默认 VPC 中创建默认子网。