為什麼無法為我的 RDS for PostgreSQL 執行個體建立 Aurora 僅供讀取複本?

2 分的閱讀內容
0

我正在嘗試從 RDS 主控台為我的 Amazon Relational Database Service (Amazon RDS) for PostgreSQL 執行個體建立 Amazon Aurora 僅供讀取複本。然而,執行此操作的選項在 Amazon RDS 主控台中為灰顯。

簡短描述

您可以使用 Amazon RDS for PostgreSQL 資料庫執行個體,透過在遷移程序中使用 Aurora 僅供讀取複本,來建立新的 Amazon Aurora PostgreSQL 相容版本的資料庫叢集。在此情況下會使用讀取器執行個體建立 Aurora 叢集。此叢集稱為複本叢集,可作為 RDS for PostgreSQL 執行個體的僅供讀取複本。建立複本叢集並在複寫延遲為零的情況下將資料遷移至 Aurora 之後,您可以透過升級 Aurora 僅供讀取複本來執行切換。

若要針對遷移程序建立 Aurora 僅供讀取複本,請參閱建立 Aurora 僅供讀取複本

如果使用 Amazon RDS 主控台建立 Aurora 僅供讀取複本的選項不可用,請確定您的 Aurora PostgreSQL 版本與 RDS for PostgreSQL 版本相容。

解決方案

Aurora 僅供讀取複本選項僅適用於在相同 AWS 區域和帳戶內遷移。只有在該區域針對您的 RDS for PostgreSQL 資料庫執行個體提供相容版本的 Aurora PostgreSQL 時,才能使用此選項。Aurora PostgreSQL 版本必須與 RDS for PostgreSQL 版本相同,或相同主要版本系列中的較高次要版本。

例如,若要使用此技術遷移 RDS for PostgreSQL 11.14 資料庫執行個體,區域必須提供下列其中一項功能:

  • Aurora PostgreSQL 11.14 版
  • PostgreSQL 11 版系列中較高的次要版本

若要查看新建立的資料庫執行個體的可用版本清單和預設值,請執行 AWS Command Line Interface (AWS CLI) 命令 describe-db-engine-versions

aws rds describe-db-engine-versions --engine postgres --query DBEngineVersions[*].EngineVersion
aws rds describe-db-engine-versions --engine aurora-postgresql --query DBEngineVersions[*].EngineVersion

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確保您使用的是最新版 AWS CLI

您可以比較這兩項命令的結果,以檢查 Aurora PostgreSQL 的引擎版本是否與 RDS for PostgreSQL 相容。

如果使用 RDS 主控台建立僅供讀取複本的選項不可用,請使用 AWS CLI 建立 Aurora 僅供讀取複本。

若要使用 AWS CLI 從來源 RDS for PostgreSQL 資料庫執行個體建立 Aurora 僅供讀取複本,請執行 create-db-cluster 命令。請務必將參數 replication-source-identifier 設定為來源執行個體的 ARN。執行此命令以建立無周邊 Aurora 資料庫叢集。無周邊叢集是不含任何執行個體的叢集儲存體。

建立叢集之後,請使用 create-db-instance 命令,為資料庫叢集建立主要執行個體。

aws rds create-db-cluster --db-cluster-identifier example-aurora-cluster --db-subnet-group-name example-db-subnet --vpc-security-group-ids example-security-group --engine aurora-postgresql --engine-version <same-as-your-rds-instance-version> --replication-source-identifier example-rds-source-instance-arn 
aws rds create-db-instance --db-cluster-identifier example-aurora-cluster --db-instance-class example-instance-class --db-instance-identifier example-instance identifier --engine aurora-postgresql

相關資訊

使用 Aurora 僅供讀取複本將資料從 RDS for PostgreSQL 資料庫執行個體遷移至 Aurora PostgreSQL 資料庫叢集

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