如何疑難排解連線至 Aurora PostgreSQL 相容版資料庫叢集時,發生的連線逾時錯誤?
我想對連線至 Amazon Aurora PostgreSQL 相容版本資料庫叢集時,發生的連線逾時錯誤進行疑難排解。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
當您連線至 Aurora PostgreSQL 相容版資料庫叢集時,網路組態問題通常會導致連線逾時錯誤。若要識別並解決連線逾時問題,請採取以下動作。
檢查資料庫執行個體狀態
請完成以下步驟:
- 開啟 Amazon Relational Database Service (Amazon RDS) console (Amazon Relational Database Service (Amazon RDS) 主控台)。
- 在導覽窗格中,選擇 Databases (資料庫)。
- 在 Status (狀態) 欄中,確認您的 Aurora PostgreSQL 相容版資料庫執行個體處於可用狀態。<br id=hardline_break/> 重要: 如果執行個體未處於可用狀態,請先等待其變為可用,再繼續後續疑難排解。
檢查安全群組組態
若要同時檢查傳入和傳出規則,請完成以下步驟:
- 開啟 Amazon Elastic Compute Cloud (Amazon EC2) console (Amazon Elastic Compute Cloud (Amazon EC2) 主控台)。
- 在導覽窗格中,選擇 Security Groups (安全群組)。
- 選取與您的 Aurora PostgreSQL 相容版資料庫叢集相關聯的安全群組。
- 選擇 Inbound rules (傳入規則)。
- 確認存在一條規則,允許來自您用戶端 IP 位址或安全群組的流量,連接埠為 5432 或您的自訂連接埠。<br id=hardline_break/> 注意: 選擇 Edit inbound rules (編輯傳入規則),新增或修改接受所需流量的規則。
- 如果您從 Amazon EC2 執行個體連線,請選擇 Outbound rules (傳出規則)。
- 確認 Amazon EC2 執行個體的安全群組允許透過連接埠 5432,將傳出流量至 Aurora PostgreSQL 相容版叢集的安全群組。<br id=hardline_break/> 注意: 選擇 Edit outbound rules (編輯傳出規則),新增或修改接受所需流量的規則。
檢查網路 ACL 組態
若要檢查網路存取控制清單 (網路 ACL) 組態,請完成以下步驟:
- 開啟 Amazon Virtual Private Cloud (Amazon VPC) console (Amazon Virtual Private Cloud (Amazon VPC) 主控台)。
- 在導覽窗格中,選擇 Network ACLs (網路 ACL)。
- 選取與您的 Aurora PostgreSQL 相容版資料庫叢集子網路相關聯的網路 ACL。
- 同時選擇 Inbound rules (傳入規則) 和 Outbound rules (傳出規則),然後確認規則允許您的用戶端與資料庫之間透過連接埠 5432 傳送流量。
檢查路由表組態
若要檢查路由表組態,請完成以下步驟:
- 開啟 Amazon VPC console (Amazon VPC 主控台)。
- 在導覽窗格中,選擇 Route Tables (路由表)。
- 選取與您的 Aurora PostgreSQL 相容版資料庫叢集子網路相關聯的路由表。
- 確認無類別網域間路由是否存在一條指向正確目標的路由。
例如,目標可以是網際網路閘道、NAT 閘道或對等互連。如果您從不同的 VPC 或內部部署網路連線,請確認已設定必要的路由。
檢查 VPC 對等互連或傳輸閘道組態
如果您透過 VPC 對等互連從不同的 VPC 連線,請完成以下步驟:
- 依照 VPC 對等互連程序確認 VPC 之間已正確設定對等互連。
- 確認兩個 VPC 中的路由表具有必要的路由,以在其間導向流量。
- 確認兩個 VPC 中的安全群組接受所需流量。
如果您透過傳輸閘道從不同的 VPC 連線,請完成以下步驟:
- 依照設計最佳實務,確認已在 VPC 之間正確設定傳輸閘道。
- 確認所有 VPC 附加項目的路由表具有必要的路由,以在其間導向流量。
- 確認兩個 VPC 中的安全群組接受所需流量。
檢查 DNS 解析
如果您跨 VPC 連線,請確認已為 VPC 對等互連連線啟用 DNS 解析。
請完成以下步驟:
- 開啟 Amazon VPC console (Amazon VPC 主控台)。
- 在導覽窗格中,選擇 Peering connections (對等互連)。
- 選取您的對等互連。
- 選擇 Actions (動作),然後選擇 Edit DNS settings (編輯 DNS 設定)。
- 在 Edit DNS settings (編輯 DNS 設定) 區段中,允許請求者與接受者 VPC 的 DNS 解析。
檢查網際網路閘道 IP 位址
如果您嘗試從 VPC 外部連線,且叢集為公開存取,請完成以下步驟:
- 開啟 Amazon VPC console (Amazon VPC 主控台)。
- 在導覽窗格中,選擇 Internet gateways (網際網路閘道)。
- 找出您 VPC 的網際網路閘道,然後確認網際網路閘道處於已附加狀態。
- 選取您的網際網路閘道的 VPC ID。
- 在 Details (詳細資訊) 中,選取 Main route table (主要路由表)。
- 選擇 Routes (路由),然後確認存在一條目的地為 0.0.0.0/0 IP 位址,且指向目標網際網路閘道的路由。
測試與資料庫執行個體的連線
測試您的連線,以確認是否為網路相關或驗證相關問題。如果連線測試成功,那問題可能與您的資料庫憑證有關。
若要使用 telnet 測試網路連線,請執行以下命令:
telnet CLUSTER-ENDPOINT 5432
注意: 將 CLUSTER-ENDPOINT 替換為您的 Aurora PostgreSQL 相容版叢集端點,並將 5432 替換為您的資料庫連接埠。PostgreSQL 的預設資料庫連接埠為 5432。
當無法使用 telnet 測試網路連線時,請執行以下命令:
nc -zv CLUSTER-ENDPOINT 5432
注意: 將 CLUSTER-ENDPOINT 替換為您的 Aurora PostgreSQL 相容版叢集端點,並將 5432 替換為您的資料庫連接埠。
如果連線成功,表示您的安全群組設定正確。
注意: Amazon RDS 不接受 Internet Control Message Protocol (ICMP) 流量,包括 ping。
檢查「公開存取」組態
如果您從 VPC 外部連線至叢集,則叢集必須設定為公開存取。或者,您可以使用其他連線方法,例如堡壘主機或 AWS Direct Connect。
若要檢查叢集是否為公開存取,請完成以下步驟:
- 開啟 Amazon RDS console (Amazon RDS 主控台)。
- 在導覽窗格中,選擇 Databases (資料庫)。
- 選取您的 Aurora PostgreSQL 相容版叢集,然後選擇 Modify (修改)。
- 在 Connectivity (連線) 區段中,選擇 Additional configuration (其他組態)。
- 確認您將叢集設定為 Publicly accessible (公開存取)。
檢查 IP 位址衝突
確認您的本機網路與 VPC CIDR 範圍之間沒有 IP 位址衝突。如果存在衝突,您可能需要使用 NAT 或調整網路組態。
若要檢查 VPC 的 CIDR,請完成以下步驟:
- 開啟 Amazon VPC console (Amazon VPC 主控台)。
- 在導覽窗格中,選擇 Your VPCs (您的 VPC),然後選取您用於本機網路連線的 VPC。
- 選擇 CIDR 索引標籤,然後確認 CIDR 區塊未與您本機網路上的任何 IP 位址重疊。
使用 AWS CLI 檢查 VPC CIDR
若要使用 AWS CLI 描述 VPC CIDR 區塊,請執行以下 describe-vpcs AWS CLI 命令:
aws ec2 describe-vpcs \ --vpc-ids VPC-ID \ --region REGION
注意: 將 VPC-ID 替換為您的 VPC ID,並將 REGION 替換為您的 AWS 區域。
相關資訊
- 語言
- 中文 (繁體)

相關內容
已提問 2 年前
已提問 3 年前