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

默认 VPC 和默认子网

如果您的 AWS 账户是在 2013 年 12 月 4 日之后创建的,它仅支持 EC2-VPC。在这种情况下,您将在每个 AWS 区域拥有一个默认 VPC。默认 VPC 可供您使用,因此您不必创建和配置您自己的 VPC。您可以立即在默认 VPC 中启动 Amazon EC2 实例。您还可以在默认 VPC 中使用 Elastic Load Balancing、Amazon RDS 和 Amazon EMR 等服务。

默认 VPC 适用于快速入门和启动公共实例 (如博客或简单的网站)。您可以按需修改您的默认 VPC 的组件。如果您更愿意创建符合您的特定要求的非默认 VPC (例如,使用您的首选 CIDR 块范围和子网大小),请参阅示例方案

默认 VPC 组件

当我们创建默认 VPC 时,我们会通过以下操作为您完成设置:

  • 创建 IPv4 CIDR 块大小为 /16 的 VPC (172.31.0.0/16)。最多可提供 65536 个私有 IPv4 地址。

  • 在每个可用区内创建大小为 /20 的默认子网。这将为每个子网提供多达 4,096 个地址,其中有一些被预留下来供我们使用。

  • 创建 internet 网关并将其连接到您的默认 VPC。

  • 为默认 VPC 创建主路由表,设置将所有前往 Internet 的 IPv4 通信发送到 Internet 网关的规则。

  • 创建默认安全组并将其与您的默认 VPC 关联。

  • 创建默认网络访问控制列表 (ACL),并将其与您的默认 VPC 关联。

  • 将您的 AWS 账户的默认 DHCP 选项与您的默认 VPC 相关联。

下图表明了我们为默认 VPC 设置的关键组件。

默认 VPC

您可以像使用任何其他 VPC 一样使用默认 VPC:

  • 添加更多非默认子网。

  • 修改主路由表。

  • 添加更多路由表。

  • 关联更多安全组。

  • 更新默认安全组的规则。

  • 添加 VPN 连接。

  • 添加更多 IPv4 CIDR 块。

您可像使用任何其他子网一样使用默认子网;可添加自定义路由表和设置网络 ACL。您还可以在启动 EC2 实例时指定特定默认子网。

您可以选择将 IPv6 CIDR 块与默认 VPC 关联。有关更多信息,请参阅 使用 VPC 和子网

默认子网

默认情况下,默认子网为公有子网,因为主路由表会将指定发往 Internet 的子网流量发送到 Internet 网关。您可以从到 Internet 网关的目标 0.0.0.0/0 中删除路由,以使默认子网变为私有子网。但是,如果您执行此操作,则在该子网中运行的任何 EC2 实例都无法访问 Internet。

您在默认子网中启动的实例将同时接收公有 IPv4 地址和私有 IPv4 地址以及公有和私有 DNS 主机名。在默认 VPC 中的非默认子网内启动的实例不接收公有 IPv4 地址或 DNS 主机名。您可以更改您子网的默认公有 IP 寻址行为。有关更多信息,请参阅 修改子网的公有 IPv4 寻址属性

有时,AWS 可能会向某个区域添加新可用区。大多数情况下,我们将在此可用区中为您的默认 VPC 自动创建新的默认子网。但是,如果您对默认 VPC 进行过任何修改,那么我们不会添加新的默认子网。如果新可用区需要默认子网,请联系 AWS Support 以便为您创建默认子网。

可用性和支持的平台

如果您的 AWS 账户是在 2013 年 12 月 4 日之后创建的,它仅支持 EC2-VPC。在这种情况下,我们会为您在每个 AWS 地区内创建默认 VPC。因此,除非您创建一个非默认 VPC,并指定用它来启动 实例,否则我们将在您的默认 VPC 中为您启动这个实例。

如果您的 AWS 账户是在 2013 年 3 月 18 日之前创建的,则它在您之前使用过的地区,支持 EC2-Classic 和 EC2-VPC;在您未曾使用过的地区仅支持 EC2-VPC。 在此情况下,我们会在每个您尚未创建任何 AWS 资源的区域中创建一个默认 VPC。除非您创建了一个非默认 VPC 并在新区域中启动实例时指定了它,否则我们将在该区域的默认 VPC 中启动实例。但是,如果您在之前使用过的区域启动实例,我们会在 EC2-Classic 中启动该实例。

如果您的 AWS 账户是在 2013-03-18 到 2013-12-04 这段时间内创建的,则它可能仅支持 EC2-VPC。或者,在您已使用的部分区域中,AWS 账户可能同时支持 EC2-Classic 和 EC2-VPC。有关检测您的 AWS 账户每个区域对平台的支持情况的信息,请参阅正在检测您的支持平台以及您是否有默认 VPC 。想要了解有关每个区域何时启用默认 VPC 的信息,请参阅 Amazon VPC AWS 论坛中的公告:启用默认 VPC 功能集的区域

如果一个 AWS 账户仅支持 EC2-VPC,则与该 AWS 账户关联的任何 IAM 账户也仅支持 EC2-VPC,并使用与该 AWS 账户相同的默认 VPC。

