Amazon Aurora 全域資料庫入門 - Amazon Aurora

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

Amazon Aurora 全域資料庫入門

要開始使用 Aurora 全域資料庫,首先決定要使用哪個 Aurora 資料庫引擎,以及在哪個 AWS 區域。只有某些 AWS 區域 的特定版本 Aurora MySQL 和 Aurora PostgreSQL 資料庫引擎支援 Aurora 全域資料庫。如需完整清單,請參閱Aurora 全域資料庫支援的區域和資料庫引擎

您可以使用下列其中一種方式建立 Aurora 全域資料庫:

  • 使用新的 Aurora 資料庫叢集和 Aurora 資料庫執行個體建立新的 Aurora 全域資料庫 – 您可以依照 建立 Amazon Aurora 全域資料庫 中的步驟執行此操作。建立主要 Aurora 資料庫叢集之後,請依照 將 AWS 區域 新增到 Amazon Aurora 全域資料庫 中的步驟新增次要 AWS 區域。

  • 使用支援 Aurora 全域資料庫功能的現有 Aurora 資料庫叢集,並向其新增 AWS 區域 – 只有當您現有的 Aurora 資料庫叢集使用支援 Aurora 全域模式的資料庫引擎版本或全域相容時,才能執行此操作。對於某些資料庫引擎版本,這種模式是明確的,但對於其他版本來說不是。

    選取 Aurora 資料庫叢集後,在 AWS Management Console 上確認是否可以針對 Action (動作) 選擇 Add region (新增區域)。如果可以,則可將該 Aurora 資料庫叢集用於您的 Aurora 全域叢集。如需更多詳細資訊,請參閱 將 AWS 區域 新增到 Amazon Aurora 全域資料庫

建立 Aurora 全域資料庫之前,建議您先了解所有組態需求。

Amazon Aurora Global Database 的組態需求

Aurora 全域資料庫至少跨越兩個 AWS 區域。主要 AWS 區域 支援具有一個寫入器 Aurora 資料庫執行個體的 Aurora 資料庫叢集。次要 AWS 區域 執行完全由 Aurora 複本組成的唯讀 Aurora 資料庫叢集。至少需要一個次要 AWS 區域,但 Aurora 全域資料庫最多可以有五個次要 AWS 區域。此資料表列出了 Aurora 全域資料庫中允許的 Aurora 資料庫叢集、Aurora 資料庫執行個體和 Aurora 複本上限。

描述 主要 AWS 區域 次要 AWS 區域

Aurora 資料庫叢集

1

5 (最大值)

寫入器執行個體

1

0

每個 Aurora 資料庫叢集的唯讀執行個體 (Aurora 複本)

15 (上限)

16 (總計)

唯讀執行個體 (允許的上限,給定的次要區域實際數量)

15 - s

s = 次要 AWS 區域 的總數

組成 Aurora 全域資料庫的 Aurora 資料庫叢集具有下列特定需求:

  • 資料庫執行個體類別需求 – Aurora 全域資料庫需要針對記憶體密集型應用程式最佳化的資料庫執行個體類別。如需有關記憶體最佳化的資料庫執行個體類別的資訊,請參閱資料庫執行個體類別。建議您使用 db.r5 或更高版本執行個體類別。

  • AWS 區域 需求 – Aurora 全域資料庫需要一個 AWS 區域 中的主要 Aurora 資料庫叢集,而在不同區域中至少有一個次要 Aurora 資料庫叢集。您最多可以建立五個次要 (唯讀) Aurora 資料庫叢集,而且每個叢集必須位於不同的區域。換句話說,Aurora 全域資料庫中沒有兩個 Aurora 資料庫叢集可以在同一個 AWS 區域。

  • 命名要求 – 您為每個 Aurora 資料庫叢集選擇的名稱在所有 AWS 區域 中必須是唯一的。即使它們位於不同的區域,您也無法為不同的 Aurora 資料庫叢集使用相同的名稱。

  • Aurora Serverless v2 的容量需求 - 對於採用 Aurora Serverless v2 的全球資料庫,主要 AWS 區域 中資料庫叢集所需的最小容量是 8 個 ACU。

您需要 AWS 帳戶,才能遵循本節中的程序。完成使用 Amazon Aurora 的設定任務。如需更多詳細資訊,請參閱 設定您的 Amazon Aurora 環境。您還需要完成其他初步步驟以建立任何 Aurora 資料庫叢集。如需進一步了解,請參閱建立 Amazon Aurora 資料庫叢集

建立 Amazon Aurora 全域資料庫

在某些情況下,您現有的 Aurora 佈建資料庫叢集可能在執行全域相容的 Aurora 資料庫引擎。如果是這樣,您可以在其中新增另一個 AWS 區域,來建立您的 Aurora 全域資料庫。若要這麼做,請參閱將 AWS 區域 新增到 Amazon Aurora 全域資料庫

如要使用 AWS Management Console、AWS CLI 或 RDS API 建立 Aurora 全域資料庫,請使用下列步驟。

建立 Aurora 全域資料庫的步驟首先是登入支援 Aurora 全域資料庫功能的 AWS 區域。如需完整清單,請參閱 Aurora 全域資料庫支援的區域和資料庫引擎

以下其中一個步驟是根據您的 Aurora 資料庫叢集的 Amazon VPC 選擇 Virtual Private Cloud (VPC)。若要使用您自己的 VPC,我們建議您事先建立它,以便您進行選擇。同時,建立任何相關子網路,並視需建立子網路群組和安全群組。若要了解如何進行,請參閱教學:建立要與資料庫執行個體搭配使用的 Amazon VPC

如需建立 Aurora 資料庫叢集的一般資訊,請參閱建立 Amazon Aurora 資料庫叢集

建立 Aurora 全域資料庫
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 選擇 Create database (建立資料庫)。在 Create database (建立資料庫) 頁面上,執行下列動作:

    • 若為資料庫建立方法,請選擇 Standard Create (標準建立)。(請勿選擇 Easy Create (輕鬆建立)。)

    • 針對引擎選項區段的 Engine type,請選擇適用的引擎類型:Aurora (MySQL 相容)Aurora (PostgreSQL 相容)

  3. 使用下列程序中的步驟繼續建立您的 Aurora 全域資料庫。

使用 Aurora MySQL 建立全域資料庫

下列步驟適用於 Aurora MySQL 的所有版本。

使用 Aurora MySQL 建立 Aurora 全域資料庫

完成 Create database (建立資料庫) 頁面。

  1. 對於 Engine options (引擎選項),請選擇下列項目:

    1. 展開 Show filters (顯示篩選條件),然後開啟 Show versions that support the global database feature (顯示支援全域資料庫功能的版本)。

    2. Engine Version (引擎版本) 中,選擇您要用於 Aurora 全域資料庫的 Aurora MySQL 版本。

      建立 Aurora MySQL 資料庫叢集時的引擎類型、引擎版本和版本選項的螢幕擷取畫面 (Aurora 全域資料庫的第一階段)。
  2. Templates (範本) 中,選擇 Production (生產)。或者,如果適合您的應用案例,您可以選擇 Dev/Test (開發/測試)。不要在生產環境中使用開發/測試。

  3. Settings (設定) 下,執行以下操作:

    1. 為資料庫叢集識別符輸入有意義的名稱。當您完成建立 Aurora 全域資料庫時,此名稱會識別主要資料庫叢集。

    2. 為資料庫執行個體輸入您自己的 admin 使用者帳戶密碼,或讓 Aurora 為您產生密碼。如果您選擇自動產生密碼,您會看到複製密碼的選項。

      建立全域資料庫時 Settings (設定) 選項的螢幕擷取畫面。
  4. 若為 DB instance class (資料庫執行個體類別),請選擇 db.r5.large 或其他記憶體最佳化資料庫執行個體類別。建議您使用 db.r5 或更高版本執行個體類別。

    資料庫執行個體類別的螢幕擷取畫面。
  5. 對於 Availability & durability (可用性和耐用性),我們建議您選擇在不同的可用區域 (AZ) 中讓 Aurora 建立 Aurora 複本。如果您現在沒有建立 Aurora 複本,則需要稍後再執行。

    可用性和耐用性的螢幕擷取畫面。
  6. 對於 Connectivity (連線),請根據定義此資料庫執行個體之虛擬聯網環境的 Amazon VPC 選擇 Virtual Private Cloud (VPC)。您可以選擇預設值來簡化此任務。

  7. 完成 Database authentication (資料庫驗證) 設定。若要簡化程序,您可以立即選擇 Password authentication (密碼身分驗證),稍後再設定 AWS Identity and Access Management (IAM)。

  8. 對於 Additional configuration (其他設定),請執行下列動作:

    1. 輸入 Initial database name (初始資料庫名稱) 的名稱,以建立此叢集的主要 Aurora 資料庫執行個體。這是 Aurora 主要資料庫叢集的寫入器節點。

      保留為資料庫叢集參數群組和資料庫參數群組選取的預設值,除非您有自己想要使用的自訂參數群組。

    2. 清除 Enable backtrack (啟用恢復功能) 核取方塊 (如果已選取)。Aurora 全域資料庫不支援恢復。否則,接受 Additional configuration (額外組態) 的其他預設設定。

  9. 選擇 Create database (建立資料庫)。

    Aurora 完成建立 Aurora 資料庫執行個體、其 Aurora 複本和 Aurora 資料庫叢集的程序可能需要幾分鐘的時間。您可以透過 Aurora 資料庫叢集的狀態,判斷該資料庫叢集已準備好用作 Aurora 全域資料庫中的主要資料庫叢集。如果是這樣,其狀態以及寫入器和複本節點的狀態為 Available (可用),如下所示。

    Aurora 資料庫叢集準備用於 Aurora 全域資料庫的資料庫螢幕擷取畫面。

