搭配 Aurora 全域資料庫使用 RDS Proxy - Amazon Aurora

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

搭配 Aurora 全域資料庫使用 RDS Proxy

Aurora 全域資料庫是跨多個 AWS 區域 的單一資料庫,允許低延遲的全域讀取,以及全區域中斷的災難復原。它為您的部署提供內建容錯,因為資料庫執行個體不依賴單一 AWS 區域,而是依賴多個區域和不同的可用區域。如需更多詳細資訊,請參閱 使用 Amazon Aurora Global Database

您可以搭配 Aurora 全域資料庫中的任何資料庫叢集使用 RDS Proxy。在開始一起使用這些功能之前,請確定您已熟悉下列資訊。

重要

如果資料庫叢集屬於已開啟寫入轉送的全域資料庫,請依配置給寫入轉送的配額減少代理的 MaxConnectionsPercent 值。寫入轉送配額是在資料庫叢集參數 aurora_fwd_writer_max_connections_pct 中設定的。如需寫入轉送的資訊,請參閱 在 Amazon Aurora 全域資料庫中使用寫入轉送

RDS Proxy 搭配全域資料庫的限制

當 Aurora 資料庫叢集已開啟寫入轉送時,RDS Proxy 不支援 aurora_replica_read_consistency 變數的 SESSION 值。設定此值可能會導致未預期的行為。

RDS Proxy 端點如何使用全域資料庫

當了解 RDS Proxy 端點如何使用全域資料庫時,您可以更妥善地管理搭配這兩個功能使用 Aurora 資料庫的應用程式。

對於將全域資料庫的主要叢集作為註冊目標的代理,代理端點的運作方式與任何 Aurora DB 叢集的運作方式相同。代理的讀取/寫入端點會將所有請求傳送至叢集的寫入器執行個體。代理的唯讀端點會將所有請求傳送至讀取器執行個體。如果讀取器在連線開啟時變成無法使用,RDS Proxy 會將連線上的後續查詢重新導向至另一個讀取器執行個體。對於將次要叢集作為註冊目標的代理,傳送至代理唯讀端點的請求也會傳送至讀取器執行個體。因為叢集沒有寫入器執行個體,所以傳送至讀取/寫入端點的請求會失敗,錯誤為 "The target group doesn't have any associated read/write instances"。

全球資料庫轉換和容錯移轉操作都涉及主要和其中一個次要資料庫叢集之間的角色切換。當選取的次要叢集成為新的主要叢集時,其中一個讀取器執行個體會提升為寫入器。此資料庫執行個體現在是全域叢集的新寫入器執行個體。請務必將應用程式的寫入操作重新導向至與新主要叢集相關聯之代理的適當讀取/寫入端點。此代理端點可能是預設端點或自訂讀取/寫入端點。

RDS Proxy 會透過讀取/寫入端點將所有要求排入佇列,並在新主要叢集的寫入器執行個體一旦可用,就會將這些請求傳送至其中。無論轉換或容錯移轉操作是否已完成,都會進行角色切換。在轉換或容錯移轉期間,舊主要叢集的代理預設端點仍會接受寫入操作。不過,該叢集一旦變成次要叢集,所有寫入操作就會失敗。若要了解如何以及何時執行特定的全球轉換域容錯移轉任務,請參閱下列主題: