Creazione di una replica di lettura in un altro Regione AWS - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di una replica di lettura in un altro Regione AWS

Con AmazonRDS, puoi creare una replica di lettura in un'istanza DB diversa Regione AWS da quella di origine.

Configurazione della replica di lettura tra regioni

È possibile creare una replica di lettura in un altro Regione AWS modo per effettuare le seguenti operazioni:

  • Migliorare le funzionalità di disaster recovery.

  • Adattate le operazioni di lettura in modo che Regione AWS siano sempre più vicine ai vostri utenti.

  • Semplifica la migrazione da un data center Regione AWS a un data center in un altro Regione AWS.

La creazione di una replica di lettura in un'istanza diversa Regione AWS da quella di origine è simile alla creazione di una replica nella stessa. Regione AWSÈ possibile utilizzare AWS Management Console, eseguire il create-db-instance-read-replicacomando o richiamare l'CreateDBInstanceReadReplicaAPIoperazione.

Nota

Per creare una replica di lettura crittografata in un'istanza DB diversa Regione AWS da quella di origine, l'istanza DB di origine deve essere crittografata.

Disponibilità di regioni e versioni

Il supporto varia a seconda delle versioni specifiche di ciascun motore di database e a seconda delle Regioni AWS. Per ulteriori informazioni sulla disponibilità di versioni e regioni con la replica tra regioni, consulta Regioni e motori DB supportati per repliche di lettura interregionali in Amazon RDS.

Creazione di una replica di lettura tra regioni

Le seguenti procedure mostrano come creare una replica di lettura da un'istanza di MariaDB, SQL Microsoft Server, MySQL, Oracle SQL o Postgre DB di origine in un'altra. Regione AWS

È possibile creare una replica di lettura utilizzando. Regioni AWS AWS Management Console

Per creare una replica di lettura tramite Regioni AWS la console
  1. Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli Databases (Database).

  3. Scegli l'istanza DB MariaDB, SQL Microsoft ServerSQL, My, Oracle SQL o Postgre che desideri utilizzare come origine per una replica di lettura.

  4. Per Actions (Operazioni), scegliere Create read replica (Crea replica di lettura).

  5. Per DB instance identifier (Identificatore istanze DB) inserire un nome per la replica di lettura.

  6. Seleziona la regione di destinazione.

  7. Scegliere le specifiche dell'istanza che si vuole usare. Consigliamo di usare almeno la stessa classe di istanza database e lo stesso tipo di archiviazione per la replica di lettura.

  8. Per creare una replica di lettura crittografata in un'altra: Regione AWS

    1. Scegliere Enable encryption (Abilita crittografia).

    2. Per AWS KMS key, scegli l' AWS KMS key identificatore della KMS chiave nella destinazione. Regione AWS

    Nota

    Per creare una replica di lettura crittografata, l'istanza database di origine deve essere crittografata. Per ulteriori informazioni sulla crittografia dell'istanza database di origine, consultare Crittografia delle risorse Amazon RDS.

  9. Scegli altre opzioni, ad esempio il dimensionamento automatico dello storage.

  10. Scegliere Create read replica (Crea replica di lettura).

Per creare una replica di lettura da un'istanza DB di origine MySQL, Microsoft SQL Server, MariaDB, Oracle o SQL Postgre in un' Regione AWS altra istanza DB, puoi usare il comando. create-db-instance-read-replica In questo caso, usi create-db-instance-read-replicadalla posizione in Regione AWS cui desideri la replica di lettura (regione di destinazione) e specifichi Amazon Resource Name (ARN) per l'istanza DB di origine. Un identifica ARN in modo univoco una risorsa creata in Amazon Web Services.

Ad esempio, se l'istanza DB di origine si trova nella regione Stati Uniti orientali (Virginia settentrionale), è ARN simile a questo esempio:

arn:aws:rds:us-east-1:123456789012:db:mydbinstance

Per informazioni suARNs, vedereNomi di risorse Amazon (ARNs) in Amazon RDS.

Per creare una replica di lettura in un'istanza DB diversa Regione AWS da quella di origine, è possibile utilizzare il AWS CLI create-db-instance-read-replicacomando dalla destinazione Regione AWS. Per creare una replica di lettura in un'altra Regione AWS, i seguenti parametri sono obbligatori:

  • --region— La destinazione Regione AWS in cui viene creata la replica di lettura.

  • --source-db-instance-identifier– L'identificatore dell'istanza database per l'istanza database di origine. Questo identificatore deve essere nel ARN formato dell'origine. Regione AWS

  • --db-instance-identifier: l'identificatore per la replica di lettura nella Regione AWS di destinazione.

Esempio di una replica di lettura tra regioni

Il seguente codice crea una replica di lettura nella regione Stati Uniti occidentali (Oregon) da un'istanza database di origine nella regione US East (N. Virginia).

In Linux, macOS, oppure Unix:

aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --region us-west-2 \ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance

In Windows:

aws rds create-db-instance-read-replica ^ --db-instance-identifier myreadreplica ^ --region us-west-2 ^ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance

I seguenti parametri sono inoltre obbligatori per creare una replica di lettura crittografata in un'altra Regione AWS:

  • --kms-key-id— L' AWS KMS key identificatore della KMS chiave da utilizzare per crittografare la replica letta nella destinazione. Regione AWS

Esempio di una replica di lettura tra regioni crittografate

Il seguente codice crea una replica di lettura crittografata nella regione Stati Uniti occidentali (Oregon) da un'istanza database di origine nella regione US East (N. Virginia).

In Linux, macOS, oppure Unix:

aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --region us-west-2 \ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance \ --kms-key-id my-us-west-2-key

In Windows:

aws rds create-db-instance-read-replica ^ --db-instance-identifier myreadreplica ^ --region us-west-2 ^ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance ^ --kms-key-id my-us-west-2-key

L'--source-regionopzione è obbligatoria quando si crea una replica di lettura crittografata tra le regioni AWS GovCloud (Stati Uniti orientali) e AWS GovCloud (Stati Uniti occidentali). Per --source-region, specificare la Regione AWS dell'istanza database di origine.

Se non si specifica --source-region, è necessario specificare un valore per --pre-signed-url. Un prefirmato URL è un messaggio URL che contiene una richiesta firmata della versione 4 della firma per il create-db-instance-read-replica comando richiamato nell'origine. Regione AWSPer ulteriori informazioni sull'pre-signed-urlopzione, consulta create-db-instance-read-replica nel Command Reference.AWS CLI

Per creare una replica di lettura da un'istanza DB di origine MySQL, Microsoft SQL Server, MariaDB, Oracle o SQL Postgre in un'altra istanza Regione AWS, puoi chiamare l'operazione Amazon C. RDS API reateDBInstance ReadReplica In questo caso, chiami C reateDBInstance ReadReplica dal punto in Regione AWS cui desideri che venga letta la replica (regione di destinazione) e specifichi Amazon Resource Name (ARN) per l'istanza DB di origine. Un identifica ARN in modo univoco una risorsa creata in Amazon Web Services.

Per creare una replica di lettura crittografata in un'istanza DB diversa Regione AWS da quella di origine, puoi utilizzare l'RDSAPICreateDBInstanceReadReplicaoperazione Amazon dalla destinazione Regione AWS. Per creare una replica di lettura crittografata in un'altra Regione AWS, devi specificare un valore per. PreSignedURL PreSignedURLdeve contenere una richiesta per l'CreateDBInstanceReadReplicaoperazione di richiamo all'origine in Regione AWS cui viene creata la replica di lettura. Per ulteriori informazioni su PreSignedUrl, consulta CreateDBInstanceReadReplica.

Ad esempio, se l'istanza DB di origine si trova nella regione Stati Uniti orientali (Virginia settentrionale), è ARN simile alla seguente.

arn:aws:rds:us-east-1:123456789012:db:mydbinstance

Per informazioni suARNs, vedereNomi di risorse Amazon (ARNs) in Amazon RDS.

Esempio
https://us-west-2.rds.amazonaws.com/ ?Action=CreateDBInstanceReadReplica &KmsKeyId=my-us-east-1-key &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCreateDBInstanceReadReplica %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526SourceDBInstanceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%123456789012%25253Adb%25253Amydbinstance %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4%2526SourceDBInstanceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Ainstance%25253Amydbinstance %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &DBInstanceIdentifier=myreadreplica &SourceDBInstanceIdentifier=&region-arn;rds:us-east-1:123456789012:db:mydbinstance &Version=2012-01-15 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2012-01-20T22%3A06%3A23.624Z &AWSAccessKeyId=<&AWS; Access Key ID> &Signature=<Signature>

In che modo Amazon RDS esegue la replica tra regioni

Amazon RDS utilizza il seguente processo per creare una replica di lettura interregionale. A seconda del soggetto Regioni AWS coinvolto e della quantità di dati nei database, il completamento di questo processo può richiedere ore. Puoi usare queste informazioni per determinare lo stato di avanzamento del processo quando crei una replica di lettura tra regioni:

  1. Amazon RDS inizia a configurare l'istanza DB di origine come origine di replica e imposta lo stato su modifica.

  2. Amazon RDS inizia a configurare la replica di lettura specificata nella destinazione Regione AWS e imposta lo stato su creazione.

  3. Amazon RDS crea uno snapshot DB automatizzato dell'istanza DB di origine nell'origine Regione AWS. Il formato del nome dello snapshot DB è rds:<InstanceID>-<timestamp>, dove <InstanceID> è l'identificatore dell'istanza di origine e <timestamp> corrisponde alla data e all'ora di avvio della copia. Ad esempio, rds:mysourceinstance-2013-11-14-09-24 è stato creato dall'istanza mysourceinstance il 2013-11-14-09-24. Durante la creazione di uno snapshot DB automatico, lo stato dell'istanza database di origine resta modifying (modifica in corso), lo stato della replica di lettura resta creating (creazione in corso) e lo stato dello snapshot DB è creating (creazione in corso). La colonna dello stato di avanzamento della pagina dello snapshot DB nella console indica l'avanzamento della creazione dello snapshot DB. Al termine della creazione dello snapshot DB, lo stato dello snapshot DB e quello dell'istanza database di origine sono entrambi impostati su available (disponibile).

  4. Amazon RDS avvia una copia istantanea tra diverse regioni per il trasferimento iniziale dei dati. La copia dell'istantanea viene elencata come istantanea automatica nella destinazione Regione AWS con lo stato di creazione. La copia ha lo stesso nome dello snapshot DB di origine. La colonna dello stato di avanzamento della visualizzazione dello snapshot DB indica l'avanzamento della copia. Al termine della copia, lo stato della copia dello snapshot DB è impostato su available (disponibile).

  5. Amazon utilizza RDS quindi lo snapshot DB copiato per il caricamento iniziale dei dati sulla replica di lettura. Durante questa fase, la replica di lettura è inclusa nell'elenco delle istanze database nella destinazione, con stato creating (creazione in corso). Al termine del caricamento, lo stato della replica di lettura è impostato su available (disponibile) e la copia dello snapshot DB viene eliminata.

  6. Quando la replica di lettura raggiunge lo stato disponibile, Amazon RDS inizia replicando le modifiche apportate all'istanza di origine dall'inizio dell'operazione di creazione della replica di lettura. Durante questa fase, il ritardo di replica per la replica di lettura è maggiore di 0.

    Per ulteriori informazioni sui ritardi della replica, consultare Monitoraggio della replica di lettura.

Considerazioni relative alla replica tra regioni

Tutte le considerazioni relative all'esecuzione della replica all'interno di un' Regione AWS area si applicano alla replica interregionale. Alla replica tra Regioni AWS si applicano anche le considerazioni aggiuntive seguenti:

  • Un'istanza database di origine può avere repliche di lettura tra regioni in più Regioni AWS. A causa del limite al numero di voci della lista di controllo degli accessi (ACL) per l'origineVPC, non è RDS possibile garantire più di cinque istanze DB di replica di lettura interregionale.

  • È possibile eseguire la replica tra le regioni GovCloud (Stati Uniti orientali) e GovCloud (Stati Uniti occidentali), ma non all'interno o all'esterno (Stati Uniti). GovCloud

  • Per le istanze SQL DB Microsoft SQL Server, Oracle e Postgre, puoi creare una replica di RDS lettura Amazon tra regioni solo da un'istanza Amazon RDS DB di origine che non sia una replica di lettura di un'altra istanza Amazon DB. RDS Questa limitazione non si applica alle istanze MariaDB e SQL My DB.

  • Puoi aspettarti di vedere un livello di ritardo più elevato per qualsiasi replica di lettura che si trova in un'istanza diversa Regione AWS da quella di origine. Questo ritardo è dovuto alla maggiore lunghezza dei percorsi di rete che collegano i data center regionali.

  • Per le repliche di lettura interregionali, tutti i comandi create read replica che specificano il --db-subnet-group-name parametro devono specificare un gruppo di sottorete DB dello stesso. VPC

  • Nella maggior parte dei casi, la replica di lettura utilizza il gruppo di parametri del database di default per il motore di database specificato.

    Per i motori My SQL e Oracle DB, è possibile specificare un gruppo di parametri personalizzato per la replica di lettura nell'opzione del --db-parameter-group-name comando. AWS CLI create-db-instance-read-replica Non è possibile specificare un gruppo di parametri personalizzato quando si utilizza la AWS Management Console.

  • La replica di lettura utilizza il gruppo di sicurezza predefinito.

  • Per le istanze MariaDB, SQL Microsoft ServerSQL, My e Oracle DB, quando l'istanza DB di origine per una replica di lettura interregionale viene eliminata, viene promossa la replica di lettura.

  • Per le istanze SQL DB Postgre, quando l'istanza DB di origine per una replica di lettura interregionale viene eliminata, lo stato di replica della replica di lettura viene impostato su. terminated La replica di lettura non viene promossa.

    Sarà necessario promuovere manualmente la replica di lettura o eliminarla.

Richiesta di una replica di lettura tra regioni

Per comunicare con la regione di origine e richiedere la creazione di una replica di lettura interregionale, il richiedente (IAMruolo o IAM utente) deve avere accesso all'istanza DB di origine e alla regione di origine.

Alcune condizioni della IAM politica del richiedente possono causare il fallimento della richiesta. Gli esempi seguenti presuppongono che l'istanza database di origine sia in Stati Uniti orientali (Ohio) e la replica di lettura sia creata in US East (N. Virginia). Questi esempi mostrano le condizioni nella IAM politica del richiedente che causano il fallimento della richiesta:

  • La policy del richiedente ha una condizione per aws:RequestedRegion.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-1" } }

    La richiesta ha esito negativo perché la policy non consente l'accesso alla regione di origine. Perché una richiesta sia completata correttamente, specifica sia le regioni di origine che quelle di destinazione.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1", "us-east-2" ] } }
  • La policy del richiedente non consente l'accesso all'istanza database di origine.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "arn:aws:rds:us-east-1:123456789012:db:myreadreplica" ...

    Per una richiesta riuscita, specificare sia l'istanza di origine che la replica.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": [ "arn:aws:rds:us-east-1:123456789012:db:myreadreplica", "arn:aws:rds:us-east-2:123456789012:db:mydbinstance" ] ...
  • La policy del richiedente rifiuta aws:ViaAWSService.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "Bool": {"aws:ViaAWSService": "false"} }

    La comunicazione con la regione di origine viene effettuata per RDS conto del richiedente. Se la richiesta va a buon fine, non rifiutare le chiamate effettuate dai AWS servizi.

  • La policy del richiedente ha una condizione per aws:SourceVpc o aws:SourceVpce.

    Queste richieste potrebbero non riuscire perché quando si RDS effettua la chiamata verso la regione remota, non proviene dall'VPCendpoint VPC o dall'endpoint specificato.

Se è necessario utilizzare una delle condizioni precedenti che causerebbero un errore di una richiesta, è possibile includere una seconda istruzione con aws:CalledVia nella policy in modo che la richiesta abbia esito positivo. Ad esempio, è possibile utilizzare aws:CalledVia con aws:SourceVpce come riportato di seguito:

... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "Condition" : { "ForAnyValue:StringEquals" : { "aws:SourceVpce": "vpce-1a2b3c4d" } } }, { "Effect": "Allow", "Action": [ "rds:CreateDBInstanceReadReplica" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "rds.amazonaws.com" ] } } }

Per ulteriori informazioni, consulta Politiche e autorizzazioni IAM nella Guida per l'IAMutente.

Autorizzazione della replica di lettura

Dopo la restituzione di una richiesta di creazione di una replica di lettura da parte di un database interregionalesuccess, RDS avvia la creazione della replica in background. Viene creata un'autorizzazione per accedere RDS all'istanza DB di origine. Questa autorizzazione collega l'istanza DB di origine alla replica di lettura e RDS consente la copia solo sulla replica di lettura specificata.

L'autorizzazione viene verificata RDS utilizzando l'rds:CrossRegionCommunicationautorizzazione nel ruolo collegato al servizioIAM. Se la replica è autorizzata, RDS comunica con la regione di origine e completa la creazione della replica.

RDSnon ha accesso a istanze DB che non erano state autorizzate in precedenza da una richiesta. CreateDBInstanceReadReplica L'autorizzazione viene revocata al termine della creazione della replica di lettura.

RDSutilizza il ruolo collegato al servizio per verificare l'autorizzazione nella regione di origine. Se si elimina il ruolo collegato al servizio durante il processo di creazione della replica, la creazione non riesce.

Per ulteriori informazioni, vedere Utilizzo dei ruoli collegati ai servizi nella Guida per l'utente. IAM

Utilizzo delle credenziali AWS Security Token Service

I token di sessione dell'endpoint global AWS Security Token Service (AWS STS) sono validi solo se abilitati per impostazione predefinita (regioni commerciali). Regioni AWS Se utilizzi le credenziali dell'assumeRoleAPIoperazione in AWS STS, utilizza l'endpoint regionale se la regione di origine è una regione che richiede l'attivazione. In caso contrario, la richiesta ha esito negativo. Ciò accade perché le credenziali devono essere valide in entrambe le regioni, il che vale per le regioni che hanno aderito solo quando viene utilizzato l'endpoint regionale. AWS STS

Per utilizzare l'endpoint globale, assicurarsi che sia abilitato per entrambe le regioni nelle operazioni. Imposta l'endpoint globale su Valid in all Regioni AWS nelle impostazioni dell'account. AWS STS

La stessa regola si applica alle credenziali nel parametro URL prefirmato.

Per ulteriori informazioni, vedere Managing AWS STS in an Regione AWS nella Guida per l'IAMutente.

Costi della replica tra regioni

I dati trasferiti per la replica tra regioni sono soggetti ai costi di trasferimento dati di RDS Amazon. Queste operazioni di replica tra regioni generano costi per i dati trasferiti al di fuori della Regione AWS di origine:

  • Quando crei una replica di lettura, Amazon RDS scatta uno snapshot dell'istanza di origine e lo trasferisce nella replica di lettura. Regione AWS

  • Per ogni modifica dei dati effettuata nei database di origine, Amazon RDS trasferisce i dati dalla replica di origine Regione AWS alla replica Regione AWS di lettura.

Per ulteriori informazioni sui prezzi di trasferimento dei dati, consulta RDSi prezzi di Amazon.

Per le istanze My SQL e MariadB, puoi ridurre i costi di trasferimento dei dati riducendo il numero di repliche di lettura tra regioni diverse che crei. Ad esempio, supponiamo di avere un'istanza DB di origine in un'istanza Regione AWS e di voler avere tre repliche di lettura in un'altra. Regione AWS In questo caso, puoi creare solo una delle repliche di lettura dall'istanza database di origine. Le altre due repliche vengono create dalla prima replica di lettura anziché dall'istanza database di origine.

Ad esempio, se ne hai source-instance-1 una Regione AWS, puoi fare quanto segue:

  • Crea read-replica-1 nel nuovo Regione AWS, specificando source-instance-1 come fonte.

  • Crea read-replica-2 da read-replica-1.

  • Crea read-replica-3 da read-replica-1.

In questo esempio ti verranno addebitati solo i dati trasferiti da source-instance-1 a read-replica-1. I costi dei dati trasferiti da read-replica-1 alle altre due repliche non ti verranno addebitati perché si trovano tutti nella stessa Regione AWS. Se crei tutte e tre le repliche direttamente da source-instance-1, ti verrà addebitato il trasferimento dei dati in tutte le repliche.