如何建立與 Aurora PostgreSQL 相容的全球資料庫?

3 分的閱讀內容
0

我想建立 Amazon Aurora PostgreSQL 相容版全球資料庫。

簡短描述

Aurora 全球資料庫用於全球分散式應用程式。這些資料庫可跨越多個 AWS 區域,讓您在另一個區域擁有唯讀次要資料庫叢集以支援本機讀取。Aurora 全球資料庫也會在 AWS 區域發生故障時提供快速復原機制。

使用下列方法建立與 Aurora PostgreSQL 相容的全球資料庫:

  • 使用 AWS 主控台建立與 Aurora PostgreSQL 相容的全球資料庫
  • 使用現有的 Aurora 叢集建立與 PostgreSQL 相容的全球資料庫
  • 將 Amazon Relational Database Service (Amazon RDS) for PostgreSQL 快照遷移到與 Amazon Aurora PostgreSQL 相容的全球資料庫。
  • 將 Amazon RDS for PostgreSQL 資料庫遷移到與 Aurora PostgreSQL 相容的全球資料庫

解決方案

**備註:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新的 AWS CLI 版本

在建立與 Aurora PostgreSQL 相容的全球資料庫之前:

使用 AWS 主控台建立與 Aurora PostgreSQL 相容的全球資料庫

  1. 在您的主要區域中開啟 Amazon RDS 主控台
  2. 選擇 Create database (建立資料庫)
  3. 對於 Database creation method (資料庫建立方法),選擇 Standard create (標準建立)。
  4. 對於 Engine type (引擎類型),選擇 Amazon Aurora
  5. 對於 Edition (版本),選擇 Amazon Aurora PostgreSQL-Compatible Edition. (Amazon Aurora PostgreSQL 相容版)。
  6. 在 filters (篩選條件) 下,開啟 Show versions that support the global database feature (顯示支援全球資料庫功能的版本)。
  7. 在 Available versions (可用版本) 下拉式清單中,選擇您要使用的 PostgreSQL 版本。
  8. 根據您的使用案例,對於 Templates (範本),選擇Production (生產) 或 Dev/Test (開發/測試)。
  9. Settings (設定) 區段中,針對 DB cluster identifier (資料庫叢集識別碼),輸入主要資料庫叢集的名稱。對於 Master user name (主要使用者名稱),輸入 PostgreSQL 的預設主要使用者,或輸入自己的使用者名稱。
  10. Instance configuration (執行個體組態) 區段中,選擇資料庫執行個體類別。
  11. Availability durability (可用性與耐久性) 區段中,最佳實務是選擇在不同的 AZ 中建立 Aurora 複本。如果未選擇該選項,則可以在稍後的階段建立僅供讀取複本。
  12. Connectivity (連線能力) 區段中,選擇您要使用的選項。同時選取您要使用的 VPC資料庫子網路群組VPC 安全群組
  13. Additional configuration (其他組態) 下,您可以指定資料庫連接埠。預設連接埠為 5432
  14. Database authentication (資料庫驗證) 下,預設會使用密碼驗證。您可以選擇性地為資料庫開啟 IAM 資料庫身分驗證Kerberos 身分驗證或兩者。
  15. Database options (資料庫選項) 區段中,輸入初始資料庫名稱。選擇資料庫叢集參數群組資料庫參數群組容錯移轉優先順序。檢閱 Backup (備份)、Encryption (加密)、Maintenance (維護) 和 Deletion Protection (刪除保護) 選項。
  16. 選擇 Create database (建立資料庫)。當叢集準備好可供使用時,叢集、寫入器和複本節點的狀態會變更為 Available (可用)。
  17. Aurora PostgreSQL 全球資料庫在與主要 Aurora 資料庫叢集不同的 AWS 區域中至少需要一個次要 Aurora 資料庫叢集。您最多可以將五個次要資料庫叢集連線至您的 Aurora PostgreSQL 全球資料庫。選擇您建立的 Aurora PostgreSQL 資料庫。從 Actions (動作) 下拉式清單中,選擇 Add AWS Region (新增 AWS 區域)。
  18. Add a Region (新增區域) 頁面上,輸入全球資料庫的名稱,然後選擇次要區域。檢閱並完成新區域中 Aurora 叢集的其餘資訊。
    **備註:**在所有 AWS 區域中,您為每個 Aurora 資料庫叢集選擇的名稱必須是唯一的。不同的 Aurora 資料庫叢集不能使用相同名稱,即使它們位於不同的區域。
  19. 按一下 Add Region (新增區域) 按鈕。

