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 richiamare l'operazione API HeadObject per verificare lo stato della replica 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'elemento 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 richiesta HeadObject utilizzando la AWS Command Line Interface (AWS CLI), puoi eseguire il seguente comando. Sostituire user input placeholders con le proprie informazioni.

    aws s3api head-object --bucket my-bucket --key index.html
  • Dopo la restituzione da parte di HeadObject degli oggetti con uno stato della replica FAILED, puoi utilizzare Replica Amazon S3 per eseguire la replica degli oggetti con replica non riuscita. 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.

  • Verifica 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 Assegna la proprietà degli oggetti al 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:::DestinationBucket/*" }
  • 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:::DestinationBucket/*" } ] }
    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 tra più account, in cui i bucket di origine e di destinazione sono di proprietà di diversiAccount 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 gente di un bucket sono crittografati con una chiave AWS Key Management Service (AWS 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. Seleziona quindi una chiave AWS KMS per crittografare gli oggetti di destinazione.

    Nota

    Se il bucket di destinazione si trova in un account diverso, specifica una chiave gestita dal cliente AWS KMS 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 chiave AWS KMS appartenente all'account di destinazione per crittografare gli oggetti di destinazione, l'account di destinazione deve concedere le autorizzazioni kms:GenerateDataKey e kms:Encrypt al ruolo di replica nella policy della chiave 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 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:::SOURCE_BUCKET_NAME" ] "kms:EncryptionContext:arn:aws:arn": [ "arn:aws:s3:::DESTINATION_BUCKET_NAME" ]

    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": [ "SourceKmsKeyArn" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Encrypt" ], "Resource": [ "DestinationKmsKeyArn" ] }

    Per ulteriori informazioni su come eseguire la replica di oggetti crittografati con AWS KMS, consulta Replica di oggetti crittografati.

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

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

    • Le istruzioni Deny contenute nelle policy di controllo del servizio AWS Organizations associate agli account di origine o di destinazione possono causare la mancata esecuzione 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 di un bucket di origine può concedere ad altri Account AWS l'autorizzazione necessaria per caricare gli 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. Il proprietario del bucket di origine può concedere ad altri Account AWS le autorizzazioni necessarie per creare oggetti in modo condizionale, richiedendo autorizzazioni di accesso esplicite su quegli 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 la funzionalità Notifiche eventi Amazon S3 per inviare un avviso nei casi in cui gli oggetti non vengono replicati nella Regione AWS di destinazione. Le notifiche eventi di Amazon S3 sono disponibili tramite Amazon Simple Queue Service (Amazon SQS), Servizio di notifica semplice Amazon (Amazon SNS) o 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, controlla i diversi tipi di autorizzazioni per il bucket, il ruolo di replica e il ruolo IAM utilizzati per creare il processo di replica in batch. Inoltre, assicurati di controllare le impostazioni di accesso pubblico e le impostazioni della proprietà del bucket.

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

  • 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, verifica che il ruolo IAM disponga delle autorizzazioni PutObject per il bucket in cui desideri salvare il report di completamento delle operazioni in batch. Si tratta di una best practice per inviare il report a un bucket diverso da quello di origine.

  • 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 processo di replica in batch, assicurati 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.