

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

# 設定 Amazon Neptune 資料庫叢集所在的 Amazon VPC
<a name="get-started-vpc"></a>

*只能*在 Amazon Virtual Private Cloud (Amazon VPC) 中建立的 Amazon Neptune 資料庫叢集。其端點可在該 VPC 內存取，而且如果啟用 [Neptune 公有端點](neptune-public-endpoints.md)，也可以在 VPC 外部和網際網路存取。

有許多不同的方法可以設定 VPC，取決於您想要存取資料庫叢集的方式。

設定 Neptune 資料庫叢集所在的 VPC 時，要謹記以下幾點：
+ 您的 VPC 必須至少要有兩個[子網路](#security-vpc-add-subnets)。這些子網路必須位於兩個不同的可用區域 (AZ)。透過將叢集執行個體分散到至少兩個 AZ，Neptune 可協助確保即使在不大可能發生可用區域失敗的情況下，您的資料庫叢集內始終都有執行個體可用。Neptune 資料庫叢集的叢集磁碟區一律橫跨三個可用區域，以提供資料遺失可能性極低的耐久性儲存體。
+ 每個子網路中的 CIDR 區塊必須大到足以提供在維護活動、容錯移轉和擴展期間 Neptune 可能需要的 IP 地址。
+ VPC 必須具有一個資料庫子網路群組，其中包含您已建立的子網路。Neptune 會選擇子網路群組中的其中一個子網路，以及該子網路內的 IP 地址，以與資料庫叢集內的資料庫執行個體建立關聯。然後，資料庫執行個體位於與子網路相同的可用區域中。
+ VPC 應該[已啟用 DNS](#get-started-vpc-dns) (DNS 主機名稱和 DNS 解析)。
+ 您的 VPC 必須具有 [VPC 安全群組](#security-vpc-security-group)，允許存取您的資料庫叢集。
+ Neptune VPC 中的租用應設定為**預設值**。

## 將子網路新增至 Neptune 資料庫叢集所在的 VPC
<a name="security-vpc-add-subnets"></a>

子網路是您的 VPC 中的 IP 位址範圍。您可以將 Neptune 資料庫叢集或 EC2 執行個體等資源啟動至特定子網路。建立子網時，您需為該子網指定 IPv4 CIDR 區塊，其即是 VPC CIDR 區塊的子網。每個子網路必須完全位於某一可用區域 (AZ) 內，而且不得跨越多個區域。藉由在單獨的可用區域中啟動執行個體，您可以保護應用程式免於在單一區域發生失敗。如需詳細資訊，請參閱 [VPC 子網路文件](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)。

一個 Neptune 資料庫叢集需要至少兩個 VPC 子網路。

**將子網路新增至 VPC**

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

1. 在導覽窗格中，選擇 **Subnets** (子網)。

1. 在 **VPC 儀表板**中選擇**子網路**，然後選擇**建立子網路**。

1. 在**建立子網路**頁面上，選擇要在其中建立子網路的 VPC。

1. 在**子網路設定**下，進行下列選擇：

   1. 在**子網路名稱**下輸入新子網路的名稱。

   1. 選擇子網路的可用區域 (AZ)，或保留**無偏好設定**中的選擇。

   1. 在 **IPv4 CIDR 區塊**下輸入子網路的 IP 地址區塊。

   1. 如有需要，請將標籤新增至子網路。

   1. 選擇 

1. 如果您想要同時建立另一個子網路，請選擇**新增子網路**。

1. 選擇**建立子網路**以建立新的子網路。

## 在 Amazon Neptune 中設定 VPC
<a name="security-vpc-add-subnet-group"></a>

建立子網路群組。

**建立 Neptune 子網路群組**

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

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

1. 輸入新子網路群組的名稱和描述 (描述是必要的)。

1. 在 **VPC** 下，選擇您要在其中放置此子網路群組的 VPC。

1. 在**可用區域**下，選擇您要在其中放置此子網路群組的 AZ。

1. 在**子網路**下，將此可用區域中的一或多個子網路新增至此子網路群組。

1. 選擇**建立**來建立新的子網路群組。

## 使用 VPC 主控台建立安全群組
<a name="security-vpc-security-group"></a>

安全群組提供 VPC 中 Neptune 資料庫叢集的存取權。其作用就像相關聯資料庫叢集的防火牆，從執行個體層級控制傳入和傳出流量。根據預設，建立的資料庫執行個體具有防火牆和預設安全群組，可防止對其進行任何存取。若要啟用存取，您必須擁有具備其他規則的 VPC 安全群組。

下列程序說明如何新增自訂的 TCP 規則，指定 Amazon EC2 執行個體用來存取 Neptune 資料庫叢集的連接埠範圍和 IP 地址。您可以使用指派給 EC2 執行個體的 VPC 安全群組，而不是其 IP 地址。

**在主控台上建立 Neptune 的 VPC 安全群組**

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

1. 在主控台的右上角，選擇您要為 Neptune 建立 VPC 安全群組 AWS 的區域。在該區域的 Amazon VPC 資源清單中，應該會顯示至少一個 VPC 和多個子網路。如果沒有，表示您在該區域中沒有預設 VPC。

1. 在導覽窗格中，於**安全**下，選擇**安全群組**。

1. 選擇**建立安全群組**。在**建立安全群組**視窗中，輸入**安全群組名稱**、**描述**，以及 Neptune 資料庫叢集將位於其中之 VPC 的識別符。

1. 為要連線至 Neptune 資料庫叢集之 Amazon EC2 執行個體的安全群組新增傳入規則：

   1. 在**傳入規則**區域中，選擇**新增規則**。

   1. 在**類型**清單中，保持選取**自訂 TCP**。

   1. 在**連接埠範圍**方塊中，輸入 **8182**，這是 Neptune 的預設連接埠值。

   1. 在**來源**下，輸入您要從中存取 Neptune 的 IP 地址範圍 (CIDR 值)，或選擇現有的安全群組名稱。

   1. 如果需要新增更多 IP 地址或不同的連接埠範圍，請再次選擇**新增規則**。

1. 在 [傳出規則] 區域中，您也可以在需要時新增一或多個傳出規則。

1. 完成後，請選擇 **Create security group (建立安全群組)**。

當建立新的 Neptune 資料庫叢集時，您可以使用此新的 VPC 安全群組。

如果您使用預設 VPC，系統已經為您建立橫跨所有 VPC 子網路的預設子網路群組。當您在 Neptune 主控台中選擇**建立資料庫**時，除非您指定不同的 VPC，否則會使用預設 VPC。

## 確定您在 VPC 中具有 DNS 支援
<a name="get-started-vpc-dns"></a>

網域名稱系統 (DNS) 是一種在網際網路上用於解析為對應 IP 地址的標準名稱。DNS 主機名稱為獨特的電腦名稱並由主機名稱和網域名稱組成。DNS 伺服器會將 DNS 主機名稱解析為對應的 IP 地址。

請檢查以確定 VPC 中已同時啟用 DNS 主機名稱和 DNS 解析。VPC 網路屬性 `enableDnsHostnames` 和 `enableDnsSupport` 必須設定為 `true`. 要查看和修改這些屬性，請移至位於 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 VPC 主控台。

如需詳細資訊，請參閱[以 VPC 使用 DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)。

**注意**  
如果您使用的是 Route 53，請確認您的組態不會覆寫 VPC 中的 DNS 網路屬性。