

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

# MemoryDB 和 Amazon VPC
<a name="vpcs"></a>

Amazon Virtual Private Cloud (Amazon VPC) 服務會定義虛擬網路，與傳統資料中心幾乎一模一樣。當您使用 Amazon VPC 設定虛擬私有雲端 (VPC) 時，您可以選取其 IP 地址範圍、建立子網路，以及設定路由表、網路閘道和安全設定。您也可以將叢集新增至虛擬網路，並使用 Amazon VPC 安全群組控制對叢集的存取。

本節說明如何在 VPC 中手動設定 MemoryDB 叢集。此資訊適用於希望深入了解 MemoryDB 和 Amazon VPC 如何一起運作的使用者。

**Topics**
+ [了解 MemoryDB VPCs](vpcs.mdb.md)
+ [在 Amazon VPC 中存取 MemoryDB 叢集的存取模式](memorydb-vpc-accessing.md)
+ [建立 Virtual Private Cloud (VPC)](VPCs.creatingVPC.md)

# 了解 MemoryDB VPCs
<a name="vpcs.mdb"></a>

MemoryDB 與 Amazon VPC 完全整合。對於 MemoryDB 使用者，這表示下列事項：
+ MemoryDB 一律會在 VPC 中啟動您的叢集。
+ 如果您是初次使用 AWS，系統會自動為您建立預設 VPC。
+ 如果您有預設的 VPC，且在啟動叢集時未指定子網路，叢集會於預設 Amazon VPC 啟動。

