Risoluzione dei problemi nella replica - Amazon Simple Storage 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à.

Risoluzione dei problemi nella replica

Questa sezione riporta i suggerimenti per la risoluzione dei problemi di Replica Amazon S3 e informazioni sugli errori di replica in batch di Amazon S3.

Suggerimenti per la risoluzione dei problemi di Replica Amazon S3

Se le repliche degli oggetti non vengono visualizzate nel bucket di destinazione dopo aver configurato la replica, usa questi suggerimenti per identificare e correggere i problemi.

  • La replica della maggior parte degli oggetti viene eseguita entro 15 minuti. Il tempo impiegato da Amazon S3 per replicare un oggetto dipende da diversi fattori, tra cui la combinazione di regione di origine/regione di destinazione e le dimensioni dell'oggetto. La replica di oggetti di grandi dimensioni può richiedere anche diverse ore. Per una migliore visibilità dei tempi di replica, puoi utilizzare la funzionalità di controllo del tempo di replica di S3 (S3 RTC).

    Se l'oggetto replicato è di grandi dimensioni, attendi qualche minuto prima di controllare se è diventato disponibile nella destinazione. È inoltre possibile controllare lo stato della replica dell'oggetto di origine. Se lo stato della replica dell'oggetto è PENDING, Amazon S3 non ha completato la replica. Se lo stato della replica dell'oggetto è FAILED, controlla la configurazione della replica impostata nel bucket di origine.

    Inoltre, per ricevere informazioni sugli errori di Amazon S3 durante la replica, è possibile configurare la funzionalità Notifiche eventi Amazon S3 in modo da ricevere gli eventi di errore di replica. Per ulteriori informazioni, consulta Ricezione di eventi di errore di replica con notifiche di eventi Amazon S3.

  • È possibile chiamare l'operazione API HeadObject per verificare lo stato della replica di un oggetto. L'operazione API HeadObject restituisce lo stato della replica PENDING, COMPLETED o FAILED di un oggetto. In risposta a una chiamata API HeadObject, lo stato della replica viene restituito nell'intestazione x-amz-replication-status.

    Nota

    Per eseguire HeadObject, è necessario disporre dell'accesso in lettura all'oggetto che si sta richiedendo. Una richiesta HEAD ha le stesse opzioni di una richiesta GET, senza eseguire alcuna operazione GET. Ad esempio, per eseguire una HeadObject richiesta utilizzando AWS Command Line Interface (AWS CLI), è possibile eseguire il comando seguente. Sostituire user input placeholders con le proprie informazioni.

    aws s3api head-object --bucket amzn-s3-demo-source-bucket --key index.html
  • Se HeadObject restituisce oggetti con uno stato della replica FAILED, è possibile utilizzare Replica in batch S3 per eseguire la replica degli oggetti con replica non riuscita. Per ulteriori informazioni, consulta Replica di oggetti esistenti con Replica in batch. In alternativa, puoi caricare nuovamente gli oggetti con replica non riuscita nel bucket di origine, che avvierà la replica dei nuovi oggetti.

  • Nella configurazione di replica nel bucket di origine verifica quanto segue:

    • La correttezza dell'Amazon Resource Name (ARN) relativo al bucket di destinazione.

    • La correttezza del prefisso del nome della chiave. Ad esempio, se si imposta la configurazione per replicare gli oggetti con il prefisso Tax, solo gli oggetti con i nomi della chiave quali Tax/document1 o Tax/document2 vengono replicati. Un oggetto con il nome della chiave document3 non sia replicato.

    • Lo stato della regola di replica è Enabled.

  • Verificare che il controllo delle versioni non sia stato sospeso per i bucket inclusi nella configurazione della replica. Sia per il bucket di origine che per quello di destinazione deve essere abilitata la funzione Controllo delle versioni.

  • Se una regola di replica è impostata su Cambia la proprietà dell'oggetto con il proprietario del bucket di destinazione, il ruolo AWS Identity and Access Management (IAM) utilizzato per la replica deve disporre dell'autorizzazione. s3:ObjectOwnerOverrideToBucketOwner Questa autorizzazione viene concessa sulla risorsa (in questo caso, il bucket di destinazione). Ad esempio, la seguente istruzione Resource mostra come concedere questa autorizzazione al bucket di destinazione:

    { "Effect":"Allow", "Action":[ "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }
  • Se il bucket di destinazione è di proprietà di un altro account, il proprietario del bucket di origine deve concedere l'autorizzazione s3:ObjectOwnerOverrideToBucketOwner al proprietario del bucket di origine. Per utilizzare la seguente policy di esempio, sostituisci user input placeholders con le tue informazioni.

    { "Version": "2012-10-17", "Id": "Policy1644945280205", "Statement": [ { "Sid": "Stmt1644945277847", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789101:role/s3-replication-role" }, "Action": [ "s3:ReplicateObject", "s3:ReplicateTags", "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] }
    Nota

    Se le impostazioni dell'opzione Proprietà dell'oggetto del bucket di destinazione includono Bucket owner enforced, non è necessario aggiornare l'impostazione su Assegna la proprietà degli oggetti al proprietario del bucket di destinazione nella regola di replica. La modifica della proprietà dell'oggetto avverrà per impostazione predefinita. Per ulteriori informazioni sulla modifica della proprietà della replica, consulta Modifica del proprietario della replica.

  • Se stai impostando la configurazione di replica in uno scenario con più account, in cui i bucket di origine e di destinazione sono di proprietà di diversi Account AWS, i bucket di destinazione non possono essere configurati come bucket Requester Pays. Per ulteriori informazioni, consulta Utilizzo dei bucket generici Requester Pays per i trasferimenti e l'utilizzo dello spazio di archiviazione.

  • Se gli oggetti di origine di un bucket sono crittografati mediante crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS), la regola di replica deve essere configurata per includere oggetti con crittografia AWS KMS. Assicurati di selezionare Replica oggetti crittografati con AWS KMS nelle impostazioni dell'opzione Crittografia nella console Amazon S3. Quindi, seleziona una AWS KMS chiave per crittografare gli oggetti di destinazione.

    Nota

    Se il bucket di destinazione si trova in un account diverso, specifica una chiave gestita dal AWS KMS cliente di proprietà dell'account di destinazione. Non utilizzare la chiave predefinita gestita da Amazon S3 (aws/s3). L'utilizzo della chiave predefinita crittografa gli oggetti con la chiave gestita da Amazon S3 di proprietà dell'account di origine, impedendo che l'oggetto venga condiviso con un altro account. Di conseguenza, l'account di destinazione non sarà in grado di accedere agli oggetti nel bucket di destinazione.

    Per utilizzare una AWS KMS chiave che appartiene all'account di destinazione per crittografare gli oggetti di destinazione, l'account di destinazione deve concedere le kms:Encrypt autorizzazioni kms:GenerateDataKey e al ruolo di replica nella politica delle chiavi KMS. Per utilizzare la seguente istruzione di esempio nella policy della chiave KMS, sostituisci user input placeholders con le tue informazioni:

    { "Sid": "AllowS3ReplicationSourceRoleToUseTheKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789101:role/s3-replication-role" }, "Action": ["kms:GenerateDataKey", "kms:Encrypt"], "Resource": "*" }

    Se usi un asterisco (*) per l'istruzione Resource nella policy della chiave AWS KMS , la policy concede l'autorizzazione all'uso della chiave KMS solo per il ruolo di replica. La policy non consente al ruolo di replica di aumentare il livello delle proprie autorizzazioni.

    Per impostazione predefinita, la policy della chiave KMS concede all'utente root le autorizzazioni complete per la chiave. Queste autorizzazioni possono essere delegate ad altri utenti nello stesso account. A meno che non siano presenti istruzioni Deny nella policy della chiave KMS di origine, è sufficiente utilizzare una policy IAM per concedere le autorizzazioni del ruolo di replica alla chiave KMS di origine.

    Nota

    Le policy della chiave KMS che limitano l'accesso a intervalli CIDR, endpoint del cloud privato virtuale (VPC) o punti di accesso S3 specifici possono causare la mancata riuscita della replica.

    Se le chiavi KMS di origine o destinazione concedono autorizzazioni in base al contesto di crittografia, verifica che le chiavi dei bucket Amazon S3 siano attivate per i bucket. Se le chiavi dei bucket Amazon S3 sono attive per i bucket, il contesto di crittografia deve essere la risorsa a livello di bucket, come segue:

    "kms:EncryptionContext:arn:aws:arn": [ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] "kms:EncryptionContext:arn:aws:arn": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ]

    Oltre alle autorizzazioni concesse dalla policy della chiave KMS, l'account di origine deve aggiungere le seguenti autorizzazioni minime alla policy IAM del ruolo di replica:

    { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "Source-KMS-Key-ARN" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Encrypt" ], "Resource": [ "Destination-KMS-Key-ARN" ] }

    Per ulteriori informazioni su come replicare oggetti crittografati con AWS KMS, vedere Replicazione di oggetti crittografati.

  • Se il bucket di destinazione è di proprietà di un altro Account AWS, verifica che il proprietario del bucket disponga di una politica del bucket sul bucket di destinazione che consenta al proprietario del bucket di origine di replicare gli oggetti. Per vedere un esempio, consulta Configurazione della replica per i bucket in account diversi.

  • Per utilizzare Object Lock con la replica, devi concedere due autorizzazioni aggiuntive sul bucket S3 di origine nel ruolo AWS Identity and Access Management (IAM) che usi per configurare la replica. Le due nuove autorizzazioni aggiuntive sono s3:GetObjectRetention e s3:GetObjectLegalHold. Se il ruolo dispone di un'istruzione di autorizzazione s3:Get*, tale istruzione soddisfa il requisito. Per ulteriori informazioni, consulta Utilizzo di Object Lock con la replica S3.

  • Se i tuoi oggetti non si replicano anche dopo aver convalidato le autorizzazioni, verifica la presenza di eventuali istruzioni Deny esplicite nelle seguenti posizioni:

    • Le istruzioni Deny nelle policy di bucket di origine o di destinazione. La replica non riesce se la policy del bucket nega l'accesso al ruolo di replica per una delle seguenti operazioni:

      Bucket di origine:

      "s3:GetReplicationConfiguration", "s3:ListBucket", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging"

      Bucket di destinazione:

      "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags"
    • Le istruzioni Deny o i limiti delle autorizzazione associati al ruolo IAM possono causare la mancata esecuzione della replica.

    • Denyle istruzioni nelle policy di controllo del AWS Organizations servizio (SCPs) allegate agli account di origine o di destinazione possono causare il fallimento della replica.

    • Denyle istruzioni nelle policy di controllo AWS Organizations delle risorse (RCPs) allegate ai bucket di origine o di destinazione possono causare il fallimento della replica.

  • Se la replica di un oggetto non è presente nel bucket di destinazione, il problema a livello di replica potrebbe essere dovuto alle cause seguenti:

    • Amazon S3 non replica un oggetto in un bucket di origine che è una replica creata da un'altra configurazione di replica. Se, ad esempio, imposti una configurazione di replica dal bucket A al bucket B al bucket C, Amazon S3 non replica le repliche degli oggetti del bucket B nel bucket C.

    • Il proprietario del bucket di origine può concedere altre Account AWS autorizzazioni per caricare oggetti. Per impostazione predefinita, il proprietario del bucket di origine non dispone di autorizzazioni per gli oggetti creati da altri account. La configurazione di replica esegue la replica solo degli oggetti per i quali il proprietario del bucket di origine dispone delle autorizzazioni di accesso. Per evitare questo problema, il proprietario del bucket di origine può concedere altre Account AWS autorizzazioni per creare oggetti in modo condizionale, richiedendo autorizzazioni di accesso esplicite su tali oggetti. Per un esempio di policy, consulta Concedere autorizzazioni multi-account per il caricamento di oggetti a garanzia del controllo completo da parte del proprietario del bucket.

  • Supponiamo di aggiungere nella configurazione della replica una regola per replicare un sottoinsieme di oggetti con un tag specifico. In questo caso, è necessario assegnare il valore e la chiave del tag specifici al momento della creazione dell'oggetto per permettere ad Amazon S3 di replicare l'oggetto. Se prima crei un oggetto e quindi aggiungi il tag all'oggetto esistente, Amazon S3 non replica l'oggetto.

  • Usare la funzionalità Notifiche di eventi Amazon S3 per inviare un avviso nei casi in cui gli oggetti non vengono replicati nella Regione AWS di destinazione. Le notifiche di eventi di Amazon S3 sono disponibili tramite Amazon Simple Queue Service (Amazon SQS), Amazon Simple Notification Service (Amazon SNS) oppure. AWS Lambda Per ulteriori informazioni, consulta Ricezione di eventi di errore di replica con notifiche di eventi Amazon S3.

    Puoi anche visualizzare i motivi degli errori di replica usando la funzionalità Notifiche eventi Amazon S3. Per esaminare l'elenco dei motivi degli errori, consulta Motivi degli errori di replica Amazon S3.

Errori di replica in batch

Per risolvere i problemi relativi agli oggetti che non vengono replicati nel bucket di destinazione, controllare i diversi tipi di autorizzazioni per i bucket, il ruolo di replica e il ruolo IAM utilizzati per creare il processo di replica in batch. Inoltre, occorre assicurarsi di controllare le impostazioni Blocco dell'accesso pubblico e le impostazioni Proprietà oggetti S3 dei bucket.

Per ulteriori suggerimenti per la risoluzione dei problemi relativi all'utilizzo di Operazioni in batch, consulta Risoluzione dei problemi con Operazioni in batch.

Se hai configurato la replica e gli oggetti non si replicano, vedi Perché i miei oggetti Amazon S3 non si replicano quando configuro la replica tra i miei bucket? AWS re:Post nel Knowledge Center.

Durante l'utilizzo della replica in batch, è possibile che si verifichi uno dei seguenti errori:

  • La generazione del manifesto non ha trovato chiavi corrispondenti ai criteri di filtro.

    Questo errore può verificarsi per uno dei seguenti motivi:

    • Quando gli oggetti nel bucket di origine vengono archiviati nelle classi di storage Recupero flessibile Amazon S3 Glacier o S3 Glacier Deep Archive.

      Per utilizzare la replica in batch su questi oggetti, è innanzitutto necessario ripristinarli nella classe di storage S3 Standard utilizzando un'operazione Ripristino (S3InitiateRestoreObjectOperation) in un processo di operazioni in batch. Per ulteriori informazioni, consulta Ripristino di un oggetto archiviato e Ripristino di oggetti (operazioni in batch). Dopo aver ripristinato gli oggetti, è possibile replicarli utilizzando un processo di replica in batch.

    • Quando i criteri di filtro forniti non corrispondono a nessun oggetto valido nel bucket di origine.

      Verificare e correggere i criteri di filtro. Ad esempio, nella regola Replica in batch, i criteri di filtro cercano tutti gli oggetti nel bucket di origine con il prefisso Tax/. Se il nome del prefisso è stato inserito in modo errato, con una barra all'inizio e alla fine /Tax/ anziché solo alla fine, non viene trovato alcun oggetto S3. Per risolvere l'errore, correggere il prefisso, in questo caso, da /Tax/ in Tax/ nella regola di replica.

  • Lo stato dell'operazione in batch non è riuscito e il motivo è: non è stato possibile scrivere il report del processo nel bucket dei report.

    Questo errore si verifica se il ruolo IAM utilizzato per il processo Operazioni in batch non è in grado di inserire il report di completamento nella posizione specificata al momento della creazione del processo. Per risolvere questo problema, verificare che il ruolo IAM disponga dell'autorizzazione s3:PutObject per il bucket in cui si desidera salvare il report di completamento di Operazioni in batch. È consigliabile inviare il report a un bucket diverso dal bucket di origine.

    Per ulteriori suggerimenti sulla risoluzione di questo errore, consulta Il report di processo non viene consegnato in presenza di un problema di autorizzazioni o di una modalità di conservazione S3 Object Lock attivata.

  • L'operazione in batch è stata completata con errori e il totale degli errori non è 0.

    Questo errore si verifica in presenza di problemi relativi ad autorizzazioni oggetti insufficienti per il processo di replica in batch in esecuzione. Se si utilizza una regola di replica per il processo di replica in batch, assicurarsi che il ruolo IAM utilizzato per la replica disponga delle autorizzazioni appropriate per accedere agli oggetti dal bucket di origine o di destinazione. Puoi anche controllare il rapporto sul completamento della replica in batch per esaminare il motivo specifico dell'errore di Replica Amazon S3.

  • Il processo batch è stato eseguito correttamente ma il numero di oggetti previsti nel bucket di destinazione non è lo stesso.

    Questo errore si verifica quando c'è una mancata corrispondenza tra gli oggetti elencati nel manifesto fornito nel processo di replica in batch e i filtri selezionati al momento della creazione del processo. È possibile che questo messaggio venga visualizzato anche quando gli oggetti nel bucket di origine non corrispondono a nessuna regola di replica e non sono inclusi nel manifesto generato.

Gli errori relativi alle operazioni in batch si verificano dopo l'aggiunta di una nuova regola di replica a una configurazione della replica esistente

Il processo Operazioni in batch tenta di eseguire la replica degli oggetti esistenti per ogni regola nella configurazione della replica del bucket di origine. In caso di problemi con una delle regole di replica esistenti, è possibile che vengano restituiti errori.

Il report di completamento del processo Operazioni in batch spiega i motivi della mancata esecuzione del processo. Per visualizzare un elenco di errori comuni, consulta Motivi degli errori di replica Amazon S3.