如果您的 AWS 账户同时支持 EC2-Classic 和 EC2-VPC,则可创建新的 AWS 账户或在您之前尚未使用的区域中启动实例。您可以执行此操作以获得使用 EC2-VPC 的好处,方便地在 EC2-Classic 内启动实例,如果您仍然更愿意将默认 VPC 添加到没有 VPC 并且支持 EC2-Classic 的区域,请参阅“我很想让我现有的 EC2 账户拥有默认 VPC。这是否可行的?”(在默认 VPC 常见问题中)。

有关 EC2-Classic 和 EC2-VPC 平台的更多信息,请参阅支持的平台

正在检测您的支持平台以及您是否有默认 VPC

您可以使用 Amazon EC2 控制台或命令行确定您的 AWS 账户是否支持这两个平台,或者您是否具有默认 VPC。

使用 Amazon EC2 控制台检测平台支持

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

  2. 在导航栏中,使用右上方的区域选择器选择您的区域。

  3. 在 Amazon EC2 控制台控制面板上,从 Account Attributes (账户属性) 下找到 Supported Platforms (支持的平台)。如果有两个值 EC2VPC,您可以将 实例启动到两个中的任何一个平台中。如果有一个值 VPC,您只能将实例启动到 EC2-VPC 中。

    例如,以下示例表明账户仅支持 EC2-VPC 平台,默认 VPC 的标识符为vpc-1a2b3c4d

     支持平台指示符.

    如果您删除默认 VPC,Default VPC将显示为None。有关更多信息,请参阅 删除您的默认子网和默认 VPC

使用命令行检测平台支持

输出中的 supported-platforms 属性指示您可以在其中启动 EC2 实例的平台。

查看您的默认 VPC 和默认子网

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

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

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

  2. 在导航窗格中,选择 Your VPCs

  3. Default VPC 列中,查找值 Yes。记下默认 VPC 的 ID。

  4. 在导航窗格中,选择 Subnets

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

  6. 要验证哪些子网是默认子网,请在 Default Subnet 列中查找值 Yes

使用命令行描述您的默认 VPC

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

使用命令行描述您的默认子网

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

在您的默认 VPC 内启动 EC2 实例。

当您启动 EC2 实例但却未指定相关子网时,实例会自动在您的默认 VPC 的默认子网内启动。我们会默认为您选择一个可用区域,并在该可用区域的相应子网内启动实例。 或者,您可以通过在控制台中选择对应的默认子网、或在 AWS CLI 中指定子网或可用区,来为您的实例选择可用区。

使用控制台启动 EC2 实例

在您的默认 VPC 内启动 EC2 实例

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

  2. 从 EC2 控制面板中,选择 Launch Instance

  3. 按照向导中的指示操作。 选择 AMI,然后选择实例类型。通过选择 Review and Launch,可接受向导其余部分的默认设置。这样将直接进入 Review Instance Launch (核查实例启动) 页。

  4. 检视您的设置。在 Instance Details (实例详细信息) 部分中,Subnet (子网) 的默认值为 No preference (default subnet in any Availability Zone) (无首选项(任何可用区的默认子网))。这意味着这项实例会在我们选定的可用区域的默认子网中启动。 或者,可选择 Edit instance details,并为特定可用区域选择默认子网。

  5. 选择 Launch 以选择密钥对并启动实例。

使用命令行启动 EC2 实例

您可以使用以下命令之一启动 EC2 实例:

要在您的默认 VPC 中启动 EC2 实例,请使用这些命令而不指定子网或可用区。

要在默认 VPC 中的特定默认子网中启动 EC2 实例,请指定子网 ID 或可用区。

删除您的默认子网和默认 VPC

您可以像删除其他任何子网或 VPC 一样删除默认子网或默认 VPC。但如果您删除默认子网或默认 VPC,则您必须明确指定要在其中启动实例的另一个 VPC 中的子网,因为您无法在 EC2-Classic 内启动实例。如果您没有另一个 VPC,您必须创建非默认 VPC 与非默认子网。有关更多信息,请参阅 正在创建 VPC

如果您删除了默认 VPC,则可以创建一个新的默认 VPC。有关更多信息,请参阅 创建默认 VPC

如果您删除了默认子网,则无法自行创建新的默认子网。您不能在默认 VPC 内启动实例到该可用区中,除非您在可用区中创建非默认子网。如果您在删除默认子网后想要一个新的默认子网,则可以创建一个非默认子网,然后联系 AWS Support 将该子网标记为默认子网。您必须提供以下详细信息:您的 AWS 账户 ID、区域和子网 ID。为了确保您的新默认子网按预期正常运行,请修改子网属性以将公有 IP 地址分配到在该子网中启动的实例。有关更多信息,请参阅 修改子网的公有 IPv4 寻址属性。每个可用区只能有一个默认子网。不能在非默认 VPC 中创建默认子网。

创建默认 VPC

如果您删除了默认 VPC,则可以创建一个新的默认 VPC。您无法恢复之前删除的默认 VPC,并且无法将现有非默认 VPC 标记为默认 VPC。如果您的账户支持 EC2-Classic,您将无法利用这些步骤在支持 EC2-Classic 的区域中创建默认 VPC。

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

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

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

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

  2. 在导航窗格中,选择 Your VPCs

  3. 依次选择 ActionsCreate Default VPC

  4. 选择 Create。关闭确认屏幕。

使用命令行创建默认 VPC

  • 您可以使用 create-default-vpc AWS CLI 命令。此命令没有任何输入参数。

    Copy
    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 Windows PowerShell 工具 命令或 CreateDefaultVpc Amazon EC2 API 操作。