View a markdown version of this page

搭配藍/綠部署使用 RDS Proxy - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

搭配藍/綠部署使用 RDS Proxy

Amazon RDS Proxy 可與藍/綠部署搭配使用,以減少切換停機時間。RDS Proxy 透過保持對切換程序的意識,並在連線成為作用中的生產環境後自動重新導向至綠色環境,來消除資料庫轉換期間通常會發生的 DNS 傳播延遲。RDS Proxy 支援 RDS for PostgreSQL、RDS for MySQL 和 RDS for MariaDB 的藍/綠部署。不需要變更應用程式碼或自訂用戶端驅動程式。

使用 RDS Proxy 時的切換

當您的藍色執行個體連接至 RDS Proxy 時,切換期間會發生下列程序:

  • 切換護欄

    • Amazon RDS 會執行額外的護欄檢查,以驗證代理是否可以成功到達藍色和綠色環境,並準備好進行切換。

  • 切換期間的應用程式流量路由

    如需切換動作的清單,請參閱切換動作。當透過 RDS Proxy 進行切換時,請注意下列考量:

    • 在切換期間,在提升綠色環境之前,藍色資料庫會進入唯讀模式。在此轉換期間,RDS Proxy 會繼續將連線路由至藍色資料庫。

    • 在此期間,RDS for MySQL 上的寫入操作可能會傳回唯讀錯誤。例如,1290 (HY000): The MySQL server is running with the —read-only option它無法執行此陳述式。在 RDS for PostgreSQL 上,讀取和寫入查詢會傳回 AdminShutdown,因為管理員命令而終止連線。

    • 一旦偵測到切換,代理會自動將流量路由到新提升的綠色環境。

    • 當綠色環境提升為新的寫入器時,代理的現有連線會遭到捨棄。應用程式必須在提升完成後重新建立連線。

    • 您可以檢閱 RDS Proxy 的 CloudWatch 日誌,以查看此轉換行為的發生時間。

  • RDS Proxy API 行為

    • 等代理 APIs 只會在切換完全完成後describe-db-proxy-targets反映更新的目標,即使流量路由較早發生。

限制

  • 建立藍/綠部署之前,您的藍執行個體必須已經是代理的目標。為該執行個體建立藍/綠部署之後,您就無法將藍執行個體新增至 RDS Proxy。