當您的主要資料庫叢集可用時,請透過向其新增次要叢集來建立 Aurora 全域資料庫。如要執行此操作,請依照 將 AWS 區域 新增到 Amazon Aurora 全域資料庫 中的步驟進行。

使用 Aurora PostgreSQL 建立全域資料庫

使用 Aurora PostgreSQL 建立 Aurora 全域資料庫

完成 Create database (建立資料庫) 頁面。

  1. 對於 Engine options (引擎選項),請選擇下列項目:

    1. 展開 Show filters (顯示篩選條件),然後開啟 Show versions that support the global database feature (顯示支援全域資料庫功能的版本)。

    2. 對於 Engine Version (引擎版本),請選擇您要用於 Aurora 全域資料庫的 Aurora PostgreSQL 版本。

      建立 Aurora PostgreSQL 資料庫叢集時的引擎類型、引擎版本和版本選項的螢幕擷取畫面 (Aurora 全域資料庫的第一階段)。
  2. Templates (範本) 中,選擇 Production (生產)。或者,您可以選擇 Dev/Test (開發/測試)。不要在生產環境中使用開發/測試。

  3. Settings (設定) 下,執行以下操作:

    1. 為資料庫叢集識別符輸入有意義的名稱。當您完成建立 Aurora 全域資料庫時,此名稱會識別主要資料庫叢集。

    2. 為資料庫叢集的預設管理員帳戶輸入您自己的密碼,或讓 Aurora 為您產生密碼。如果您選擇 Auto generate a password (自動產生密碼),您會看到複製密碼的選項。

      建立全域資料庫時 Settings (設定) 選項的螢幕擷取畫面。
  4. 若為 DB instance class (資料庫執行個體類別),請選擇 db.r5.large 或其他記憶體最佳化資料庫執行個體類別。建議您使用 db.r5 或更高版本執行個體類別。

    資料庫執行個體類別的螢幕擷取畫面。
  5. 針對 Availability & durability (可用性和耐用性),我們建議您選擇在不同的可用區域中讓 Aurora 建立 Aurora 複本。如果您現在沒有建立 Aurora 複本,則需要稍後再執行。

  6. 對於 Connectivity (連線),請根據定義此資料庫執行個體之虛擬聯網環境的 Amazon VPC 選擇 Virtual Private Cloud (VPC)。您可以選擇預設值來簡化此任務。

  7. (選擇性) 完成 Database authentication (資料庫身分驗證) 設定。密碼驗證會一直啟用。若要簡化程序,您可以跳過此部分,稍後再設定 IAM 或密碼和 Kerberos 身分驗證。

  8. 對於 Additional configuration (其他設定),請執行下列動作:

    1. 輸入 Initial database name (初始資料庫名稱) 的名稱,以建立此叢集的主要 Aurora 資料庫執行個體。這是 Aurora 主要資料庫叢集的寫入器節點。

      保留為資料庫叢集參數群組和資料庫參數群組選取的預設值,除非您有自己想要使用的自訂參數群組。

    2. 接受 Additional configuration (其他組態) 的所有其他預設設定,例如加密、日誌匯出等。

  9. 選擇 Create database (建立資料庫)。

    Aurora 完成建立 Aurora 資料庫執行個體、其 Aurora 複本和 Aurora 資料庫叢集的程序可能需要幾分鐘的時間。當叢集可供使用時,Aurora 資料庫叢集及其寫入器和複本節點都會顯示 Available (可用) 狀態。新增次要資料庫叢集之後,這將成為 Aurora 全域資料庫的主要資料庫叢集。

    Aurora 資料庫叢集準備用於 Aurora 全域資料庫的資料庫螢幕擷取畫面。

