預設 VPC - Amazon Virtual Private Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

預設 VPC

當開始使用 Amazon VPC 時,您會在每個 AWS 區域擁有預設 VPC。預設 VPC 在每個可用區域附帶一個公有子網路、一個網際網路閘道,以及啟用 DNS 解析的設定。因此,您可以在預設 VPC 中立即開始啟動 Amazon EC2 執行個體。您也可以在預設 VPC 中使用 Elastic Load Balancing、Amazon RDS 和 Amazon EMR 等服務。

預設 VPC 適合快速入門,也適合啟動公有執行個體,例如部落格或簡易的網站。您可視需要修改您預設 VPC 的元件。

您可以將子網路新增至預設 VPC。如需詳細資訊,請參閱 建立子網

預設 VPC 元件

當我們建立預設的 VPC 時,我們會為您執行下列作業來設定它:

  • 建立大小為 /16 IPv4 CIDR 區塊 (172.31.0.0/16) 的 VPC。這最多可提供 65,536 個私有 IPv4 地址。

  • 在每個可用區域中建立大小為 /20 的預設子網路。每個子網路最多可提供 4,096 個地址,其中一些預留供我們使用。

  • 建立網際網路閘道,並將它連線到您的預設 VPC。

  • 將路由新增至主路由表,將所有流量 (0.0.0.0/0) 指向網際網路閘道。

  • 建立預設的安全群組,並與您預設的 VPC 建立關聯。

  • 建立預設的網路存取控制清單 (ACL),並與您預設的 VPC 建立關聯。

  • 建立您 AWS 帳戶預設 DHCP 選項集與您預設 VPC 的關聯。

注意

Amazon 代表您建立上述資源。IAM 政策不適用於這些動作,因為您不執行這些動作。例如,如果您的 IAM 政策拒絕呼叫 CreateInternetGateway 的能力,然後您呼叫了 CreateDefaultVpc,則仍會在預設的 VPC 中建立網際網路閘道。

下圖顯示我們為預設 VPC 設定的主要元件。


				在每個區域中建立預設 VPC,且每個可用區域中有一個預設子網路

下表顯示預設 VPC 主路由表中的路由。

目的地 目標
172.31.0.0/16 區域
0.0.0.0/0 internet_gateway_id

使用預設 VPC 的方法和使用任何其他 VPC 一樣:

  • 新增其他非預設的子網路。

  • 修改主路由表。

  • 新增其他路由表。

  • 建立其他安全群組的關聯。

  • 更新預設安全群組的規則。

  • 新增 AWS Site-to-Site VPN 連接。

  • 新增更多 IPv4 CIDR 區塊。

  • 使用 Direct Connect 閘道存取遠端區域中的 VPC。如需 Direct Connect 閘道選項的資訊,請參閱《AWS Direct Connect 使用者指南》中的 Direct Connect 閘道

您可如同使用任何其他子網路來使用預設的子網路;新增自訂路由表以及設定網路 ACL。您也可以在啟動 EC2 執行個體時,指定特定的預設子網路。

您可以選擇性建立 IPv6 CIDR 區塊與您預設 VPC 的關聯。

預設子網路

根據預設,預設子網路是公有子網路,因為主路由表會將以網際網路為目標的子網路流量傳送至網際網路閘道。您可將路由從目標 0.0.0.0/0 移至網際網路閘道,將預設子網路變成私有子網路。但若如此做,在該子網路中執行的任何 EC2 執行個體都無法存取網際網路。

您在預設子網路中啟動的執行個體會收到公有和私有 IPv4 地址及公有和私有 DNS 主機名稱。您在預設 VPC 之非預設子網路中啟動的執行個體不會收到公有 IPv4 地址或 DNS 主機名稱。您可以變更您子網路的預設公有 IP 定址行為。如需詳細資訊,請參閱 修改您子網路的公有 IPv4 定址屬性

有時候,AWS 會在區域中新增新的可用區域。在多數的情況下,我們會在幾天內自動於您預設 VPC 的這個可用區域中,建立新的預設子網路。但您若修改了預設的 VPC,我們就不會新增新的預設子網路。如果您希望新的可用區域中有預設的子網路,您可自行建立。如需詳細資訊,請參閱 建立預設子網路

檢視您的預設 VPC 和預設子網路

您可以使用 Amazon VPC 主控台或命令列來檢視您的預設 VPC 和子網路。