如需詳細資訊，請參閱[偵測支援的平台以及您是否有預設 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#detecting-platform)。

透過 Amazon VPC，您可以在 AWS 雲端中建立與傳統資料中心非常相似的虛擬網路。您可以設定 VPC，包括選取其 IP 地址範圍、建立子網路，以及設定路由表、網路閘道和安全設定。

MemoryDB 管理軟體升級、修補、故障偵測和復原。

## VPC 中的 MemoryDB 概觀
<a name="memorydbandvpc.overview"></a>
+ VPC 是 AWS 雲端的隔離部分，會指派自己的 IP 地址區塊。
+ 網際網路閘道會將您的 VPC 直接連線至網際網路，並提供其他 AWS 資源的存取權，例如在 VPC 外部執行的 Amazon Simple Storage Service (Amazon S3)。
+ Amazon VPC 子網路是 VPC 的 IP 地址範圍區段，您可以根據安全和操作需求隔離 AWS 資源。
+ Amazon VPC 安全群組會控制 MemoryDB 叢集和 Amazon EC2 執行個體的傳入和傳出流量。
+ 您可以在子網路中啟動 MemoryDB 叢集。節點具有來自子網路位址範圍的私有 IP 地址。
+ 您也可以在子網路中啟動 Amazon EC2 執行個體。每個 Amazon EC2 執行個體具有來自子網路之地址範圍的私有 IP 地址。Amazon EC2 執行個體可以連線到相同子網路中的任何節點。
+ 若要從網際網路存取 VPC 中的 Amazon EC2 執行個體，您需要將稱為彈性 IP 地址的靜態公有地址指派給執行個體。

## 先決條件
<a name="memorydbandvpc.prereqs"></a>

若要在 VPC 內建立 MemoryDB 叢集，您的 VPC 必須符合下列要求：
+ 您的 VPC 必須允許非專用 Amazon EC2 執行個體。您無法在為專用執行個體租用設定的 VPC 中使用 MemoryDB。
+ 必須為您的 VPC 定義子網路群組。MemoryDB 使用該子網路群組來選取該子網路內的子網路和 IP 地址，以與您的節點建立關聯。
+ 必須為您的 VPC 定義安全群組，或者您可以使用提供的預設值。
+ 每個子網路的 CIDR 區塊必須足夠大，才能為 MemoryDB 提供備用 IP 地址，以便在維護活動期間使用。

## 路由和安全性
<a name="memorydbandvpc.routingandsecurity"></a>

您可以在 VPC 中設定路由，以控制流量流向 （例如，至網際網路閘道或虛擬私有閘道）。透過網際網路閘道，您的 VPC 可以直接存取 VPC 中未執行的其他 AWS 資源。如果您選擇只有連線至組織本機網路的虛擬私有閘道，您可以透過 VPN 路由網際網路繫結流量，並使用本機安全政策和防火牆來控制輸出。在這種情況下，當您透過網際網路存取 AWS 資源時，會產生額外的頻寬費用。

您可以使用 Amazon VPC 安全群組，協助保護 Amazon VPC 中的 MemoryDB 叢集和 Amazon EC2 執行個體。 Amazon EC2 安全群組會在執行個體層級 (而非子網路層級) 以防火牆形式運作。

**注意**  
我們強烈建議您使用 DNS 名稱來連線至節點，因為基礎 IP 地址可能會隨著時間而變更。

## Amazon VPC 文件
<a name="memorydbandvpc.vpcdocs"></a>

Amazon VPC 有專屬的一套文件，說明如何建立和使用 Amazon VPC。下表顯示在 Amazon VPC 指南中尋找資訊的位置。


| 描述 | 文件 | 
| --- | --- | 
| 如何開始使用 Amazon VPC | [Amazon VPC 入門](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) | 
| 如何透過 使用 Amazon VPC AWS 管理主控台 | 《[Amazon VPC 使用者指南](https://docs.aws.amazon.com/vpc/latest/userguide/)》 | 
| 所有 Amazon VPC 命令的完整描述 | [Amazon EC2 命令列參考](https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/) (Amazon VPC 命令均列在 Amazon EC2 參考中) | 
| Amazon VPC API 作業、資料類型和錯誤的完整描述 | [Amazon EC2 API 參考](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/) (Amazon VPC API 作業均列在 Amazon EC2 參考中) | 
| 需要在選用的 IPsec VPN 連線中的您那一端設定閘道之網路管理員的資訊 | [什麼是 AWS Site-to-Site VPN？](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) | 

如需更多 Amazon Virtual Private Cloud 的詳細資訊，請參閱 [Amazon Virtual Private Cloud](https://aws.amazon.com/vpc/)。

# 在 Amazon VPC 中存取 MemoryDB 叢集的存取模式
<a name="memorydb-vpc-accessing"></a>

MemoryDB 支援下列案例來存取 Amazon VPC 中的叢集：

**Contents**
+ [當 MemoryDB 叢集和 Amazon EC2 執行個體位於相同的 Amazon VPC 時，存取該叢集](#memorydb-vpc-accessing-same-vpc)
+ [當 MemoryDB 叢集和 Amazon EC2 執行個體位於不同的 Amazon VPCs 時，存取該叢集](#memorydb-vpc-accessing-different-vpc)
  + [在相同區域的不同 Amazon VPC 中](#memorydb-vpc-accessing-different-vpc-same-region)
    + [使用 Transit Gateway](#memorydb-vpc-accessing-using-transit-gateway)
  + [不同區域內的不同 Amazon VPC 中](#memorydb-vpc-accessing-different-vpc-different-region)
    + [使用傳輸 VPC](#memorydb-vpc-accessing-different-vpc-different-region-using-transit-vpc)
+ [從客戶資料中心執行的應用程式存取 MemoryDB 叢集](#memorydb-vpc-accessing-data-center)
  + [使用 VPN 連線](#memorydb-vpc-accessing-data-center-vpn)
  + [使用 Direct Connect](#memorydb-vpc-accessing-data-center-direct-connect)

## 當 MemoryDB 叢集和 Amazon EC2 執行個體位於相同的 Amazon VPC 時，存取該叢集
<a name="memorydb-vpc-accessing-same-vpc"></a>

最常見的使用案例是部署於 EC2 執行個體的應用程式時，需要連線至相同 VPC 中的叢集。

若要管理相同 VPC 中 EC2 執行個體與叢集之間的存取權限，最簡單的方式如下：

1. 為您的叢集建立 VPC 安全群組。此安全群組可用來限制對叢集的存取。舉例來說，您可以為此安全群建置立自訂規則，允許使用您在建立自訂規則時指派給叢集的連接埠存取 TCP，並可建立您將用於存取叢集的 IP 位址。

   MemoryDB 叢集的預設連接埠為 `6379`。

1. 為您的 EC2 執行個體建立 VPC 安全群組 (Web 和應用程式伺服器)。若有需要，此安全群組可允許透過 VPC 路由表存取網際網路上的 EC2 執行個體。舉例來說，您可以在此安全群組上設定規則，允許 TCP 透過連接埠 22 存取 EC2 執行個體。

1. 在叢集的安全群組中建立自訂規則，以允許來自您為 EC2 執行個體建立之安全群組的連線。這樣做會允許安全群組的所有成員存取叢集。

**在允許來自其他安全群組連線的 VPC 安全群組中建立規則**

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

1. 在左導覽窗格中，選擇 **Security Groups** (安全群組)。

1. 選取或建立您要用於叢集的安全群組。在 **Inbound Rules (傳入規則)** 下方，選取 **Edit Inbound Rules (編輯傳入規則)**，然後選取 **Add Rule (新增規則)**。此安全群組將允許其他安全群組成員存取。

1. 從 **Type (類型)** 選擇 **Custom TCP Rule (自訂 TCP 規則)**。

   1. 針對 **Port Range (連接埠範圍)**，指定您在建立叢集時所使用的連接埠。

      MemoryDB 叢集的預設連接埠為 `6379`。

   1. 在 **Source (來源)** 方塊中輸入安全群組的 ID。從清單中選取您將用於 Amazon EC2 執行個體的安全群組。

1. 完成後，請選擇 **Save (儲存)**。

## 當 MemoryDB 叢集和 Amazon EC2 執行個體位於不同的 Amazon VPCs 時，存取該叢集
<a name="memorydb-vpc-accessing-different-vpc"></a>

當您的叢集與您用來存取叢集的 EC2 執行個體位於不同的 VPC 中時，有幾種方式可存取叢集。如果叢集和 EC2 執行個體位於不同的 VPCs但位於相同的區域，您可以使用 VPC 對等互連。如果叢集和 EC2 執行個體位於不同區域，您可以在區域之間建立 VPN 連線。

**Topics**
+ [在相同區域的不同 Amazon VPC 中](#memorydb-vpc-accessing-different-vpc-same-region)
+ [不同區域內的不同 Amazon VPC 中](#memorydb-vpc-accessing-different-vpc-different-region)

 

### 當 MemoryDB 叢集和 Amazon EC2 執行個體位於相同區域中的不同 Amazon VPCs 時，存取該叢集
<a name="memorydb-vpc-accessing-different-vpc-same-region"></a>

*由相同區域不同 Amazon VPC 中的 Amazon EC2 執行個體存取的叢集 - VPC 對等互連連線*

VPC 對等連線是指兩個 VPC 之間的網路連線，透過此機制，您就可以使用私有 IP 地址在兩者之間路由流量。這兩個 VPC 中的執行個體能彼此通訊，有如位於相同網路中一樣。您可以在自己的 Amazon VPCs 對等互連，或使用單一區域內另一個 AWS 帳戶中的 Amazon VPC。若要進一步了解 Amazon VPC 對等互連，請參閱 [VPC 說明文件](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-peering.html)。

**透過對等互連存取不同 Amazon VPC 中的叢集**

1. 請確保兩個 VPC 沒有重疊的 IP 範圍，否則您將無法為其建立互連連線。

1. 為兩個 VPC 建立互連連線。如需詳細資訊，請參閱[建立和接受 Amazon VPC 對等互連連線](https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/create-vpc-peering-connection.html)。

1. 更新您的路由表。如需詳細資訊，請參閱[更新 VPC 互連連線的路由表](https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-routing.html)

1. 修改 MemoryDB 叢集的安全群組，以允許來自對等 VPC 中應用程式安全群組的傳入連線。如需詳細資訊，請參閱[參考對等 VPC 安全群組](https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-security-groups.html)。

透過互連連線存取叢集，將產生額外的資料傳輸費用。

 

#### 使用 Transit Gateway
<a name="memorydb-vpc-accessing-using-transit-gateway"></a>

傳輸閘道可讓您在相同區域中連接 VPCs 和 VPN 連線， AWS 並在它們之間路由流量。傳輸閘道可跨 AWS 帳戶運作，您可以使用 AWS Resource Access Manager 與其他帳戶共用傳輸閘道。與其他 AWS 帳戶共用傳輸閘道之後，帳戶擁有者可以將 VPCs連接至您的傳輸閘道。這些帳戶的使用者均可隨時刪除連接。

您可以在傳輸閘道上啟用多點傳送，然後建立傳輸閘道多點傳送網域，讓多點傳送流量可透過與網域相關聯的 VPC 連接，從多點傳送來源傳送至多點傳送群組成員。

您也可以在不同 AWS 區域中的傳輸閘道之間建立對等連線連接。這可讓您跨不同區域在傳輸閘道附件之間路由流量。

如需詳細資訊，請參閱[傳輸閘道](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html)。

### 當 MemoryDB 叢集和 Amazon EC2 執行個體位於不同區域中的不同 Amazon VPCs時，存取該叢集
<a name="memorydb-vpc-accessing-different-vpc-different-region"></a>

#### 使用傳輸 VPC
<a name="memorydb-vpc-accessing-different-vpc-different-region-using-transit-vpc"></a>

對於將多個在地理上分散的 VPC 和遠端網路進行連線，取代 VPC 對等互連的替代常用策略是建立做為全球網路傳輸中心的傳輸 VPC。傳輸 VPC 會簡化網路管理，並最大程度減少連線多個 VPC 和遠端網路所需的連線數。此設計可以節省時間和精力並降低費用，因為實際上不具有在託管傳輸中樞建立實體存在或部署實體網路設備的傳統支出。

*位於不同區域不同 VPC 之間的連線*

建立 Transit Amazon VPC 後，一個區域中部署在「輻」VPC 中的應用程式可以連接到另一個區域中「輻」VPC 中的 MemoryDB 叢集。

**在不同區域內存取不同 VPC 中的叢集 AWS**

1. 部署傳輸 VPC 解決方案。如需詳細資訊，請參閱 [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/)。

1. 更新應用程式和 VPC 中的 VPCs 路由表，以透過 VGW （虛擬私有閘道） 和 VPN 設備路由流量。在使用邊界閘道協定 (BGP) 的動態路由情況下，您的路由可能會自動傳播。

1. 修改 MemoryDB 叢集的安全群組，以允許從應用程式執行個體 IP 範圍傳入連線。請注意，在此情況下，您將無法參考應用程式伺服器安全群組。

跨區域存取叢集將造成聯網延遲，並產生額外跨區域數據傳輸費。

## 從客戶資料中心執行的應用程式存取 MemoryDB 叢集
<a name="memorydb-vpc-accessing-data-center"></a>

另一個可能的情況是混合架構，其中客戶資料中心的用戶端或應用程式可能需要存取 VPC 中的 MemoryDB 叢集。如果客戶 VPC 與資料中心之間具有透過 VPN 或 Direct Connect 的連線，則此情況也受支援。

**Topics**
+ [使用 VPN 連線](#memorydb-vpc-accessing-data-center-vpn)
+ [使用 Direct Connect](#memorydb-vpc-accessing-data-center-direct-connect)

 

### 使用 VPN 連線從客戶資料中心執行的應用程式存取 MemoryDB 叢集
<a name="memorydb-vpc-accessing-data-center-vpn"></a>

*透過 VPN 從資料中心連線至 MemoryDB *

**透過 VPN 連接從現場部署應用程式存取 VPC 中的叢集**

1. 透過將硬體虛擬私有閘道新增至您的 VPC 來建立 VPN 連線。如需詳細資訊，請參閱[將硬體虛擬私有閘道新增至您的 VPC](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)。

1. 更新部署 MemoryDB 叢集之子網路的 VPC 路由表，以允許來自內部部署應用程式伺服器的流量。在使用 BGP 的動態路由情況下，您的路由可能會自動傳播。

1. 修改 MemoryDB 叢集的安全群組，以允許從內部部署應用程式伺服器傳入連線。

透過 VPN 連接存取叢集將造成聯網延遲，並產生額外跨區域數據傳輸費。

 

### 使用 Direct Connect 從客戶資料中心執行的應用程式存取 MemoryDB 叢集
<a name="memorydb-vpc-accessing-data-center-direct-connect"></a>

*透過 Direct Connect 從資料中心連線至 MemoryDB *

**使用 Direct Connect 從網路中執行的應用程式存取 MemoryDB 叢集**

1. 建立 Direct Connect 連線。如需詳細資訊，請參閱 [AWS Direct Connect 入門](https://docs.aws.amazon.com/directconnect/latest/UserGuide/getting_started.html)。

1. 修改 MemoryDB 叢集的安全群組，以允許從內部部署應用程式伺服器傳入連線。

透過 DX 連線存取叢集可能造成聯網延遲，並產生額外跨區域數據傳輸費。

# 建立 Virtual Private Cloud (VPC)
<a name="VPCs.creatingVPC"></a>

在此範例中，您會根據 Amazon VPC 服務，為每個可用區域建立具有私有子網路的虛擬私有雲端 (VPC)。

## 建立 VPC （主控台）
<a name="VPCs.creatingVPCclusters.viewdetails"></a>

**在 Amazon Virtual Private Cloud 內建立 MemoryDB 叢集**

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

1. 在 VPC 儀表板中，選擇 **Create VPC** (建立 VPC)。

1. 在**要建立的資源**之下，選擇 **VPC 等**。

1. 在 **Number of Availability Zones (AZs)** (可用區域 (AZ) 數量) 中，選擇您要在其中啟動子網路的可用區域數量。

1. 在 **Number of public subnets** (公有子網路數量) 中，選擇您要新增至 VPC 的公用子網路數量。

1. 在 **Number of private subnets** (私有子網路數量) 中，選擇您要新增至 VPC 的私人子網路數量。
**提示**  
記下您的子網路識別符，分別為公有和私有。之後啟動叢集和將 Amazon EC2 執行個體新增到 Amazon VPC 時，您會需要此資訊。

1. 建立 Amazon VPC 安全群組。您將針對叢集和 Amazon EC2 執行個體使用此群組。

   1. 在 的左側導覽窗格中 AWS 管理主控台，選擇**安全群組**。

   1. 選擇**建立安全群組**。

   1. 在對應的方塊中輸入安全群組的名稱和描述。針對 **VPC**，選擇 VPC 的識別符。

   1. 當您滿意設定後，請選擇 **Yes, Create (是，建立)**。

1. 為您的安全群組定義網路傳入規則。此規則將允許您使用 Secure Shell (SSH) 連接至 Amazon EC2 執行個體。

   1. 在左導覽窗格中，選擇 **Security Groups** (安全群組)。

   1. 在清單中找到您的安全群組，然後選擇它。

   1. 在 **Security Group (安全群組)** 下，選擇 **Inbound (入站)** 標籤。在 **Create a new rule (建立新規則)** 方塊中，選擇 **SSH**，然後選擇 **Add Rule (新增規則)**。

      針對您的新傳入規則設定下列值，允許透過 HTTP 存取：
      + 類型：HTTP
      + 資源來源：0.0.0.0/0

   1. 針對您的新傳入規則設定下列值，允許透過 HTTP 存取：
      + 類型：HTTP
      + 資源來源：0.0.0.0/0

      選擇 **Apply Rule Changes (套用規則變更)**。

現在您已準備好建立[子網路群組](https://docs.aws.amazon.com/memorydb/latest/devguide/subnetgroups.html)，並在 VPC 中[建立叢集](https://docs.aws.amazon.com/memorydb/latest/devguide/getting-started.createcluster.html)。