當主要資料庫叢集可供使用時,請依照將 AWS 區域 新增到 Amazon Aurora 全域資料庫中的步驟來建立一或多個次要叢集。

以下程序中的 AWS CLI 命令可完成下列任務:

  1. 建立 Aurora 全域資料庫,命名並指定您計劃使用的 Aurora 資料庫引擎類型。

  2. 為 Aurora 全域資料庫建立 Aurora 資料庫叢集。

  3. 為叢集建立 Aurora 資料庫執行個體。這是全域資料庫的主要 Aurora 資料庫叢集。

  4. 為 Aurora 資料庫叢集建立第二個資料庫執行個體。這是完成 Aurora 資料庫叢集的讀取器。

  5. 在另一個區域中建立第二個 Aurora 資料庫叢集,然後依照將 AWS 區域 新增到 Amazon Aurora 全域資料庫中的步驟將其新增至 Aurora 全域資料庫。

遵循您的 Aurora 資料庫引擎的程序。

使用 Aurora MySQL 建立全域資料庫

使用 Aurora MySQL 建立 Aurora 全域資料庫
  1. 使用 create-global-cluster CLI 命令,傳遞 AWS 區域、Aurora 資料庫引擎和版本的名稱。

    對於LinuxmacOS、或Unix:

    aws rds create-global-cluster --region primary_region \ --global-cluster-identifier global_database_id \ --engine aurora-mysql \ --engine-version version # optional

    在Windows中:

    aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora-mysql ^ --engine-version version # optional

    這將建立一個「空」的 Aurora 全域資料庫,只有一個名稱 (識別符) 和 Aurora 資料庫引擎。可能需要幾分鐘的時間才能使用 Aurora 全域資料庫。在進行下一個步驟之前,請使用 describe-global-clusters CLI 命令來查看它是否可用。

    aws rds describe-global-clusters --region primary_region --global-cluster-identifier global_database_id

    當 Aurora 全域資料庫可用時,您可以建立其主要 Aurora 資料庫叢集。

  2. 若要建立主要 Aurora 資料庫叢集,請使用 create-db-cluster CLI 命令。使用 --global-cluster-identifier 參數來包含 Aurora 全球資料庫的名稱。

    對於LinuxmacOS、或Unix:

    aws rds create-db-cluster \ --region primary_region \ --db-cluster-identifier primary_db_cluster_id \ --master-username userid \ --master-user-password password \ --engine aurora-mysql \ --engine-version version \ --global-cluster-identifier global_database_id

    在Windows中:

    aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier primary_db_cluster_id ^ --master-username userid ^ --master-user-password password ^ --engine aurora-mysql ^ --engine-version version ^ --global-cluster-identifier global_database_id

    使用 describe-db-clusters AWS CLI 命令確認 Aurora 資料庫叢集已準備就緒。要單出一個特定的 Aurora 資料庫叢集,請使用 --db-cluster-identifier 參數。或者,您可以在命令中省略 Aurora 資料庫叢集名稱,以獲取有關給定區域中所有 Aurora 資料庫叢集的詳細資訊。

    aws rds describe-db-clusters --region primary_region --db-cluster-identifier primary_db_cluster_id

    當叢集的回應顯示 "Status": "available" 時,便可以使用。

  3. 為主要 Aurora 資料庫叢集建立資料庫執行個體。若要執行這項操作,請使用 create-db-instance CLI 命令。為您的 Aurora 資料庫叢集命令指定名稱,並指定執行個體的組態詳細資訊。您不需要在命令中傳遞 --master-username--master-user-password 參數,因為它會從 Aurora 資料庫叢集獲取這些參數。

    若為 --db-instance-class,您只能使用那些來自記憶體最佳化類別,例如 db.r5.large。建議您使用 db.r5 或更高版本執行個體類別。如需這些類別的相關資訊,請參閱資料庫執行個體類別

    對於LinuxmacOS、或Unix:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier db_instance_id \ --engine aurora-mysql \ --engine-version version \ --region primary_region

    在Windows中:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier db_instance_id ^ --engine aurora-mysql ^ --engine-version version ^ --region primary_region

    create-db-instance 作業可能需要一些時間才能完成。在繼續之前,請檢查狀態以查看 Aurora 資料庫執行個體是否可用。

    aws rds describe-db-clusters --db-cluster-identifier primary_db_cluster_id

    當命令傳回 available (可用) 的狀態時,您可以為主要資料庫叢集建立另一個 Aurora 資料庫執行個體。這是 Aurora 資料庫叢集的讀取器執行個體 (Aurora 複本)。

  4. 若要為叢集建立另一個 Aurora 資料庫執行個體,請使用 create-db-instance CLI 命令。

    對於LinuxmacOS、或Unix:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier replica_db_instance_id \ --engine aurora-mysql

    在Windows中:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier replica_db_instance_id ^ --engine aurora-mysql

