

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

# 搭配藍/綠部署使用 RDS Proxy
<a name="rds-proxy-blue-green"></a>

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

## 使用 RDS Proxy 時的切換
<a name="rds-proxy-blue-green-switchover"></a>

當您的藍色執行個體連接至 RDS Proxy 時，切換期間會發生下列程序：
+ 切換護欄
  + Amazon RDS 會執行額外的護欄檢查，以驗證代理是否可以成功到達藍色和綠色環境，並準備好進行切換。
+ 切換期間的應用程式流量路由

  如需切換動作的清單，請參閱[切換動作](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/blue-green-deployments-switching.html#blue-green-deployments-switching-actions)。當透過 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`反映更新的目標，即使流量路由較早發生。

## 限制
<a name="rds-proxy-blue-green-limitations"></a>
+ 建立藍/綠部署之前，您的藍執行個體必須已經是代理的目標。為該執行個體建立藍/綠部署之後，您就無法將藍執行個體新增至 RDS Proxy。