如何使用 psql 連線 AWS RDS PostgreSQL 並在容器與 Pod 中操作

前言 在現代雲端架構中,資料庫通常部署在受保護的私有網路環境(Private Subnet)中,以提升安全性。AWS RDS(Relational Database Service)作為主流的托管資料庫服務,提供了多種連線方式,但對於初學者來說,如何在不同環境(本機、Docker、Kubernetes)中正確連線到 RDS 往往充滿挑戰。 這篇文章將深入探討: AWS RDS 網路架構:公有子網 vs 私有子網的差異 直接連線方式:當 RDS 設為 Publicly Accessible 時 SSH 隧道(SSH Tunneling):透過 Bastion Host 連線私有 RDS 容器環境連線:在 Docker 和 Kubernetes Pod 中使用 psql psql 完整命令參考:從基礎查詢到進階操作 安全最佳實踐:如何保護資料庫連線與憑證 常見問題排查:連線失敗的系統化診斷方法 無論你是在本機開發、容器化部署、或是 Kubernetes 叢集中操作,這篇文章都能幫助你建立安全可靠的資料庫連線。 AWS RDS 網路架構概覽 在開始連線之前,我們需要理解 AWS RDS 的網路架構。RDS 實例可以部署在不同的網路環境中,每種配置都有不同的連線方式和安全考量。 公有子網 vs 私有子網 兩種部署方式的比較 特性 公有子網 (Publicly Accessible) 私有子網 (Private) 直接連線 ✅ 可以從網際網路直接連線 ❌ 無法直接連線 安全性 ⚠️ 較低,暴露在公網 ✅ 高,完全隔離 連線方式 psql 直連 需要 Bastion Host / VPN 適用場景 開發測試環境 生產環境(推薦) 成本 RDS 費用 RDS + Bastion Host 費用 維護複雜度 低 中等(需管理 Bastion) 最佳實踐: ...

May 26, 2025 · 17 分鐘 · Peter