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 la visibilità dei tempi di replica, è possibile utilizzare S3 Replication Time Control (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.

  • Per verificare lo stato di replica di un oggetto, puoi chiamare l'operazione. HeadObject API L'HeadObjectAPIoperazione restituisce PENDING lo COMPLETED stato di FAILED replica di un oggetto. In risposta a una HeadObject API chiamata, lo stato di replica viene restituito nell'x-amz-replication-statusintestazione.

    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 di FAILED replica, è possibile utilizzare S3 Batch Replication per replicare quegli oggetti falliti. Per ulteriori informazioni, consulta Replica di oggetti esistenti con Batch Replication. 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:

    • L'Amazon Resource Name (ARN) del bucket di destinazione è corretto.

    • 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.

  • Verifica che il controllo delle versioni non sia stato sospeso su nessun bucket nella configurazione di 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 con pagamento a carico del richiedente per utilizzo e trasferimenti di storage.

  • Se gli oggetti di origine di un bucket sono crittografati utilizzando la crittografia lato server con AWS Key Management Service (AWS KMS) chiavi (SSE-KMS), la regola di replica deve essere configurata per includere oggetti crittografati. AWS KMS Assicurati di selezionare Replica oggetti crittografati con AWS KMS nelle impostazioni dell'opzione Crittografia nella console Amazon S3. Quindi, selezionate 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 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 appartenente 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 chiave. KMS Per utilizzare la seguente dichiarazione di esempio nella politica KMS chiave, sostituiscila 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 si utilizza un asterisco (*) per l'Resourceistruzione nella politica AWS KMS chiave, la politica concede l'autorizzazione a utilizzare la KMS chiave 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 KMS chiave 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 vi siano Deny istruzioni nella politica della KMS chiave di origine, è sufficiente utilizzare una IAM politica per concedere le autorizzazioni del ruolo di replica alla chiave di origineKMS.

    Nota

    KMSle policy chiave che limitano l'accesso a CIDR intervalli specifici, endpoint del cloud privato virtuale (VPC) o punti di accesso S3 possono causare il fallimento della replica.

    Se le KMS chiavi di origine o di destinazione concedono autorizzazioni in base al contesto di crittografia, verifica che le chiavi Bucket di 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 politica delle KMS chiavi, l'account di origine deve aggiungere le seguenti autorizzazioni minime alla politica del ruolo di replica: IAM

    { "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 diversi account.

  • 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"
    • Denyi limiti delle dichiarazioni o delle autorizzazioni associati al ruolo possono causare il fallimento della IAM 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.

  • Usa Amazon S3 Event Notifications per notificare le istanze in cui gli oggetti non si replicano nella loro destinazione. Regione AWS Le notifiche degli eventi di Amazon S3 sono disponibili tramite Amazon Simple Queue Service (Amazon)SQS, Amazon Simple Notification Service (AmazonSNS) 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 si replicano nel bucket di destinazione, controlla i diversi tipi di autorizzazioni per i bucket, il ruolo di replica e IAM il ruolo utilizzato per creare il processo di replica in batch. Inoltre, assicurati di controllare le impostazioni Block Public Access e S3 Object Ownership per i tuoi bucket.

Per ulteriori suggerimenti per la risoluzione dei problemi relativi all'utilizzo delle Operazioni Batch, vedereRisoluzione dei problemi relativi alle operazioni Batch.

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 si verifica per uno dei seguenti motivi:

    • Quando gli oggetti nel bucket di origine sono archiviati nelle classi di storage S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive.

      Per utilizzare la replica in batch su questi oggetti, ripristinali innanzitutto nella classe di storage S3 Standard utilizzando un'operazione Restore (S3InitiateRestoreObjectOperation) in un job Batch Operations. 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.

      Verifica e correggi i criteri di filtro. Ad esempio, nella regola Batch Replication, 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 è stato trovato alcun oggetto S3. Per risolvere l'errore, correggi il prefisso, in questo caso, da /Tax/ a 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 IAM ruolo utilizzato per il processo Batch Operations non è in grado di inserire il rapporto di completamento nella posizione specificata al momento della creazione del lavoro. Per risolvere questo errore, verifica che il IAM ruolo disponga dell's3:PutObjectautorizzazione per il bucket in cui desideri salvare il rapporto sul completamento delle operazioni in Batch. Ti consigliamo di inviare il rapporto a un bucket diverso da quello di origine.

    Per ulteriori suggerimenti sulla risoluzione di questo errore, consulta. Il rapporto sul lavoro non viene fornito quando c'è un problema di autorizzazioni o è abilitata una modalità di conservazione S3 Object Lock

  • 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 utilizzi una regola di replica per il tuo processo di replica in batch, assicurati che il IAM ruolo 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.