Amazon RDS Proxy

讓您的應用程式更具可擴展性、彈性與安全性

為什麼選擇 Amazon RDS Proxy?

Amazon Relational Database Service (Amazon RDS) 是用於 Amazon RDS 的全受管的、高度可用的資料庫代理,讓應用程式更具擴展性、資料庫失敗的恢復能力更強、並且更安全。

許多應用程式包括建立在現代無伺服器架構的應用程式,都可以與資料庫伺服器建立大量開啟的連線,並且可能以高速率開啟和關閉資料庫連接,從而耗盡資料庫記憶體與運算資源。Amazon RDS Proxy 允許應用程式集區化和共用與資料庫建立的連線,從而提升資料庫效率和應用程式可擴展性。使用 Amazon RDS Proxy,Amazon Aurora 和 Amazon RDS 資料庫的容錯移轉時間最多減少了 66%,並且可以通過與 AWS Secrets Manager 和 AWS Identity and Access Management (IAM) 整合來管理資料庫憑證、身份驗證及存取。

Amazon RDS Proxy 可針對多數應用程式啟用,而無需變更程式碼。您無需佈建或管理任何其他基礎架構即可開始使用 Amazon RDS Proxy。定價很簡單,並根據基礎資料庫執行個體的容量而定。針對 Amazon Aurora Serverless v2 執行個體,您可按照 Aurora 容量單位 (ACU) 付費,或針對佈建執行個體的每個 vCPU 付費。Amazon RDS Proxy 適用於 Amazon Aurora PostgreSQL – 相容版本、Amazon Aurora MySQL – 相容版本、Amazon RDS for PostgreSQL、Amazon RDS for MySQL、Amazon RDS for MariaDB 和 Amazon RDS for SQL Server。

Amazon RDS Proxy 的優勢

Amazon RDS Proxy 執行個體會維護 Amazon RDS 資料庫執行個體的已建立連線集區,進而在建立新連線時,減少通常會產生的資料庫運算及記憶體資源壓力。Amazon RDS Proxy 也會共用不常使用的資料庫連線,因此存取 Amazon RDS 資料庫的連線較少。這種連線集區化可讓您的資料庫有效支援大量且高頻率的應用程式連線,以便應用程式可在不影響效能的情況下擴展。
Amazon RDS Proxy 會自動連線新資料庫執行個體,同時保留應用程式連線,減輕因停電影響資料庫可用性的情況,進而將應用程式中斷降至最低。當發生容錯移轉時,Amazon RDS Proxy 會直接路由請求到新資料庫執行個體。這可將 Aurora 與 Amazon RDS 資料庫的容錯移轉時間縮短最高 66%。Amazon RDS Proxy 還利用兩個可讀待機支援多可用區域,一般能在 35 秒內實現容錯移轉,寫入延遲改善 2 倍,增加讀取容量並且將次要版本升級的停機時間通常降至不到 1 秒。
Amazon RDS Proxy 可讓您選擇強制執行 IAM 驗證以進行資料庫存取,並避免將資料庫憑證硬式編碼到應用程式程式碼,讓您擁有資料安全性的額外控制權。Amazon RDS Proxy 還讓您能夠運用 Secrets Manager 集中管理資料庫憑證。
資料庫代理伺服器有助於處理資料庫的額外負載。儘管傳統代理伺服器可讓應用程式更有效擴展,但卻難以部署、修補及管理,並耗費本可用於開發優質產品的時間與精力。Amazon RDS Proxy 可為您提供資料庫代理的好處,而無需修補及管理您自己代理伺服器的額外負擔。Amazon RDS Proxy 完全無伺服器,可自動擴展以便適應您的工作負載。
Amazon RDS Proxy 完全相容支援的資料庫引擎通訊協定,因此您可為應用程式部署 Amazon RDS Proxy,而無需變更應用程式程式碼。您僅需將應用程式連線指向代理,而非 Amazon RDS 資料庫,其餘一切即可順暢進行管理。

使用案例

無伺服器應用程式開發

由於 Amazon RDS Proxy 可以更有效率的方式運用關聯式資料庫,因此您可用以組建更具可擴展性與可用性的無伺服器應用程式。現代無伺服器應用程式支援高度變化的工作負載,且可能嘗試開啟一組高載新資料庫連線,或保持許多連線開啟但閒置。連線暴增或大量開放連線可能對資料庫伺服器造成壓力,導致查詢較慢,並限制應用程式的可擴展性。透過集區化及共用已建立的資料庫連線,Amazon RDS Proxy 可讓您從無伺服器應用程式有效擴展至更多連線。Amazon RDS Proxy 可讓您透過控制開啟的資料庫連接總數,來維持可預測的資料庫效能。最後,由於無法提供服務的應用程式連線可能降低資料庫效能,因此 Amazon RDS Proxy 會拒絕此類連線,以保留無伺服器應用程式的可用性。

軟體即服務 (SaaS) 與電子商務應用程式

SaaS 或電子商務應用程式通常會保持大量資料庫連線開啟,以便確保快速的使用者回應時間,儘管在特定時刻可能僅少部分的開啟連線獲積極使用。這些開啟但閒置的連線仍會消耗資料庫記憶體與運算資源。您可以使用 Amazon RDS Proxy 來保留來自您應用程式的閒置連線,而僅在作用中的請求需要時才建立資料庫連接,而不是為支援大多數空閒連接過度佈建資料庫。

具有不可預測工作負載的應用程式

支援高度變化的工作負載的應用程式可能會突然開啟大量新的資料庫連線。Amazon RDS Proxy 中的連線管控讓客戶可以透過高效地重用資料庫連線,來適當地擴展應用程式,以應對不可預測的工作負載。首先,Amazon RDS Proxy 使多個應用程式連接可以共享資料庫連接,以充分利用資料庫資源。其次,Amazon RDS Proxy 讓客戶可以透過調節開啟的資料庫連線數,來維持可預測的資料庫效能。第三,Amazon RDS Proxy 會移除無法提供服務的應用程式請求,以維持應用程式的整體效能和可用性。