本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
規劃在哪裡使用 RDS Proxy
您可以決定哪些資料庫執行個體、叢集和應用程式可能因為使用 RDS Proxy 而獲益最大。若要執行這項操作,請考慮下列因素:
-
任何遇到「線數太多」錯誤的資料庫叢集都是與代理關聯的理想候選者。這通常以高度
ConnectionAttempts
CloudWatch 量值為特徵。代理讓應用程式能開啟多個用戶端連線,代理則管理較少數量到資料庫叢集的長時間連線。 -
對於使用較小叢集,使用 Proxy 可協助避免 out-of-memory 情況。它也可以協助減少建立連線的 CPU 額外負荷。處理大量連線時,可能會發生這些情況。
-
您可以監控某些 Amazon CloudWatch 指標,以判斷資料庫叢集是否接近特定類型的限制。這些限制是指連線數目以及與連線管理相關聯的記憶體。您也可以監視某些 CloudWatch 指標,以判斷資料庫叢集是否正在處理許多短期連線。開啟和關閉這類連線可能會對資料庫造成效能負荷。如需欲監控指標的相關資訊,請參閱 使用 Amazon 監控 RDS 代理指標 CloudWatch。
-
AWS Lambda 函數也是搭配代理使用的理想候選者。這些函數經常進行短暫的資料庫連線,這些連線將受益於 RDS Proxy 提供的連線集區。您可以利用 Lambda 函數中已有的任何 IAM 身分驗證,而不是在 Lambda 應用程式的程式碼中管理資料庫登入資料。
-
通常會大量開啟和關閉的資料庫連線,而且沒有內建的連線集區機制的應用程式,都很適合使用 proxy。
-
長期保持大量連線開啟的應用程式通常是搭配代理使用的理想候選者。軟體即服務 (SaaS) 或電子商務等產業中的應用程式通常會保持連線開啟,將資料庫要求的延遲降至最低。使用 RDS Proxy,應用程式在直接連線至資料庫叢集時,可以保持更多的連線開啟。
-
您可能因為針對所有資料庫叢集設定身分驗證的複雜性,尚未採用 IAM 身分驗證和 Secrets Manager。如果是這樣,您可以保留現有的身分驗證方法,並將身分驗證委派給代理。代理可以針對特定應用程式強制執行用戶端連線的身分驗證政策。您可以利用 Lambda 函數中已有的任何 IAM 身分驗證,而不是在 Lambda 應用程式的程式碼中管理資料庫登入資料。
-
RDS Proxy 可協助讓應用程式對資料庫失敗更具彈性且更為透明。RDS Proxy 會略過網域名稱系統 (DNS) 快取,將 Aurora Multi-AZ 資料庫的容錯移轉時間縮短高達 66%。RDS Proxy 也會自動將流量路由到新的資料庫執行個體,同時保留應用程式連線。這使得應用程式的容錯移轉更加透明。