使用現有的 Aurora 叢集建立與 PostgreSQL 相容的全球資料庫

  1. 在您的主要區域中開啟 Amazon RDS 主控台
  2. Resources (資源) 區段中,選擇 DB Instances (資料庫執行個體)。
  3. 選擇您要使用的現有 Aurora PostgreSQL 叢集。
  4. Actions (動作) 下拉式清單中,選擇 Add AWS Region (新增 AWS 區域)。
  5. Add a Region (新增區域) 頁面上,輸入全球資料庫的名稱,然後選擇次要區域。
  6. 選擇 Add Region (新增區域)。

將 RDS for PostgreSQL 快照遷移至與 Aurora PostgreSQL 相容的全球資料庫

  1. 在您的主要區域中開啟 Amazon RDS 主控台
  2. 從導覽窗格中,選擇 Snapshots (快照)。
  3. 選擇您遷移的 RDS for PostgreSQL 快照。
  4. 選擇 Actions (動作),然後從下拉式清單中選擇 Migrate Snapshot (遷移快照)。
  5. Migrate database (遷移資料庫) 頁面上,對於 Migrate to DB engine (遷移至資料庫引擎),請選擇 aurora-postgresql
  6. 選擇 Migrate (遷移) 按鈕。這會從 RDS for PostgreSQL 快照建立與 Aurora PostgreSQL 相容的叢集。
  7. 建立與 Aurora PostgreSQL 相容的叢集之後,從導覽窗格中選擇 Databases (資料庫)。
  8. 選擇與 Aurora PostgreSQL 相容的已遷移叢集。
  9. Actions (動作) 下拉式清單中,選擇 Add AWS Region (新增 AWS 區域)。
  10. Add a Region (新增區域) 頁面上,輸入全球資料庫的名稱,然後選擇次要區域。
  11. 選擇 Add Region (新增區域)。

將 RDS 資料庫遷移到與 Aurora PostgreSQL 相容的全球資料庫

  1. 在您的主要區域中開啟 Amazon RDS 主控台
  2. 從導覽窗格中,選擇 Databases (資料庫)。
  3. 選擇您要遷移的 RDS for PostgreSQL 資料庫。
  4. Actions (動作) 下拉式清單中,選擇 Create Aurora read replica (建立 Aurora 僅供讀取複本)。
  5. Create Aurora read replica (建立 Aurora 僅供讀取複本) 頁面檢閱並完成所有欄位,然後選擇 Create read replica (建立僅供讀取複本)。
  6. 建立 Aurora 僅供讀取複本之後,您現在可以提升 Aurora 僅供讀取複本。
  7. 備註:在提升複本之前,請確定 RDS for PostgreSQL 資料庫沒有任何活動。同時確認複本延遲為零。
  8. 選擇您建立的 Aurora 僅供讀取複本。
  9. Actions (動作) 下拉式清單中,選擇 promote (提升)。
  10. 在提升程序之後,Aurora 複本叢集會成為具有寫入器執行個體的區域 Aurora 資料庫叢集。選擇新提升的區域 Aurora 資料庫叢集。
  11. Actions (動作) 下拉式清單中,選擇 Add AWS Region (新增 AWS 區域)。
  12. Add a Region (新增區域) 頁面上,輸入全球資料庫的名稱,然後選擇次要區域。
  13. 選擇 Add Region (新增區域)。

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

Aurora 全球資料庫在不同 AWS 區域中至少需要一個次要 Aurora 資料庫叢集。若要降低運算成本,您可以建立無周邊的次要 Aurora 資料庫叢集。如此一來,您只需支付儲存空間費用。雖然此設定方法可能會產生較長的復原時間點目標 (RTO),但可降低災難復原 (DR) 設定的成本。

對於 PostgreSQL,請使用 AWS CLI 建立無周邊 Aurora 資料庫叢集。請參閱用來建立無周邊 Aurora 資料庫叢集的此 Linux/macOS AWS CLI 命令範例。

備註:在執行命令之前,請將此命令中的 <> 預留位置取代為實際值。

如需可搭配此命令使用的選項清單,請參閱 create-db-cluster 參考文件。

aws rds --region <target_region> \
  create-db-cluster \
     --db-cluster-identifier <value> \
     --global-cluster-identifier <value>  \
     --engine aurora-postgresql \
     --kms-key-id <value> \
     --engine-version <value> \
     --db-cluster-parameter-group-name <value>\
     --db-subnet-group-name <value> \
     --vpc-security-group-ids <value> \
     --backup-retention-period <value>

相關資訊

Amazon Aurora 全球資料庫

AWS 官方
AWS 官方已更新 1 年前