使用 Amazon Aurora Global Database - Amazon Aurora

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

使用 Amazon Aurora Global Database

Amazon Aurora 全球資料庫跨越多個資料庫 AWS 區域,可實現低延遲的全域讀取,並從可能影響整個資料庫的罕見中斷中提供快速復原 AWS 區域。Aurora 全域資料庫在一個區域中具有主要資料庫叢集,以及在不同區域中具有最多五個次要資料庫叢集。

Amazon Aurora 全域資料庫的概觀

透過使用 Amazon Aurora 全域資料庫,您可以使用跨多個 AWS 區域 的單一 Aurora 資料庫來執行全域分散式應用程式。

Aurora 全域資料庫包含一個寫入資料 AWS 區域 的主要資料庫,以及最多五個唯讀要資料庫 AWS 區域。在主要 AWS 區域 中,您將寫入操作直接發佈至主要資料庫叢集。Aurora AWS 區域 使用專用基礎架構將資料複製到次要基礎架構,延遲通常不到一秒。

在下圖中,您可以找到跨越兩個範例 Aurora 全域資料庫 AWS 區域。

Aurora 全域資料庫具有單一主要和至少一個次要 Aurora 資料庫叢集。

您可以透過新增一或多個 Aurora 複本 (唯讀 Aurora 資料庫執行個體) 來提供唯讀工作負載,以獨立擴充每個次要叢集。

只有主要叢集會執行寫入操作。執行寫入操作的用戶端會連接到主要資料庫叢集的資料庫叢集端點。如圖所示,Aurora 全域資料庫會使用叢集儲存磁碟區,而非資料庫引擎進行複寫。如需進一步了解,請參閱Amazon Aurora 儲存體的概觀

Aurora 全域資料庫專為擁有全球足跡的應用程式所設計。唯讀次要資料庫叢集 (AWS 區域) 可讓您支援更接近應用程式使用者的讀取操作。使用寫入轉送功能,您也可以設定 Aurora 全球資料庫,讓次要叢集將資料傳送至主要叢集。如需詳細資訊,請參閱 在 Amazon Aurora 全域資料庫中使用寫入轉送

Aurora 全球資料庫支援兩種變更主要資料庫叢集區域的操作,可視情況使用:全球資料庫轉換全球資料庫容錯移轉

  • 對於計劃的操作程序,例如區域輪換,使用全球資料庫轉換 (舊稱為「受管計畫容錯移轉」)。使用此功能,您可以將運作狀態良好的 Aurora 全域資料庫的主要叢集,重新放置到其中一個次要區域,而不會遺失資料。如需進一步了解,請參閱 針對 Amazon Aurora 全球資料庫執行轉換

  • 若要在主要區域發生中斷後復原 Aurora 全球資料庫,使用全球資料庫容錯移轉。透過此功能,您可將主要資料庫叢集容錯移轉至另一個區域 (跨區域容錯移轉)。如需進一步了解,請參閱 針對 Aurora 全球資料庫執行受管容錯移轉

Amazon Aurora 全域資料庫的優點

Aurora 全球資料庫所提供的優點如下:

  • 以本機延遲提供全域讀取 – 如果您在世界各地設有辦公室,可以使用 Aurora 全域資料庫,在主要 AWS 區域 中保持主要資訊來源的最新狀態。其他區域的辦公室可以在本地延遲的情況下存取自己區域中的資訊。

  • 可擴展次要 Aurora 資料庫叢集 – 您可以將更多唯讀執行個體 (Aurora 複本) 新增至次要 AWS 區域 來擴展次要叢集。次要叢集是唯讀的,因此它最多可支援 16 個唯讀 Aurora 複本執行個體,而不是單一 Aurora 叢集通常的 15 個複本限制。

  • 從主要資料庫叢集快速複寫到次要 Aurora 資料庫叢集 – Aurora 全域資料庫執行的複寫對主要資料庫叢集的效能影響不大。資料庫執行個體的資源完全投入處理應用程式讀取與寫入工作負載。

  • 從全區域中斷中復原 – 次要叢集可讓您建立可用於新的主要 AWS 區域 的 Aurora 全域資料庫,相較於傳統複寫解決方案,這個方法更快 (較低的 RTO),且資料遺失率較低 (較低的 RPO)。

區域和版本可用性

功能可用性和支援會因每個 Aurora 資料庫引擎的特定版本以及 AWS 區域 而有所不同。如需 Aurora 和全域資料庫版本和區域可用性的詳細資訊,請參閱 Aurora 全域資料庫支援的區域和資料庫引擎

Amazon Aurora 全域資料庫的限制