使用 主控台檢視您的預設 VPC 和子網路
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Your VPCs (您的 VPC)。

  3. Default VPC (預設 VPC) 欄中,尋找 Yes (是) 的值。記下預設 VPC 的 ID。

  4. 在導覽窗格中,選擇 Subnets (子網路)。

  5. 在搜尋列中,輸入預設 VPC 的 ID。傳回的子網路是您預設 VPC 中的子網路。

  6. 若要驗證哪些子網路是預設子網路,請在 Default Subnet (預設子網路) 欄中尋找 Yes (是) 的值。

使用命令列說明您的預設 VPC

使用具有 isDefault 篩選條件的命令,並將篩選條件值設為 true

使用命令列說明您的預設子網路

使用具有 vpc-id 篩選條件的命令,並將篩選條件值設為預設 VPC 的 ID。在輸出中,預設子網路的 DefaultForAz 欄位設為 true

建立預設 VPC

如果您刪除預設的 VPC,您可以再建立一個新的。您無法還原已刪除的上一個預設 VPC,而且您無法將現有的非預設 VPC 標記為預設 VPC。

當您建立預設的 VPC 時,它是使用預設 VPC 的標準元件建立,包括每個可用區域中的預設子網路。您無法指定自己的元件。您新預設 VPC 的子網路 CIDR 區塊,可能不會映射到和上一個預設 VPC 相同的可用區域。例如,如果具有 CIDR 區塊 172.31.0.0/20 的子網路是建立在您上一個預設 VPC 的 us-east-2a 中,它就可以建立在您新預設 VPC 的 us-east-2b

如果您在區域中已有預設的 VPC,即無法再建立另一個。

使用 主控台建立預設 VPC
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Your VPCs (您的 VPC)。

  3. 選擇 Actions (動作)Create Default VPC (建立預設 VPC)

  4. 選擇 Create (建立)。關閉確認畫面。

使用命令列建立預設 VPC

您可以使用 create-default-vpc 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 Tools for Windows PowerShell 命令或 CreateDefaultVpc Amazon EC2 API 動作。

建立預設子網路

您可以在沒有預設子網路的可用區域中建立預設子網路。例如,如果您已刪除預設的子網路,或如果 AWS 已新增新的可用區域,但並未在您預設 VPC 的該區域自動建立預設子網路,您可能想要建立預設子網路。

當您建立預設的子網路時,它是在您預設 VPC 的下一個可用連續空間中,使用大小 /20 的 IPv4 CIDR 區塊建立。適用的規定如下:

  • 您不能自行指定 CIDR 區塊。

  • 您無法還原您刪除的上一個預設子網路。

  • 每個可用區域只能有一個預設子網路。

  • 您不能在非預設 VPC 中建立預設子網路。

如果您的預設 VPC 中地址空間不足而無法建立大小 /20 的 CIDR 區塊,請求即失敗。如果您需要更多的地址空間,您可在您的 VPC 中新增 IPv4 CIDR 區塊

如果您已建立 IPv6 CIDR 區塊與您預設 VPC 的關聯,新的預設子網路就不會自動收到 IPv6 CIDR 區塊。但您可以在建立它之後,建立 IPv6 CIDR 區塊與預設子網路的關聯。如需詳細資訊,請參閱 將 IPv6 CIDR 區塊新增至您的子網路

您無法使用 AWS Management Console 建立預設子網路。

使用 AWS CLI 建立預設子網路

使用 create-default-subnet 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 使用者指南》。

或者,您可以使用 New-EC2DefaultSubnet Tools for Windows PowerShell 命令或 CreateDefaultSubnet Amazon EC2 API 動作。

刪除您的預設子網路和預設 VPC

您可以如同刪除任何其他子網路或 VPC 來刪除預設的子網路或預設的 VPC。不過,如果您刪除預設子網路或預設 VPC,您就必須在啟動執行個體時在其中一個 VPC 中明確指定子網路。如果您沒有其他 VPC,您就至少必須在一個可用區域中建立具有子網路的 VPC。如需詳細資訊,請參閱 建立 VPC

如果您刪除預設的 VPC,您可以再建立一個新的。如需詳細資訊,請參閱 建立預設 VPC

如果您刪除預設的子網路,您可以再建立一個新的。如需詳細資訊,請參閱 建立預設子網路。為確保您的新預設子網路能如預期運作,請修改子網路屬性以將公有 IP 地址指派給在該子網路中啟動的執行個體。如需詳細資訊,請參閱 修改您子網路的公有 IPv4 定址屬性。每個可用區域只能有一個預設子網路。您不能在非預設 VPC 中建立預設子網路。