當資料庫執行個體可用時,會從寫入器節點開始複寫到複本。繼續之前,請檢查資料庫執行個體是否可以使用 describe-db-instances CLI 命令。

此時,您有一個 Aurora 全域資料庫,其主要 Aurora 資料庫叢集包含寫入器資料庫執行個體和 Aurora 複本。您現在可以在不同區域中新增唯讀 Aurora 資料庫叢集,以完成 Aurora 全域資料庫。若要啟用,請依照「將 AWS 區域 新增到 Amazon Aurora 全域資料庫」中的步驟進行。

使用 Aurora PostgreSQL 建立全域資料庫

當您使用下列命令建立 Aurora 全域資料庫的 Aurora 物件時,每個命令可能需要幾分鐘的時間才能使用。我們建議您在完成任何命令之後,檢查特定 Aurora 物件的狀態,以確定狀態可用。

若要執行這項操作,請使用 describe-global-clusters CLI 命令。

aws rds describe-global-clusters --region primary_region --global-cluster-identifier global_database_id
使用 Aurora PostgreSQL建立 Aurora 全域資料庫
  1. 使用 create-global-cluster CLI 命令。

    對於LinuxmacOS、或Unix:

    aws rds create-global-cluster --region primary_region \ --global-cluster-identifier global_database_id \ --engine aurora-postgresql \ --engine-version version # optional

    在Windows中:

    aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora-postgresql ^ --engine-version version # optional

    當 Aurora 全域資料庫可用時,您可以建立其主要 Aurora 資料庫叢集。

  2. 若要建立主要 Aurora 資料庫叢集,請使用 create-db-cluster CLI 命令。使用 --global-cluster-identifier 參數來包含 Aurora 全球資料庫的名稱。

    對於LinuxmacOS、或Unix:

    aws rds create-db-cluster \ --region primary_region \ --db-cluster-identifier primary_db_cluster_id \ --master-username userid \ --master-user-password password \ --engine aurora-postgresql \ --engine-version version \ --global-cluster-identifier global_database_id

    在Windows中:

    aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier primary_db_cluster_id ^ --master-username userid ^ --master-user-password password ^ --engine aurora-postgresql ^ --engine-version version ^ --global-cluster-identifier global_database_id

    檢查 Aurora 資料庫叢集是否已準備就緒。當下列命令的回應為 Aurora 資料庫叢集顯示 "Status": "available" 時,您可以繼續執行。

    aws rds describe-db-clusters --region primary_region --db-cluster-identifier primary_db_cluster_id
  3. 為主要 Aurora 資料庫叢集建立資料庫執行個體。若要執行這項操作,請使用 create-db-instance CLI 命令。

    使用 --db-cluster-identifier 參數傳遞 Aurora 資料庫叢集的名稱。

    您不需要在命令中傳遞 --master-username--master-user-password 參數,因為它會從 Aurora 資料庫叢集獲取這些參數。

    若為 --db-instance-class,您只能使用那些來自記憶體最佳化類別,例如 db.r5.large。建議您使用 db.r5 或更高版本執行個體類別。如需這些類別的相關資訊,請參閱資料庫執行個體類別

    對於LinuxmacOS、或Unix:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier db_instance_id \ --engine aurora-postgresql \ --engine-version version \ --region primary_region

    在Windows中:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier db_instance_id ^ --engine aurora-postgresql ^ --engine-version version ^ --region primary_region
  4. 請先檢查 Aurora 資料庫執行個體的狀態,然後再繼續。

    aws rds describe-db-clusters --db-cluster-identifier primary_db_cluster_id

    如果回應顯示 Aurora 資料庫執行個體狀態為 available (可用),您可以為主要資料庫叢集建立另一個 Aurora 資料庫執行個體。

  5. 若要建立 Aurora 資料庫叢集的 Aurora 複本,請使用 create-db-instance CLI 命令。

    對於LinuxmacOS、或Unix:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier replica_db_instance_id \ --engine aurora-postgresql

    在Windows中:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier replica_db_instance_id ^ --engine aurora-postgresql

