本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配藍/綠部署使用 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。