Aurora 全球資料庫目前有下列限制:

  • Aurora 全域資料庫僅適用於特定的 Aurora MySQL 和 Aurora PostgreSQL 版本。 AWS 區域 如需詳細資訊,請參閱 Aurora 全域資料庫支援的區域和資料庫引擎

  • Aurora 全球資料庫對支援的 Aurora 資料庫執行個體類別、 AWS 區域 數目上限等具有特定的組態需求。如需詳細資訊,請參閱 Amazon Aurora Global Database 的組態需求

  • 對於具有 MySQL 5.7 相容性的 Aurora MySQL,Aurora 全域資料庫轉換需要 2.09.1 版或更高版本的次要版本。

  • 只有在主要和次要資料庫叢集具有相同的主要、次要和修補程式等級引擎版本時,您才可以在 Aurora 全域資料庫上執行受管理的跨區域轉換或容錯移轉。但是,如果次要引擎版本為下列其中一個,則修補程式等級可能會有所不同。

    資料庫引擎 次要引擎版本

    Aurora PostgreSQL

    • 14.5 版或更新的次要版本

    • 13.8 版或更新的次要版本

    • 12.12 版或更新的次要版本

    • 11.17 版或更新的次要版本

    如需詳細資訊,請參閱 受管跨區域轉換和容錯移轉的修補程式等級相容性

  • Aurora 全域資料庫目前不支援下列 Aurora 功能:

    • Aurora Serverless v1

    • Aurora 中的回溯功能

  • 如需使用 RDS 代理功能搭配全域資料庫的限制,請參閱 RDS Proxy 搭配全域資料庫的限制

  • 次要版本自動升級不適用於 Aurora 全球資料庫的 Aurora MySQL 和 Aurora PostgreSQL 叢集。請注意,您可以為全球資料庫叢集的資料庫執行個體指定此設定,但設定沒有任何作用。

  • Aurora 全域資料庫目前不支援次要資料庫叢集的 Aurora Auto Scaling。

  • 若要在執行 Aurora MySQL 5.7 的 Aurora 全域資料庫上使用資料庫活動串流,引擎版本必須是 2.08 或更高版本。如需資料庫活動串流的相關資訊,請參閱 使用資料庫活動串流來監控 Amazon Aurora.

  • 下列限制目前適用於升級 Aurora 全球資料庫:

    • 在執行 Aurora 全域資料庫的主要版本升級時,無法為全域資料庫叢集套用自訂參數群組。您可於全域叢集的每個區域中建立自訂參數群組,然後在升級後手動將其套用至區域叢集。

    • 使用以 Aurora MySQL 為基礎的 Aurora 全域資料庫時,若啟用 lower_case_table_names 參數,即無法從 Aurora MySQL 第 2 版就地升級至第 3 版。如需詳細了解您可以使用的方法,請參閱 主要版本升級

    • 使用以 Aurora PostgreSQL 為基礎的 Aurora 全域資料庫時,如果啟用復原點目標 (RPO) 功能,就無法執行 Aurora 資料庫引擎的主要版本升級。如需 RPO 功能的相關資訊,請參閱 管理 Aurora PostgreSQL – 全域資料庫的 RPO

    • 使用以 Aurora MySQL 為基礎的 Aurora 全域資料庫時,無法使用標準程序,將 3.01 或 3.02 版進行次要版本升級至 3.03 版或更高版本。如需此程序的詳細資訊,請參閱 透過修改引擎版本升級 Aurora MySQL

    如需升級 Aurora 全域資料庫相關資訊,請參閱 升級 Amazon Aurora 全域資料庫

  • 您無法單獨停止或啟動 Aurora 全域資料庫中的 Aurora 資料庫叢集。如需進一步了解,請參閱 停用和啟動 Amazon Aurora 資料庫叢集

  • 在某些情況下,連接到次要 Aurora 資料庫叢集的 Aurora 複本可以重新啟動。如果主要 AWS 區域的寫入器資料庫執行個體重新啟動或容錯移轉,次要區域中的 Aurora 複本也會重新啟動。然後,次要叢集將無法使用,直到所有複本都與主要資料庫叢集的寫入器執行個體同步。重新啟動或容錯移轉時,主要叢集的行為與單一非全域資料庫叢集的行為相同。如需詳細資訊,請參閱 以 Amazon Aurora 進行複寫

    在對主要資料庫叢集進行變更之前,請您務必了解對 Aurora 全域資料庫的影響。如需進一步了解,請參閱 從計劃外中斷復原 Amazon Aurora 全域資料庫

  • 當 Amazon Aurora 失去對資料庫叢集 AWS KMS 金鑰的存取權時,Aurora 全域資料庫目前不支援此inaccessible-encryption-credentials-recoverable狀態。在這類情況下,加密的資料庫叢集會直接進入終端 inaccessible-encryption-credentials 狀態。如需這些狀態的詳細資訊,請參閱 檢視資料庫叢集狀態

  • 在 Aurora 全域資料庫中執行的 Aurora PostgreSQL 型資料庫叢集具有以下限制:

    • 屬於 Aurora 全域資料庫一部分的 Aurora PostgreSQL 資料庫叢集不支援叢集快取管理。

    • 如果 Aurora 全域資料庫的主要資料庫叢集是以 Amazon RDS PostgreSQL 執行個體的複本為基礎,則無法建立次要叢集。請勿嘗試使用 AWS Management Console、或 CreateDBCluster API 作業從該叢集建立次要。 AWS CLI嘗試執行這項操作逾時,無法建立次要叢集。

建議您使用與主要資料庫相同版本的 Aurora 資料庫引擎,建立 Aurora 全域資料庫的次要資料庫叢集。如需更多詳細資訊,請參閱 建立 Amazon Aurora 全域資料庫