我正在使用 Amazon Relational Database Service (Amazon RDS) 多可用區域部署。為什麼在容錯移轉後,我無法與 RDS 資料庫執行個體通訊? 我該如何避免這種情況?
簡短說明
當您使用多可用區域部署時,Amazon RDS 會在與子網路相關聯的某個可用區域中建立主要資料庫執行個體。然後,Amazon RDS 會在與不同子網路相關聯的不同可用區域中建立待命資料庫執行個體。
如果主要執行個體的子網路與待命資料庫執行個體的子網路具有不同的流量路由規則,您可能會在容錯移轉後遇到連線問題。若要避免這些連線問題,請確認資料庫子網路群組中的子網路具有路由表中定義的一致路由規則。
若要確認資料庫子網路群組中的子網路具有一致的路由規則,請將子網路與一個路由表建立關聯。若要使用與相同路由表相關聯的子網路建立資料庫子網路群組,請依照以下步驟操作:
- 建立 Amazon Virtual Private Cloud (Amazon VPC)。
- 建立網際網路閘道,並將其連接到您的 VPC。
- 在每個可用區域中建立子網路。
- 建立通往網際網路閘道的路由。
- 將子網路與路由表建立關聯。
- 建立與 VPC 相關聯的資料庫子網路群組。
**注意:**還有其他問題也可能導致資料庫執行個體發生連線問題。如需疑難排解 Amazon RDS 連線問題的其他方式,請參閱如何解決連線到 Amazon RDS 資料庫執行個體時發生的問題?
解決方法
建立 VPC
- 開啟 Amazon VPC console (Amazon VPC 主控台)。
- 從導覽窗格中,選擇 Your VPCs (您的 VPC)。
- 選擇 Create VPC (建立 VPC)。
- 在 Name tag (名稱標籤),輸入 VPC 的名稱。
- 在 IPv4 CIDR block (IPv4 CIDR 區塊),輸入 CIDR 區塊。
- 在 IPv6 CIDR block (IPv6 CIDR 區塊),選擇 No IPv6 CIDR Block (沒有 IPv6 CIDR 區塊)。
- 在 Tenancy (租用),選擇 Default (預設)。
- 選擇 Yes, Create (是,建立)。
建立網際網路閘道,並將其連接到您的 VPC
依照建立和連接網際網路閘道中的步驟操作。
在每個可用區域中建立子網路
- 開啟 Amazon VPC console (Amazon VPC 主控台)。
- 從導覽窗格中,選擇「子網路」。
- 選擇 Create Subnet (建立子網路)。
- 在 Name tag (名稱標籤),輸入子網路的名稱。
- 在 VPC,選擇您建立的 VPC。
- 在 Availability Zone (可用區域),選擇 VPC 中的一個可用區域。
- 在 IPv4 CIDR block (IPv4 CIDR 區塊),輸入 VPC CIDR 的 CIDR 區塊子集。
- 選擇 Yes, Create (是,建立)。
- 對 VPC 中的每個可用區域重複步驟 2 到 8。
建立通往網際網路閘道的路由
- 開啟 Amazon VPC console (Amazon VPC 主控台)。
- 從導覽窗格中,選擇「路由表」。
- 從資源清單中,選擇與您建立的 VPC 相關聯的路由表。
- 選擇 Routes (路由) 索引標籤。然後,選擇 Edit (編輯)。
- 選擇 Add another route (新增另一個路由)。
- 在 Destination (目的地),輸入 0.0.0.0/0。
- 在 Target (目標),選擇您建立的網際網路閘道。
- 選擇 Save (儲存)。
將子網路與路由表建立關聯
- 選取您的路由表,然後選擇 Subnet Associations (子網路關聯) 索引標籤。
- 選擇 Edit (編輯)。
- 對 VPC 中的所有子網路選取 Associate (建立關聯)。
- 選擇 Save (儲存)。
建立與 VPC 相關聯的資料庫子網路群組
- 開啟 Amazon Aurora and RDS console (Amazon Aurora and RDS 主控台)。
- 從導覽窗格中,選擇 Subnet Groups (子網路群組)。
- 選擇 Create DB Subnet Group (建立資料庫子網路群組)。
- 在 Name (名稱),輸入資料庫子網路群組的名稱。
- 在 Description (描述),輸入資料庫子網路群組的描述。
- 在 VPC,選擇您建立的 VPC。
- 在 Availability Zone (可用區域),選擇一個可用區域。
- 在 Subnet ID (子網路 ID),選擇與您先前選擇的可用區域對應的子網路。
- 選擇 Add (新增)。
- 對您的子網路重複步驟 7 到 9。
**注意:**如果您想要將 VPC 的所有子網路新增至子網路群組,則可以略過步驟 7 到 9。請改為選擇 Add all subnets related to this VPC (新增與此 VPC 相關的所有子網路),將此 VPC 的所有子網路新增至子網路群組。
- 選擇 Create (建立)。
建立資料庫子網路群組後,您可以在相關聯的 VPC 中啟動多可用區域資料庫執行個體。由於資料庫子網路群組中的子網路與相同的路由表相關聯,因此執行個體現在具有一致的路由規則。
相關資訊
Amazon RDS 的高可用性 (多可用區域)