

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

# 教學課程：建立要與資料庫執行個體搭配使用的 VPC (僅限 IPv4)
<a name="CHAP_Tutorials.WebServerDB.CreateVPC"></a>

常用案例包括以 Amazon VPC 服務為基礎的虛擬私有雲端 (VPC) 中的資料庫執行個體。此 VPC 與在相同 VPC 中執行的 Web 伺服器共用資料。在本教學課程中，您會針對此案例建立 VPC。

此案例可以下列圖表顯示。如需其他案例的相關資訊，請參閱[在 VPC 中存取資料庫執行個體的案例](USER_VPC.Scenarios.md)。

![\[單一 VPC 案例\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp.png)


您的資料庫執行個體僅需供您的 Web 伺服器使用，無需供公有網際網路使用。因此，您建立同時包含公有和私有子網路的 VPC。Web 伺服器是在公有子網路中託管，以便它可以到達公有網際網路。資料庫執行個體被託管於私有子網路中。Web 伺服器可連線至資料庫執行個體，因為其託管於相同 VPC 中。但是，公有網際網路無法使用資料庫執行個體，提供更高的安全性。

本教學課程會在單獨的可用區域中設定額外的公有子網路和私有子網路。教學課程不會使用這些子網路。RDS 資料庫子網路群組需要至少兩個可用區域中的子網路。額外的子網路可讓您在未來更輕鬆地切換到多可用區域資料庫執行個體部署。

本教學課程說明為 Amazon RDS 資料庫執行個體配置 VPC。如需展示如何為此 VPC 案例建立 Web 伺服器的教學課程，請參閱[教學：建立 Web 伺服器和 Amazon RDS 資料庫執行個體](TUT_WebAppWithRDS.md)。如需 Amazon VPC 的詳細資訊，請參閱 [Amazon VPC 入門指南](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/)和 [Amazon VPC 使用者指南](https://docs.aws.amazon.com/vpc/latest/userguide/)。

**提示**  
當您建立資料庫執行個體時，您可以在 Amazon EC2 執行個體和資料庫執行個體之間自動設定網路連線。網路組態與本教學課程中描述的組態類似。如需詳細資訊，請參閱 [設定與 EC2 執行個體的自動網路連線](USER_CreateDBInstance.md#USER_CreateDBInstance.Prerequisites.VPC.Automatic)。 

## 建立含私有和公有子網路的 VPC
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.VPCAndSubnets"></a>

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

**建立 VPC 和子網路**

1. 在 [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 設定)，設定這些值：
   + **Name tag auto-generation** (自動產生名稱標籤) – **tutorial**
   + **IPv4 CIDR block** (IPv4 CIDR 區塊) – **10.0.0.0/16**
   + **IPv6 CIDR block** (IPv6 CIDR 區塊) – **No IPv6 CIDR Block** (無 IPv6 CIDR 區塊)
   + **Tenancy** (租用) – **Default** (預設)
   + **Number of Availability Zones (AZs)** (可用區域 (AZ) 的數量) – **2**
   + **Customize AZs** (自訂可用區域) - 保留預設值。
   + **Number of public subnet** (公有子網路數量) – **2**
   + **Number of private subnets** (私有子網路數量) – **2**
   + **Customize subnets CIDR blocks** (自訂子網路 CIDR 區塊) – 保留預設值。
   + **NAT gateways (\$1)** (NAT 閘道 (\$1)) – **None** (無)
   + **VPC endpoints** (VPC 端點) – **None** (無)
   + **DNS options** (DNS 選項) – 保留預設值。
**注意**  
Amazon RDS 需要至少兩個不同可用區域中的子網路，以支援多可用區域資料庫執行個體部署。本教學課程會建立單一可用區部署，但這項需求可讓您更輕鬆地在未來轉換為多可用區域資料庫執行個體部署。

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

## 建立公有 Web 伺服器的 VPC 安全群組
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupEC2"></a>

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

**建立 VPC 安全群組**

1. 在 [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 (建立安全群組)** 頁面上，設定下列值：
   + **安全群組名稱：****tutorial-securitygroup**
   + **描述:** **Tutorial Security Group**
   + **VPC:** 選擇您先前建立的 VPC，例如：**vpc-*識別符* (tutorial-vpc)** 

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 執行個體。若是這麼做，則您可以連線至 Amazon EC2 執行個體來安裝 Web 伺服器和其他公用程式。您也會連線至 EC2 執行個體來上傳 Web 伺服器的內容。
      + **類型:** **SSH**
      + **Source (來源):** 來自步驟 a 的 IP 地址或範圍，例如：**203.0.113.25/32**。

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

   1. 針對您的新傳入規則設定下列值，以允許透過 HTTP 存取您的 Web 伺服器。
      + **Type (類型)**：**HTTP**
      + **來源**：**0.0.0.0/0**

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

   請記下安全群組 ID，因為稍後在本教學中會需要它。

## 建立私有資料庫執行個體的 VPC 安全群組
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB"></a>

若要讓您的資料庫執行個體保持私有，請建立第二個安全群組供私有存取。若要連接至 VPC 中的私有資料庫執行個體，請將傳入規則新增至 VPC 安全群組，僅允許來自 Web 伺服器的流量。

**建立 VPC 安全群組**

1. 在 [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 (建立安全群組)** 頁面上，設定下列值：
   + **安全群組名稱：****tutorial-db-securitygroup**
   + **描述:** **Tutorial DB Instance Security Group**
   + **VPC:** 選擇您先前建立的 VPC，例如：**vpc-*識別符* (tutorial-vpc)**

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

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

   1. 針對您的新傳入規則設定下列值，來允許連接埠 3306 上來自 Amazon EC2 執行個體的 MySQL 流量。如果這樣做，您可以從 Web 伺服器連線至資料庫執行個體。這樣做，您可以將 Web 應用程式中的資料存放並擷取至資料庫。
      + **Type (類型)**：**MySQL/Aurora**
      + **Source** (來源)： 您先前在本教學課程中建立的 **tutorial-securitygroup** 安全群組的識別符，例如：**sg-9edd5cfb**。

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

## 建立資料庫子網路群組
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.DBSubnetGroup"></a>

*資料庫子網路群組*是您在 VPC 中建立，然後指派給資料庫執行個體的子網路的集合。資料庫子網路群組可讓您在建立資料庫執行個體時指定特定的 VPC。

**建立資料庫子網路群組**

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

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

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

   1. 記下名為 **tutorial-subnet-private1-us-west-2a** 和 **tutorial-subnet-private2-us-west-2b** 之子網路的子網路 ID。

      建立資料庫子網路群組時，您會需要這些子網路 ID。

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

   請確定您連接到 Amazon RDS 主控台，而非 Amazon VPC 主控台。

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

1. 選擇 **Create DB Subnet Group** (建立資料庫子網路群組)。

1. 在 **Create DB subnet group** (建立資料庫子網路群組) 頁面上，於 **Subnet group details** (子網路群組詳細資訊) 中設定下列值：
   + **名稱:** **tutorial-db-subnet-group**
   + **描述:** **Tutorial DB Subnet Group**
   + **VPC:** **tutorial-vpc (vpc-*識別符*)** 

1. 在 **Add subnets (新增子網路)** 區段中，選擇 **Availability Zones (可用區域)** 和 **Subnets (子網路)**。

   對於此教學課程，為 **Availability Zones** (可用區域) 選擇 **us-west-2a** 和 **us-west-2b**。對於 **Subnets** (子網路)，選擇您在上一個步驟找到的私有子網路。

1. 選擇**建立**。

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

**注意**  
如果您已建立此 VPC 以完成 [教學：建立 Web 伺服器和 Amazon RDS 資料庫執行個體](TUT_WebAppWithRDS.md)，請依照 [建立 Amazon RDS 資料庫執行個體](CHAP_Tutorials.WebServerDB.CreateDBInstance.md) 中的下列指示建立資料庫執行個體。

## 刪除 VPC
<a name="CHAP_Tutorials.WebServerDB.CreateVPC.Delete"></a>

為此教學課程建立 VPC 和其他資源後，如果不再需要這些資源，便可以將它們刪除。

**注意**  
若您在針對此教學課程建立的 VPC 中新增資源，則可能需要先刪除這些資源，才能刪除 VPC。例如，這些資源可能包括 Amazon EC2 執行個體或 Amazon RDS 資料庫執行個體。如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》中的[刪除 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Deleting)。

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

1. 刪除資料庫子網路群組。

   1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

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

   1. 選取您要刪除的資料庫子網路群組，例如 **tutorial-db-subnet-group**。

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

1. 請注意 VPC ID。

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

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

   1. 在清單中，找到您建立的 VPC，例如 **tutorial-vpc**。

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

1. 刪除安全群組。

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

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

   1. 選取 Amazon RDS 資料庫執行個體的安全群組，例如 **tutorial-db-securitygroup**。

   1. 若為 **Actions (動作)**，選擇 **Delete security groups (刪除安全群組)**，然後在確認頁面上選擇 **Delete (刪除)**。

   1. 在 **Security Groups** (安全群組) 頁面上，選取 Amazon EC2 執行個體的安全群組，例如 **tutorial-securitygroup**。

   1. 若為 **Actions (動作)**，選擇 **Delete security groups (刪除安全群組)**，然後在確認頁面上選擇 **Delete (刪除)**。

1. 刪除 VPC。

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

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

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

   1. 對於 **Actions (動作)**，請選擇 **Delete VPC (刪除 VPC)**。

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

   1. 在確認頁面上，輸入 **delete**，然後選擇 **Delete** (刪除)。