

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

# 建立雙堆疊 VPC 以與 DocumentDB 叢集搭配使用
<a name="docdb-vpc-create-dual-stack"></a>

常見案例包括以 Amazon VPC 服務為基礎的虛擬私有雲端 (VPC) 中的叢集。此 VPC 與在相同 VPC 中執行的公有 Amazon EC2 執行個體共用資料。在本主題中，您會為此案例建立 VPC。

**Topics**
+ [步驟 1：建立具有私有和公有子網路的 VPC](#ds-vpc-private-public-subnets)
+ [步驟 2：為公有 Amazon EC2 執行個體建立 VPC 安全群組](#ds-vpc-public-security-group)
+ [步驟 3：建立私有叢集的 VPC 安全群組](#ds-vpc-private-security-group)
+ [步驟 4：建立子網路群組](#ds-vpc-subnet-group)
+ [步驟 5：在雙堆疊模式中建立 Amazon EC2 執行個體](#ds-vpc-ec2-dual-stack)
+ [步驟 6：以雙堆疊模式建立叢集](#ds-vpc-cluster-dual-stack)
+ [步驟 7：連線至您的 Amazon EC2 執行個體和資料庫叢集](#ds-vpc-connect-ec2)
+ [刪除 VPC](#ds-vpc-delete)

在此程序中，您會針對此案例建立 VPC，該 VPC 適用於在雙堆疊模式下執行的資料庫。雙堆疊模式可透過 IPv6 定址通訊協定啟用連線。若需 IP 定址的詳細資訊，請參閱 [Amazon DocumentDB IP 定址](vpc-clusters.md#vpc-docdb-ip-addressing)。

大多數區域都支援雙堆疊網路叢集。如需更多資訊，請參閱[雙堆疊模式區域和版本可用性](vpc-clusters.md#dual-stack-availability)。若要查看雙堆疊模式的限制，請參閱 [雙堆疊網路叢集的限制](vpc-clusters.md#dual-stack-limitations)。

本主題和IPv4-only主題會在相同的 VPC 中建立公有和私有子網路。如需有關在一個 VPC 中建立 Amazon DocumentDB 叢集和在不同 VPC 中建立 Amazon EC2 執行個體的資訊，請參閱 [在 VPC 中存取 Amazon DocumentDB 叢集](access-cluster-vpc.md)。

您的 DocumentDB 叢集必須僅適用於您的 Amazon EC2 執行個體，而非公有網際網路。因此，您建立同時包含公有和私有子網路的 VPC。EC2 執行個體託管在公有子網路中，因此可以連線到公有網際網路。叢集託管在私有子網路中。EC2 執行個體可以連接到叢集，因為它託管在相同的 VPC 中。不過， 叢集不適用於公有網際網路，可提供更高的安全性。

本主題中的程序會在個別可用區域中設定額外的公有和私有子網路。程序不會使用這些子網路。DocumentDB 子網路群組至少需要兩個可用區域中的子網路。額外的子網路可讓您輕鬆設定多個 DocumentDB 執行個體。

若要建立使用雙堆疊模式的叢集，請為**網路類型**設定指定**雙堆疊模式** e。您也可以使用相同的設定來修改叢集。如需建立叢集的詳細資訊，請參閱 [建立 Amazon DocumentDB 叢集](db-cluster-create.md)。如需修改資料庫叢集的詳細資訊，請參閱[修改 Amazon DocumentDB 叢集](db-cluster-modify.md)。

本主題說明為 Amazon DocumentDB 叢集設定 VPC。如需 Amazon VPC 的詳細資訊，請參閱《Amazon VPC 使用者指南》[https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)。

## 步驟 1：建立具有私有和公有子網路的 VPC
<a name="ds-vpc-private-public-subnets"></a>

使用下列程序來建立一個同時含公有和私有子網路的 VPC。

**建立 VPC 和子網路**

1. 開啟位於 https：//[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com//vpc) 的 Amazon VPC 主控台。

1. 在 的右上角 AWS 管理主控台，選擇要在其中建立 VPC 的區域。此範例使用 美國西部 (奧勒岡) 區域。

1. 在左上角，選擇 **VPC Dashboard** (VPC 儀表板)。若要開始建立 VPC，請選擇 **Create VPC** (建立 VPC)。

1. 在 **VPC Settings** (VPC 設定) 的 **Resources to create** (建立資源) 下，選擇 **VPC and more** (VPC 和更多)。

1. 對於 **VPC settings** (VPC 設定)，設定這些值：
   + **名稱標籤自動產生** — **example-dual-stack**
   + **IPv4 CIDR 區塊** — **10.0.0.0/16**
   + **IPv6 CIDR 區塊** — **Amazon 提供的 IPv6 CIDR 區塊**
   + **租用** — **預設**
   + **可用區域 (AZs) 的數量** — **2**
   + **自訂 AZs** — 保留預設值
   + **公有子網路數量** — **2**
   + **私有子網路數量** — **2**
   + **自訂子網路 CIDR 區塊** — 保留預設值
   + **NAT 閘道 (\$1)** — **無**
   + **僅輸出網際網路閘道** — **否**
   + **VPC 端點** — **無**
   + **DNS 選項** — 保留預設值

1. 選擇**建立 VPC**。

## 步驟 2：為公有 Amazon EC2 執行個體建立 VPC 安全群組
<a name="ds-vpc-public-security-group"></a>

接著建立公開存取的 VPC 安全群組。若要連接至 VPC 中的公有 EC2 執行個體，請將傳入規則新增至 VPC 安全群組，以允許流量從網際網路連接。

**建立 VPC 安全群組**

1. 開啟位於 https：//[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com//vpc) 的 Amazon VPC 主控台。

1. 選擇 **VPC Dashboard (VPC 儀表板)**，再選擇 **Security Groups (安全群組)**，然後選擇 **Create security group (建立安全群組)**。

1. 在 **Create security group (建立安全群組)** 頁面上，設定下列值：
   + **安全群組名稱** — **example-dual-stack-securitygroup**
   + **描述** — **Dual-stack security group**
   + **VPC** — 選擇您先前建立的 VPC，例如：**vpc-example-dual-stack**。

1. 將傳入規則新增至安全群組

   1. 決定用於使用安全殼層 (SSH) 連接至 VPC 中 EC2 執行個體的 IP 地址。若要判斷公有 IP 地址，您可以在不同的瀏覽器視窗或索引標籤中使用 [https://checkip.amazonaws.com](https://checkip.amazonaws.com) 中的服務。

      網路通訊協定第 4 版 (IPv4) 地址範圍的範例為 `203.0.113.25/32`。網際網路通訊協定第 6 版 (IPv6) 地址範圍的範例為 `2001:db8:1234:1a00::/64`。

      在許多情況下，您可能透過網際網路服務供應商 (ISP) 或是從沒有靜態 IP 地址的防火牆進行連線。若是如此，請找出用戶端電腦所使用的 IP 地址範圍。
**警告**  
若您將 `0.0.0.0/0` 用於 IPv4 或 `::0` 用於 IPv6，則可讓所有 IP 地址使用 SSH 存取您的公有執行個體。通常在測試環境中短暫使用此方法是沒有問題的，但在生產環境則不安全。在生產環境中，建議您只授權特定 IP 地址或特定範圍的地址存取您的執行個體。

   1. 在 **Inbound rules (傳入規則)** 區段中，選擇 **Add rule (新增規則)**。

   1. 針對您的新傳入規則設定下列值，以允許透過 SSH 存取您的 Amazon EC2 執行個體。執行此操作後，您可以連線至 EC2 執行個體來安裝應用程式或其他公用程式。指定 IP 地址，讓您可以存取 EC2 執行個體：
      + **類型** — **SSH**
      + **來源** — 您從步驟 a 建立的 IP 地址或範圍。IPv4 地址範圍的範例為 **203.0.113.25/3**2。IPv6 地址範圍的範例為 **2001:DB8::/32**。

   1. 選擇**新增規則**。

1. 請選擇 **Create security group (建立安全群組)** 以建立安全群組。

   請注意安全群組 ID，因為您稍後在另一個程序中需要它。

## 步驟 3：建立私有叢集的 VPC 安全群組
<a name="ds-vpc-private-security-group"></a>

若要保持叢集的私密性，請建立第二個安全群組以進行私有存取。若要連線至 VPC 中的私有叢集，請將傳入規則新增至 VPC 安全群組。這些規則僅允許來自 Amazon EC2 執行個體的流量。

**建立 VPC 安全群組**

1. 開啟位於 https：//[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com//vpc) 的 Amazon VPC 主控台。

1. 選擇 **VPC Dashboard (VPC 儀表板)**，再選擇 **Security Groups (安全群組)**，然後選擇 **Create security group (建立安全群組)**。

1. 在 **Create security group (建立安全群組)** 頁面上，設定下列值：
   + **安全群組名稱** — **example-dual-stack-cluster-securitygroup**
   + **描述** — **Dual-stack cluster security group**
   + **VPC** — 選擇您先前建立的 VPC，例如：**vpc-example-dual-stack**

1. 將傳入規則新增至安全群組

   1. 在 **Inbound rules (傳入規則)** 區段中，選擇 **Add rule (新增規則)**。

   1. 為您的新傳入規則設定下列值，以允許來自 Amazon EC2 執行個體的連接埠 27017 上的 DocumentDB 流量。執行此操作後，您可以從 EC2 執行個體連線到叢集。如此一來，您就可以將資料從 EC2 執行個體傳送至資料庫。
      + **類型** — **Custom TCP**
      + **來源** — 您先前在本主題中建立的 EC2 安全群組的識別符，例如：**sg-9edd5cfb**。

1. 請選擇 **Create security group (建立安全群組)** 以建立安全群組。

## 步驟 4：建立子網路群組
<a name="ds-vpc-subnet-group"></a>

子網路群組是您在 VPC 中建立，然後為叢集指定的子網路集合。透過使用子網路群組，您可以在建立叢集時指定特定 VPC。若要建立`DUAL`相容的子網路群組，所有子網路都必須`DUAL`相容。如要成為 `DUAL` 相容，子網路必須具有與其關聯的 IPv6 CIDR。

**建立子網路群組**

1. 識別 VPC 中資料庫的私有子網路。

   1. 在 https：//[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com//vpc) 開啟 Amazon VPC 主控台。

   1. 選擇 **VPC Dashboard** (VPC 儀表板)，然後選擇 **Subnets** (子網路)。

   1. 請注意您在名為 的步驟 1 中建立之子網路IDs，例如：**example-dual-stack-subnet-private1-us-west-2a** 和 **example-dual-stack-subnet-private2-us-west-2b**。建立子網路群組時，您需要子網路 IDs。

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) 開啟 Amazon DocumentDB 主控台。

   請確定您連線到 Amazon DocumentDB 主控台，而不是 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Subnet groups (子網路群組)**。

1. 選擇**建立**。

1. 在**建立子網路群組**頁面上，在**子網路群組詳細資訊**區段中設定這些值：
   + **名稱** — **example-dual-stack-cluster-subnet-group**
   + **描述** — **Dual-stack cluster subnet group**

1. 在**新增子網路**區段中，設定這些值：
   + **VPC** — 選擇您先前建立的 VPC，例如：**vpc-example-dual-stack**
   + **可用區域** — 選取在步驟 1 中建立的兩個可用區域。範例：**us-west-2a** 和 **us-west-2b**
   + **子網路** — 選擇您在步驟 1 中建立的私有子網路。

1. 選擇**建立**。

您的新子網路群組會出現在 DocumentDB 主控台的子網路群組清單中。您可以選擇子網路群組，以在詳細資訊窗格中查看詳細資訊。這些詳細資料包括與群組關聯的所有子網路。

## 步驟 5：在雙堆疊模式中建立 Amazon EC2 執行個體
<a name="ds-vpc-ec2-dual-stack"></a>

若要建立 Amazon EC2 執行個體，請遵循《*Amazon Elastic Compute Cloud 使用者指南*》中的[使用主控台中的啟動執行個體精靈啟動 EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) 執行個體中的指示。

在 **Configure Instance Details** (設定執行個體詳細資訊) 頁面上設定這些值，而其他值都維持預設值：
+ **網路** — 選擇同時具有公有和私有子網路的現有 VPC，例如在 中建立的 **vpc-example-dual-stack-vpc** (vpc-*identifier*)[步驟 1：建立具有私有和公有子網路的 VPC](#ds-vpc-private-public-subnets)。
+ **子網路** — 選擇現有的公有子網路，例如在 中建立的**子網路*識別符* \$1 example-dual-stack-subnet-public1-us-east-2a \$1 us-east-2a**[步驟 2：為公有 Amazon EC2 執行個體建立 VPC 安全群組](#ds-vpc-public-security-group)。
+ **自動指派公有 IP** — 選擇**啟用**。
+ **自動指派 IPv6 IP** — 選擇**啟用**。
+ **防火牆 （安全群組）** 選擇**選取現有的安全群組**。— 
+ **常見安全群組** — 選擇現有的安全群組，例如在 中建立的 **example-dual-stack-securitygroup**[步驟 2：為公有 Amazon EC2 執行個體建立 VPC 安全群組](#ds-vpc-public-security-group)。請確定您選擇的安全性群組包含安全殼層 (SSH) 和 HTTP 存取的輸入規則。

## 步驟 6：以雙堆疊模式建立叢集
<a name="ds-vpc-cluster-dual-stack"></a>

在此步驟中，您會建立在雙堆疊模式下執行的資料庫叢集。**！！！ 注意：在對主控台進行 IPv6 更新後，本節需要編輯 ！！！**

**在雙堆疊模式中建立叢集**

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) 開啟 Amazon DocumentDB 主控台。

1. 在主控台的右上角，選擇您要建立 DocumentDB 叢集的 AWS 區域 。此範例使用 美國東部 (俄亥俄) 區域。

1. 在導覽窗格中，選擇**叢集**。

1. 在**叢集**清單頁面上，選擇**建立**。

1. 在**建立 Amazon DocumentDB 叢集**頁面上，確定已選擇**執行個體型叢集**選項。

1. 在**連線**區段**的網路類型**下，選擇**雙堆疊模式**。  
![\[主控台中的網路類型區段，選取了雙堆疊模式。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/nw-type-dual-stack.png)

1. 在頁面底部，開啟**顯示進階設定**。

1. 在**網路設定**區段中，設定這些值：
   + **虛擬私有雲端 (VPC)** — 選擇同時具有公有和私有子網路的現有 VPC，例如在 中建立的 **vpc-example-dual-stack** (vpc-*identifier*)[步驟 1：建立具有私有和公有子網路的 VPC](#ds-vpc-private-public-subnets)。

     VPC 必須具有位於不同可用區域的子網路。
   + **子網路群組** — 選擇 VPC 的子網路群組，例如在 中建立的 **example-dual-stack-cluster-subnet-group**[步驟 4：建立子網路群組](#ds-vpc-subnet-group)。
   + **公開存取** — 選擇**否**。
   + **VPC 安全群組 （防火牆）** — 選取**選擇現有**。
   + **現有 VPC 安全群組** — 選擇為私有存取設定的現有 VPC 安全群組，例如在 中建立的 **example-dual-stack-cluster-securitygroup**[步驟 3：建立私有叢集的 VPC 安全群組](#ds-vpc-private-security-group)。

     選擇與各項相關聯的 **X**，以移除其他安全群組，例如預設安全群組。
   + **可用區域** — 選擇您在步驟 1 中建立的可用區域。範例：**us-west-2a**。

     若要避免跨可用區域流量，請確定叢集和 EC2 執行個體位於相同的可用區域。

1. 針對其餘區段，指定您的叢集設定。如需每項設定的相關資訊，請參閱 [建立 Amazon DocumentDB 叢集](db-cluster-create.md)。

## 步驟 7：連線至您的 Amazon EC2 執行個體和資料庫叢集
<a name="ds-vpc-connect-ec2"></a>

在雙堆疊模式下建立 Amazon EC2 執行個體和 DocumentDB 叢集之後，您可以使用 IPv6 通訊協定連線到每個叢集。若要使用 IPv6 通訊協定連線至 EC2 執行個體，請遵循《*Amazon Elastic Compute Cloud 使用者指南*》中的[連接 EC2 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)中的指示。

若要從 EC2 執行個體連線至 DocumentDB 叢集，請遵循 中的說明[步驟 5：安裝 MongoDB Shell](connect-ec2-manual.md#manual-connect-ec2.install-mongo-shell)，在 Connect Amazon EC2 手動主題中 （並在相同的程序中繼續後續步驟 6 和步驟 7)。

## 刪除 VPC
<a name="ds-vpc-delete"></a>

您可以刪除不再需要的 VPC 和其中使用的其他資源。

**注意**  
如果您在本主題中建立的 VPC 中新增資源，您可能需要先刪除這些資源，才能刪除 VPC。例如，這些資源可能包含 Amazon EC2 執行個體或 DocumentDB 叢集。如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》中的[刪除 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/delete-vpc.html)。

**刪除 VPC 和相關資源**

1. 刪除子網路群組：

   1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) 開啟 Amazon DocumentDB 主控台。

   1. 在導覽窗格中選擇 **Subnet groups (子網路群組)**。

   1. 選取您要刪除的子網路群組，例如 **example-dual-stack-cluster-subnet-group**。

   1. 選擇 **Delete** (刪除)，然後在確認視窗中選擇 **Delete** (刪除)。

1. 請記下 VPC ID：

   1. 開啟位於 https：//[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com//vpc) 的 Amazon VPC 主控台。

   1. 選擇 **VPC 儀表板**，然後選擇**您的 VPCs**。

   1. 在清單中，識別您建立的 VPC，例如 **vpc-example-dual-stack**。

   1. 請記下您所建立的 VPC 的 **VPC ID**。在稍後的步驟中，您需要 VPC ID。

1. 刪除安全群組：

   1. 開啟位於 https：//[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com//vpc) 的 Amazon VPC 主控台。

   1. 選擇 **VPC Dashboard** (VPC 儀表板)，然後選擇 **Security Groups** (安全群組)。

   1. 選取 Amazon DocumentDB 叢集的安全群組，例如 **example-dual-stack-securitygroup**。

   1. 針對**動作**，選擇**刪除安全群組**，然後在確認對話方塊中選擇**刪除**。

   1. 返回**安全群組**頁面，選取 Amazon EC2 執行個體的安全群組，例如 **example-securitygroup**。

   1. 針對**動作**，選擇**刪除安全群組**，然後在確認對話方塊中選擇**刪除**。

1. 刪除 NAT 閘道：

   1. 開啟位於 https：//[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com//vpc) 的 Amazon VPC 主控台。

   1. 選擇 **VPC Dashboard** (VPC 儀表板)，然後選擇 **Security Groups** (安全群組)。

   1. 選取您建立之 VPC 的 NAT 閘道。使用 VPC ID 識別正確的 NAT 閘道。

   1. 若為 **Actions (動作)**，選擇 **Delete NAT gateway (刪除 NAT 閘道)**。

   1. 在確認對話方塊中，輸入 **delete**，然後選擇**刪除**。

1. 刪除 VPC

   1. 開啟位於 https：//[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com//vpc) 的 Amazon VPC 主控台。

   1. 選擇 **VPC 儀表板**，然後選擇**您的 VPCs**。

   1. 選取您要刪除的 VPC，例如 **vpc-example-dual-stack**。

   1. 針對**動作**，選擇刪除 VPC。

      確認頁面會顯示與 VPC 相關聯的其他資源，這些資源也將遭到刪除，包括與其相關聯的子網路。

   1. 在確認對話方塊中，輸入 **delete**，然後選擇**刪除**。

1. 釋出彈性 IP 地址：

   1. 在 https：//[https://console.aws.amazon.com/ec2](https://console.aws.amazon.com//ec2) 開啟 EC2 主控台。

   1. 選擇 **EC2 Dashboard** (EC2 儀表板)，然後選擇 **Elastic IPs** (彈性 IP)。

   1. 選取您要釋放的彈性 IP 地址。

   1. 若為 **Actions (動作)**，選擇 **Release Elastic IP addresses (釋放彈性 IP 地址)**。

   1. 在確認對話方塊中，選擇**釋出**。