

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

# 建立IPv4-only的 VPC 以與 DocumentDB 叢集搭配使用
<a name="docdb-vpc-create-ipv4"></a>

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

**Topics**
+ [步驟 1：建立具有私有和公有子網路的 VPC](#vpc-private-public-subnets)
+ [步驟 2：為公有應用程式建立 VPC 安全群組](#create-vpc-sg-public)
+ [步驟 3：建立私有叢集的 VPC 安全群組](#create-vpc-sg-private)
+ [步驟 4：建立子網路群組](#create-cluster-subnet-group)
+ [刪除 VPC](#docdb-delete-vpc)

您的叢集必須僅適用於您的應用程式，而非公有網際網路。因此，您建立同時包含公有和私有子網路的 VPC。應用程式託管在公有子網路中，因此可以連線到公有網際網路。叢集託管在私有子網路中。應用程式可以連接到叢集，因為它託管在相同的 VPC 中。但公有網際網路無法使用叢集，可提供更高的安全性。

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

本主題說明為 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)。

**提示**  
您可以在建立叢集時，自動設定 Amazon EC2 執行個體與 DocumentDB 叢集之間的網路連線。網路組態類似於本案例所述的組態。如需詳細資訊，請參閱[自動連接 Amazon EC2](connect-ec2-auto.md)。

## 步驟 1：建立具有私有和公有子網路的 VPC
<a name="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**
   + **IPv4 CIDR 區塊** — **10.0.0.0/16**
   + **IPv6 CIDR 區塊** — **無 IPv6 CIDR 區塊**
   + **租用** — **預設**
   + **可用區域 (AZs) 的數量** — **2**
   + **自訂 AZs** — 保留預設值
   + **公有子網路數量** — **2**
   + **私有子網路的數量** — **2**
   + **自訂子網路 CIDR 區塊** — 保留預設值
   + **NAT 閘道 ($)** — **無**
   + **VPC 端點** — **無**
   + **DNS 選項** — 保留預設值

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

## 步驟 2：為公有應用程式建立 VPC 安全群組
<a name="create-vpc-sg-public"></a>

接著，建立用於公開存取的安全群組。若要連線至 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-securitygroup**
   + **描述** — **Application security group**
   + **VPC** — 選擇您先前建立的 VPC，例如：**vpc-example**。

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

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

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

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

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

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

   1. 為您的新傳入規則設定下列值，以允許 HTTP 存取您的應用程式：
      + **類型** — **HTTP**
      + **來源** — **0.0.0.0/0**

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

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

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

若要保持叢集的私密性，請建立第二個安全群組以進行私有存取。若要連線至 VPC 中的私有叢集，請將傳入規則新增至 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-securitygroup**
   + **描述** — **Instance security group**
   + **VPC** — 選擇您先前建立的 VPC，例如：**vpc-example**

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

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

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

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

   1. 為您的新傳入規則設定下列值，以允許 HTTP 存取您的應用程式：
      + **類型** — **HTTP**
      + **來源** — **0.0.0.0/0**

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

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

子網路群組是您在 VPC 中建立，然後為叢集指定的子網路集合。子網路群組可讓您在建立叢集時指定特定的 VPC。

**建立子網路群組**

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-subnet-private1-us-west-2a** 和 **example-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-db-subnet-group**
   + **描述** — **Instance security group**

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

1. 選擇**建立**。

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

**注意**  
如果您建立此 VPC 以與 DocumentDB 叢集建立關聯，請依照 中的指示建立叢集[建立 Amazon DocumentDB 叢集](db-cluster-create.md)。

## 刪除 VPC
<a name="docdb-delete-vpc"></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-db-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**。

   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-securitygroup**。

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

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

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

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**。

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

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

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