當資料庫執行個體可用時,會從寫入器節點開始複寫到複本。繼續之前,請檢查資料庫執行個體是否可以使用 describe-db-instances CLI 命令。

您的 Aurora 全域資料庫存在,但它只有其主要區域,其中包含由寫入器資料庫執行個體和 Aurora 複本所組成的 Aurora 資料庫叢集。您現在可以在不同區域中新增唯讀 Aurora 資料庫叢集,以完成 Aurora 全域資料庫。若要啟用,請依照「將 AWS 區域 新增到 Amazon Aurora 全域資料庫」中的步驟進行。

若要使用 RDS API 建立 Aurora 全域資料庫,請執行該CreateGlobalCluster作業。

將 AWS 區域 新增到 Amazon Aurora 全域資料庫

Aurora 全域資料庫至少需要一個與主要 Aurora 資料庫叢集在不同 AWS 區域 中的次要 Aurora 資料庫叢集。您最多可以將五個次要資料庫叢集連線至 Aurora 全域資料庫。對於新增至 Aurora 全域資料庫的每個次要資料庫叢集,請將允許給主要資料庫叢集的 Aurora 複本數目減少一個。

例如,如果您的 Aurora 全域資料庫有 5 個次要區域,您的主要資料庫叢集只能有 10 個 (而不是 15 個) Aurora 複本。如需詳細資訊,請參閱Amazon Aurora Global Database 的組態需求

主要資料庫叢集中的 Aurora 複本 (讀取器執行個體) 數量決定了您可以新增的次要資料庫叢集數量。主要資料庫叢集加上次要叢集中的讀取器執行個體總數不能超過 15 個。例如,如果主要資料庫叢集和 1 個次要叢集中的讀取器執行個體總數合計為 14,就無法將另一個次要叢集新增至全域資料庫。

注意

對於 Aurora MySQL 第 3 版,請在建立次要叢集時確保 lower_case_table_names 的值與主要叢集中的值相符。此設定是資料庫參數,會影響伺服器處理識別符區分大小寫的方式。如需這資料庫參數的詳細資訊,請參閱 使用參數群組

建議您在建立次要叢集時,對主要和次要叢集使用相同的資料庫引擎版本。如有必要,請將主要叢集升級至與次要叢集相同的版本。如需詳細資訊,請參閱受管跨區域轉換和容錯移轉的修補程式等級相容性

將 AWS 區域 新增至 Aurora 全域資料庫
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在 AWS Management Console 導覽窗格中,選擇 Databases (資料庫)。

  3. 選擇需要次要 Aurora 資料庫叢集的 Aurora 全域資料庫。確定主要 Aurora 資料庫叢集是 Available

  4. 對於 動作 ,請選擇 Add region (新增區域)

    此螢幕擷取畫面顯示已佈建的資料庫叢集,且已選擇「動作」功能表中的「新增區域」。
  5. Add a region (新增區域) 頁面,選擇次要 AWS 區域。

    您無法針對相同的 Aurora 全域資料庫選擇已有次要 Aurora 資料庫叢集的 AWS 區域。此外,不能是與主要 Aurora 資料庫叢集相同的區域。

    Aurora 全球資料庫的「新增區域」頁面。
  6. 對於新的 AWS 區域中的次要 Aurora 叢集,填寫剩餘的欄位。這些組態選項與任何 Aurora 資料庫叢集執行個體的組態選項相同,除了下列僅適用於 Aurora MySQL– Aurora 全域資料庫的選項:

  7. 選擇 Add region (新增區域)

