Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
Come posso risolvere l'errore "Creazione non riuscita" o "Autorizzazione negata" che compare quando provo a ripristinare il cluster ElastiCache da S3?
Desidero risolvere l'errore "Creazione non riuscita" o "Autorizzazione negata" che compare quando provo a ripristinare il cluster Amazon ElastiCache da Amazon Simple Storage Service (Amazon S3).
Breve descrizione
Di seguito sono riportati i motivi più comuni per cui il ripristino di un backup ElastiCache da Amazon S3 non riesce:
- Hai tentato di ripristinare un backup non rispettando le limitazioni previste per il backup.
- ElastiCache non è riuscito a recuperare il file da Amazon S3.
- Il file di backup ElastiCache si trova in un bucket Amazon S3 ubicato in un'altra regione AWS.
- Stai ripristinando un file rdb che contiene più database in un cluster ElastiCache con la modalità cluster attivata.
Soluzione
Hai tentato di ripristinare un backup non rispettando le limitazioni previste per il backup
Quando ripristini un backup di ElastiCache per Redis, assicurati di aver compreso le limitazioni del backup:
- Non è possibile eseguire il ripristino da un backup che utilizzava un cluster Redis con la modalità cluster attivata su un cluster Redis con la modalità cluster disattivata.
- Quando si ripristina un backup da un cluster ElastiCache con la modalità cluster attivata, non è possibile disattivare la modalità cluster nella console ElastiCache. L'opzione per attivare la modalità cluster è solo disponibile.
- Quando si esporta un backup con un cluster ElastiCache che ha la modalità cluster attivata su Amazon S3, vengono creati più file rdb. Se inizializzi il backup da Amazon S3 con un file di backup rdb, vengono inviate al cluster solo le chiavi di una singola partizione. Se tenti di aggirare questo problema utilizzando un file *rdb con un carattere jolly, viene visualizzato il seguente errore.
"Error: Object or bucket does not exist for S3 object: examplebucket/cluster-mode-enabled-*.rdb." - Non è possibile ripristinare un backup da un cluster che utilizza il tiering dei dati. Ad esempio, non è possibile ripristinare un nodo r6gd in un cluster che non utilizza il tiering dei dati.
- Non è possibile esportare il backup con tiering dei dati su Amazon S3. Inoltre, non è possibile ripristinare un backup con tiering dei dati ElastiCache da Amazon S3. Per maggiori informazioni, consulta Limitations.
- Per i file rdb con più database, non è possibile eseguire il ripristino da un cluster Redis (modalità cluster disattivata) a un cluster Redis (modalità cluster attivata). Quando si tenta di eseguire questa operazione, viene visualizzato il seguente errore:
"Error: To restore a snapshot in cluster mode, all keys in the RDB file should reside in DB 0."
ElastiCache non è riuscito a recuperare il file da Amazon S3
Se ElastiCache non dispone delle autorizzazioni necessarie per accedere al backup ElastiCache archiviato nel bucket Amazon S3, viene visualizzato il seguente errore:
"Restore from snapshot failed for node group 0001 in replication group test. Failed to retrieve file from S3."
Per verificare il problema delle autorizzazioni, controlla gli eventi ElastiCache. Quando identifichi la causa dell'errore, verifica che la tua regione sia una delle seguenti:
- Una regione opt-in
- Cina (Pechino) e Cina (Ningxia)
- AWS GovCloud (Stati uniti occidentali)
- Una regione predefinita
Per una regione opt-in, è necessario disporre di una policy del bucket che consenta a ElastiCache di recuperare il file di backup da Amazon S3.
Se il bucket Amazon S3 si trova in una delle seguenti regioni, devi consentire al servizio ElastiCache di accedere al file di backup in S3:
- Cina (Pechino) e Cina (Ningxia)
- AWS GovCloud (Stati uniti occidentali)
- Una regione predefinita
Nota: l'ID canonico per le regioni Cina (Pechino), Cina (Ningxia) e AWS GovCloud (Stati Uniti occidentali) è diverso dalle regioni AWS predefinite:
- Cina (Pechino) e Cina (Ningxia) - b14d6a125bdf69854ed8ef2e71d8a20b7c490f252229b806e514966e490b8d83
- AWS GovCloud (Stati Uniti occidentali) - 40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
- Regioni predefinite AWS - 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
Quando utilizzi un ID canonico o una policy del bucket per concedere a ElastiCache l'accesso all'oggetto di backup rdb, ripristina il cluster Redis.
Il file di backup ElastiCache si trova in un bucket Amazon S3 di un'altra regione
Se provi a ripristinare un backup ElastiCache che si trova in un bucket Amazon S3 di un'altra regione, viene visualizzato il seguente errore:
"Permission denied to access S3 object. Please use the S3 object in the same region."
Per risolvere questo errore, completa i seguenti passaggi:
Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
-
Usa il seguente comando per copiare il file di backup rdb dal bucket Amazon S3. Assicurati che il bucket contenga il backup nella regione in cui viene ripristinato il cluster Redis. Per ulteriori informazioni, consulta Quali sono le best practice per la migrazione del mio cluster ElastiCache per Redis?
Nota: sostituisci example-source-bucket, example-destination-bucket, example-backup, example-source-region e example destination-region con i valori dei nomi appropriati.
aws s3 cp s3://example-source-bucket/example-backup.rdb s3://example-destination-bucket/example-backup.rdb --acl bucket-owner-full-control --source-region example-source-region --region example-destination-region
-
Verificare che al file di backup rdb siano state assegnate le autorizzazioni corrette (ID canonico o policy del bucket).
-
Continua a ripristinare il cluster.
Stai ripristinando un file rdb che contiene più database in un cluster ElastiCache con la modalità cluster attivata
Se ripristini un file rdb che contiene più database in un cluster ElastiCache con la modalità cluster attivata, viene visualizzato il seguente errore:
"Restore from snapshot failed for node group 0001 in replication group test. Per ripristinare uno snapshot in modalità cluster, tutte le chiavi del file RDB devono risiedere nel DB 0. ID snapshot: arn:aws:s3:::example-bucket/multidb.rdb"
Per verificare la causa dell'errore di ripristino, controlla gli eventi di ElastiCache.
Per risolvere questo errore, completa i seguenti passaggi:
- Assicurati che tutte le chiavi siano migrate in un singolo database. Per ulteriori informazioni, consulta Migrate sul sito Web di Redis.
Nota: se il database di origine si trova su ElastiCache Redis, il comando migrate non è supportato. Per ovviare a questo problema, usa altri strumenti Redis, ad esempio RIOT. Per ulteriori informazioni, consulta riot sul sito Web di Redis. - Crea un backup locale del database Redis.
- Carica il backup su Amazon S3.
- Continua a eseguire il ripristino su un cluster ElastiCache (modalità cluster attivata).

Contenuto pertinente
- AWS UFFICIALEAggiornata 8 mesi fa
- AWS UFFICIALEAggiornata 10 mesi fa