當我嘗試從其他 AWS 服務連線時,我的 Amazon Relational Database Service (Amazon RDS) for PostgreSQL 資料庫執行個體傳回連線逾時錯誤。我無法與我的資料庫建立連線。
若要解決 RDS for PostgreSQL 連線逾時錯誤,請檢查您的資料庫端點組態、網路設定和安全群組。根據您的連線設定完成以下解決方法。
請確認您使用資料庫執行個體的正確端點和連接埠。如需尋找端點和連接埠資訊,請參閱尋找 Amazon RDS 資料庫執行個體的連線資訊。
若要授予資料庫存取權限,請以您的 AWS 帳戶管理使用者身分連線到資料庫。然後,執行以下命令:
GRANT CONNECT ON DATABASE database_name TO user_name;
**注意:**將 database_name 替換為您的資料庫名稱,並將 user_name 替換為您要授予存取權限的資料庫使用者。
如果您的資料庫執行個體可公開存取,請確認您已開啟 Public access (公開存取) 選項,以及其路由表中的網際網路閘道。
如果您的資料庫執行個體位於私有子網路中,請確認您擁有具備 NAT 閘道路由以供網際網路存取的路由表。如果您從不同的虛擬私有雲端 (VPC) 連線,請建立 VPC 對等互連。
若要對網路問題進行疑難排解,請使用 Reachability Analyzer。
確認您的安全群組規則允許來自來源 IP 位址或安全群組的流量通過您的資料庫連接埠。連接埠 5432 是 RDS for PostgreSQL 資料庫的預設連接埠。檢查您的網路存取控制清單 (網路 ACL) 規則,確認其允許資料庫連接埠上的傳入和傳出流量。
如果您透過轉送連線從 AWS 外部連線,您的防火牆可能會封鎖連往資料庫連接埠的連線。請與您的網路管理員協調,以允許對您資料庫執行個體端點與連接埠的傳出連線。
如需如何修改資料庫連接埠的資訊,請參閱修改 Amazon RDS 資料庫執行個體。
從您的本機電腦或 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,執行以下命令以檢查連接埠是否正在使用:
netstat -tuln | grep 5432
**注意:**如果您使用不同的連接埠,請將 5432 替換為您的資料庫連接埠號碼。
如果連接埠正在使用,輸出會顯示使用該連接埠的連接埠和程序。您可以停止本機服務,或修改您的資料庫執行個體以使用不同的連接埠。
使用 AWS Systems Manager Automation 來識別 Amazon EC2 執行個體與您的資料庫執行個體之間的連線問題。此自動化會檢查您的執行個體狀態、子網路 CIDR、網路 ACL、安全群組和路由表。如需更多資訊,請參閱如何使用 AWSSupport-TroubleshootConnectivityToRDS Systems Manager 自動化執行手冊,設定來源 Amazon RDS 資料庫與 Amazon EC2 目標之間的 TroubleshootConnectivityToRDS?
**注意:**此自動化不會驗證臨時連接埠或特定連接埠設定。
無法連線到 Amazon RDS 資料庫執行個體
使用安全群組控制存取
錯誤 – 無法連線到伺服器: 連線逾時