完成將區域新增到 Aurora 全域資料庫後,您可以在 AWS Management Console 的 Databases (資料庫) 清單中看到它,如圖所示的螢幕擷取畫面。

此螢幕擷取畫面顯示次要叢集現在是 Aurora 全域資料庫的一部分。
將次要 AWS 區域 新增至 Aurora 全域資料庫
  1. create-db-cluster CLI 命令與 Aurora 全域資料庫的名稱 (--global-cluster-identifier) 搭配使用。對於其他參數,請執行下列動作:

  2. 對於 --region,請選擇與 Aurora 主要區域不同的 AWS 區域。

  3. 請選擇 --engine--engine-version 參數的特定值。這些值與 Aurora 全域資料庫中主要 Aurora 資料庫叢集的值相同。

  4. 對於加密叢集,請指定主要 AWS 區域 作為要加密的 --source-region

下面的範例建立了一個新的 Aurora 資料庫叢集,並將其連線到 Aurora 全域資料庫做為唯讀次要 Aurora 資料庫叢集。在最後一個步驟中,Aurora 資料庫執行個體會新增至新的 Aurora 資料庫叢集。

對於LinuxmacOS、或Unix:

aws rds --region secondary_region \ create-db-cluster \ --db-cluster-identifier secondary_cluster_id \ --global-cluster-identifier global_database_id \ --engine aurora-mysql|aurora-postgresql --engine-version version aws rds --region secondary_region \ create-db-instance \ --db-instance-class instance_class \ --db-cluster-identifier secondary_cluster_id \ --db-instance-identifier db_instance_id \ --engine aurora-mysql|aurora-postgresql

在Windows中:

aws rds --region secondary_region ^ create-db-cluster ^ --db-cluster-identifier secondary_cluster_id ^ --global-cluster-identifier global_database_id_id ^ --engine aurora-mysql|aurora-postgresql ^ --engine-version version aws rds --region secondary_region ^ create-db-instance ^ --db-instance-class instance_class ^ --db-cluster-identifier secondary_cluster_id ^ --db-instance-identifier db_instance_id ^ --engine aurora-mysql|aurora-postgresql

若要用 RDS API 將新的 AWS 區域 新增到 Aurora 全域資料庫,請執行 CreateDBCluster 操作。使用 GlobalClusterIdentifier 參數來指定現有全域資料庫的識別符。

在次要區域中建立無周邊 Aurora 資料庫叢集

雖然 Aurora 全域資料庫在與主要資料庫不同的 AWS 區域 中至少需要一個次要 Aurora 資料庫叢集,但是您可以針對次要叢集使用無周邊設定。無周邊次要 Aurora 資料庫叢集是沒有資料庫執行個體的叢集。這種類型的組態可以降低 Aurora 全域資料庫的費用。在 Aurora 資料庫叢集中,運算和儲存體會解偶。若沒有資料庫執行個體,則無需支付運算費用,只需支付儲存費用。如果設定正確,無周邊次要資料庫的儲存磁碟區會與主要 Aurora 資料庫叢集保持同步。

您可以在建立 Aurora 全域資料庫時,照常新增次要叢集。但是,主要 Aurora 資料庫叢集開始複寫到次要資料庫叢集之後,您會從次要 Aurora 資料庫叢集刪除 Aurora 唯讀資料庫執行個體。此次要叢集現在被視為「無周邊」,因為它不再具有資料庫執行個體。然而,儲存磁碟區會與主要 Aurora 資料庫叢集保持同步。

警告

有了 Aurora PostgreSQL,若要在次要 AWS 區域 中建立無周邊叢集,可使用 AWS CLI 或 RDS API 來新增次要 AWS 區域。跳過為次要叢集建立讀取器資料庫執行個體的步驟。目前,RDS 主控台中不支援建立無周邊叢集。如需要使用的 CLI 和 API 程序,請參閱將 AWS 區域 新增到 Amazon Aurora 全域資料庫

