Perché non riesco a creare una replica di lettura Aurora per l'istanza RDS per PostgreSQL?

3 minuti di lettura
0

Sto cercando di creare una replica di lettura Amazon Aurora per l'istanza Amazon Relational Database Service (Amazon RDS) per PostgreSQL dalla console RDS. Tuttavia, l'opzione è disattivata nella console Amazon RDS.

Breve descrizione

Puoi utilizzare un'istanza database Amazon RDS per PostgreSQL per creare un nuovo cluster di database Amazon Aurora in versione compatibile con PostgreSQL utilizzando una replica di lettura Aurora per il processo di migrazione. In questo caso, viene creato un cluster Aurora con un'istanza reader. Questo cluster, denominato cluster Replica, funge da replica di lettura per l'istanza RDS per PostgreSQL. Dopo aver creato il cluster Replica e aver migrato i dati in Aurora con un ritardo di replica pari a zero, puoi eseguire una conversione promuovendo la replica di lettura Aurora.

Per creare una replica di lettura Aurora per il processo di migrazione, consulta Creazione di una replica di lettura Aurora.

Se l'opzione per creare una replica di lettura Aurora utilizzando la console Amazon RDS non è disponibile, assicurati che la tua versione di Aurora PostgreSQL sia compatibile con la versione di RDS per PostgreSQL.

Risoluzione

L'opzione di replica di lettura Aurora è disponibile solo per la migrazione all'interno della stessa regione e dello stesso account AWS. L'opzione è disponibile solo se la regione offre una versione compatibile di Aurora PostgreSQL per l'istanza database RDS per PostgreSQL. La versione di Aurora PostgreSQL deve corrispondere alla versione di RDS per PostgreSQL o essere una versione secondaria superiore nello stesso gruppo principale di versioni.

Ad esempio, per utilizzare questa tecnica per migrare un'istanza database RDS per PostgreSQL 11.14, la regione deve offrire una delle seguenti opzioni:

  • Aurora PostgreSQL versione 11.14
  • Una versione secondaria superiore nel gruppo PostgreSQL versione 11

Per visualizzare un elenco delle versioni disponibili e delle impostazioni predefinite per le istanze database appena create, esegui il comando describe-db-engine-versions dell'Interfaccia della linea di comando AWS (AWS CLI):

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

Nota: se ricevi un messaggio di errore durante l'esecuzione dei comandi di AWS CLI, assicurati di utilizzarne la versione più recente.

È possibile confrontare i risultati di entrambi i comandi per verificare se la versione del motore di Aurora PostgreSQL è compatibile con quella di RDS per PostgreSQL.

Utilizza AWS CLI per creare una replica di lettura Aurora qualora l'opzione con la console RDS non sia disponibile.

Per creare una replica di lettura Aurora da un'istanza database RDS per PostgreSQL di origine utilizzando AWS CLI, esegui il comando create-db-cluster. Assicurati di impostare il parametro replication-source-identifier sull'ARN dell'istanza di origine. L'esecuzione di questo comando crea un cluster di database Aurora headless. Un cluster headless è un'archiviazione di cluster senza istanze.

Dopo la creazione del cluster, utilizza il comando create-db-instance per creare l'istanza principale per il cluster di database.

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

Informazioni correlate

Migrazione di dati da un'istanza database RDS per PostgreSQL a un cluster database Aurora PostgreSQL tramite una replica di lettura Aurora

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa