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.
È 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-replica
comando o richiamare l'CreateDBInstanceReadReplica
APIoperazione.
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.
Argomenti
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
-
Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/
. -
Nel riquadro di navigazione, scegli Databases (Database).
-
Scegli l'istanza DB MariaDB, SQL Microsoft ServerSQL, My, Oracle SQL o Postgre che desideri utilizzare come origine per una replica di lettura.
-
Per Actions (Operazioni), scegliere Create read replica (Crea replica di lettura).
-
Per DB instance identifier (Identificatore istanze DB) inserire un nome per la replica di lettura.
-
Seleziona la regione di destinazione.
-
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.
-
Per creare una replica di lettura crittografata in un'altra: Regione AWS
-
Scegliere Enable encryption (Abilita crittografia).
-
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.
-
-
Scegli altre opzioni, ad esempio il dimensionamento automatico dello storage.
-
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-replica
dalla 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-replica
comando 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
\ --regionus-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
^ --regionus-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
\ --regionus-west-2
\ --source-db-instance-identifier arn:aws:rds:us-east-1
:123456789012
:db:mydbinstance
\ --kms-key-idmy-us-west-2-key
In Windows:
aws rds create-db-instance-read-replica ^ --db-instance-identifier
myreadreplica
^ --regionus-west-2
^ --source-db-instance-identifier arn:aws:rds:us-east-1
:123456789012
:db:mydbinstance
^ --kms-key-idmy-us-west-2-key
L'--source-region
opzione è 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-url
opzione, 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'RDSAPICreateDBInstanceReadReplica
operazione Amazon dalla destinazione Regione AWS. Per creare una replica di lettura crittografata in un'altra Regione AWS, devi specificare un valore per. PreSignedURL
PreSignedURL
deve contenere una richiesta per l'CreateDBInstanceReadReplica
operazione 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=®ion-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:
-
Amazon RDS inizia a configurare l'istanza DB di origine come origine di replica e imposta lo stato su modifica.
-
Amazon RDS inizia a configurare la replica di lettura specificata nella destinazione Regione AWS e imposta lo stato su creazione.
-
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'istanzamysourceinstance
il2013-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). -
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).
-
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.
-
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 CLIcreate-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
oaws: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:CrossRegionCommunication
autorizzazione 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'assumeRole
APIoperazione 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, specificandosource-instance-1
come fonte. -
Crea
read-replica-2
daread-replica-1
. -
Crea
read-replica-3
daread-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.