如果您的全球資料庫使用的引擎版本低於 13.4、12.8 版或 11.13 版,則在次要區域中建立讀取器資料庫執行個體並隨後刪除該執行個體時,可能會導致主要區域的寫入器資料庫執行個體發生 Aurora PostgreSQL 真空問題。如果您遇到這個問題,請在刪除次要區域的讀取器資料庫執行個體之後,重新啟動主要區域的寫入器資料庫執行個體。

將無周邊次要 Aurora 資料庫叢集新增至 Aurora 全域資料庫
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在 AWS Management Console 導覽窗格中,選擇 Databases (資料庫)。

  3. 選擇需要次要 Aurora 資料庫叢集的 Aurora 全域資料庫。確定主要 Aurora 資料庫叢集是 Available

  4. 對於 動作 ,請選擇 Add region (新增區域)

  5. Add a region (新增區域) 頁面,選擇次要 AWS 區域。

    您無法針對相同的 Aurora 全域資料庫選擇已有次要 Aurora 資料庫叢集的 AWS 區域。此外,不能是與主要 Aurora 資料庫叢集相同的區域。

  6. 對於新的 AWS 區域 區域中的次要 Aurora 叢集,填寫剩餘的欄位。這些組態選項與任何 Aurora 資料庫叢集執行個體的組態選項相同。

    對於 Aurora MySQL– Aurora 全域資料庫,請忽略 Enable read replica write forwarding (啟用僅供讀取複本寫入轉送) 選項。刪除讀取器執行個體之後,此選項將沒有任何功能。

  7. 選擇 Add region (新增區域)。完成將區域新增到 Aurora 全域資料庫後,您可以在 AWS Management Console 的 Databases (資料庫) 清單中看到它,如圖所示的螢幕擷取畫面。

    此螢幕擷取畫面顯示次要叢集及其讀取器執行個體,現在是 Aurora 全域資料庫的一部分。
  8. 在繼續之前,請先使用 AWS Management Console 或 AWS CLI 檢查次要 Aurora 資料庫叢集及其讀取器執行個體的狀態。例如:

    $ aws rds describe-db-clusters --db-cluster-identifier secondary-cluster-id --query '*[].[Status]' --output text

    新增的次要 Aurora 資料庫叢集狀態可能需要幾分鐘時間,才能從「creating」變更為「available」。當 Aurora 資料庫叢集可用時,您可以刪除讀取器執行個體。

  9. 在次要 Aurora 資料庫叢集中選取讀取器執行個體,然後選擇 Delete (刪除)

    螢幕擷取畫面顯示已選取且準備刪除的讀取器執行個體。

刪除讀取器執行個體之後,次要叢集仍然是 Aurora 全域資料庫的一部分。其沒有與之關聯的執行個體,如下所示。

顯示無周邊次要資料庫叢集的螢幕擷取畫面。

如果發生此類中斷,您可以使用此無周邊次要 Aurora 資料庫叢集,從主要 AWS 區域 的非計劃中斷手動復原您的 Amazon Aurora 全域資料庫

使用 Amazon Aurora 全域資料庫的快照

您可以還原 Aurora 資料庫叢集的快照或從 Amazon RDS 資料庫執行個體還原,以用做 Aurora 全域資料庫的起點。您可以還原快照並同時建立新 Aurora 佈建的資料庫叢集。然後將另一個 AWS 區域 新增至還原的資料庫叢集,從而將其轉換為 Aurora 全域資料庫。您以這種方式使用快照建立的任何 Aurora 資料庫叢集都會成為 Aurora 全域資料庫的主要叢集。

您使用的快照可以來自 provisioned 或來自 serverless Aurora 資料庫叢集。

在還原程序期間,請選擇與快照相同的資料庫引擎類型。例如,假設您想要從執行 Aurora PostgreSQL 的 Aurora Serverless 資料庫叢集中還原建立的快照。在此情況下,您可以使用相同的 Aurora PostgreSQL 資料庫引擎和版本,來建立 Aurora 資料庫叢集。

當您將 AWS 區域 新增至其中時,還原的資料庫叢集會擔任 Aurora 全域資料庫主要叢集的角色。此主要叢集中包含的所有資料都會複寫到您新增至 Aurora 全域資料庫的任何次要叢集。

此螢幕擷取畫面顯示 Aurora 全球資料庫的還原快照頁面。