

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

# Configurazione della replica per i bucket nello stesso account
<a name="replication-walkthrough1"></a>

La replica live è la copia automatica e asincrona di oggetti su bucket generici uguali o diversi. Regioni AWS La replica in tempo reale copia gli oggetti appena creati e gli aggiornamenti degli oggetti da un bucket di origine in uno o più bucket di destinazione. Per ulteriori informazioni, consulta [Replica di oggetti all'interno e tra le Regioni](replication.md).

Quando si configura la replica, vengono aggiunte le regole di replica al bucket di origine. Le regole di replica definiscono gli oggetti del bucket di origine da replicare e i bucket di destinazione in cui vengono archiviati gli oggetti replicati. È possibile creare una regola per replicare tutti gli oggetti in un bucket o un sottoinsieme di oggetti con un prefisso di nome di chiave specifico, uno o più tag di oggetto o entrambi gli elementi. Un bucket di destinazione può trovarsi nello stesso Account AWS del bucket di origine oppure può trovarsi in un account diverso.

Se specifichi l'ID della versione dell'oggetto da eliminare, Amazon S3 elimina la versione dell'oggetto nel bucket di origine. Ma non replica l'eliminazione nel bucket di destinazione. In altre parole, non elimina la stessa versione dell'oggetto dal bucket di destinazione. Ciò permette di proteggere i dati da eliminazioni da parte di utenti malintenzionati.

Quando si aggiunge una regola di replica a un bucket, la regola viene abilitata per impostazione predefinita e pertanto inizia a funzionare non appena viene salvata. 

In questo esempio viene configurata la replica per i bucket di origine e di destinazione di proprietà dello stesso Account AWS. Vengono forniti esempi per l'utilizzo della console Amazon S3, di AWS Command Line Interface (AWS CLI) e di and. AWS SDK per Java AWS SDK per .NET

## Prerequisiti
<a name="replication-prerequisites"></a>

Prima di utilizzare le seguenti procedure, assicurati di aver impostato le autorizzazioni necessarie per la replica, a seconda che i bucket di origine e destinazione siano di proprietà dello stesso account o di account diversi. Per ulteriori informazioni, consulta [Configurazione delle autorizzazioni per la replica in tempo reale](setting-repl-config-perm-overview.md).

**Nota**  
Se si desidera replicare oggetti crittografati, è opportuno anche concedere le autorizzazioni chiave AWS Key Management Service (AWS KMS) necessarie. Per ulteriori informazioni, consulta [Replica di oggetti crittografati (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
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) utilizzato 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](object-lock-managing.md#object-lock-managing-replication). 

## Utilizzo della console S3
<a name="enable-replication"></a>

Per configurare una regola di replica quando il bucket di destinazione si trova nello stesso bucket di origine, segui Account AWS questi passaggi.

Se il bucket di destinazione si trova in un account diverso rispetto al bucket di origine, è necessario aggiungere al bucket di destinazione una policy di bucket per concedere al proprietario dell'account del bucket di origine l'autorizzazione per replicare gli oggetti nel bucket di destinazione. Per ulteriori informazioni, consulta [(Facoltativo) Fase 3: Concessione delle autorizzazioni quando i bucket di origine e di destinazione sono di proprietà di diversi Account AWS](setting-repl-config-perm-overview.md#setting-repl-config-crossacct).

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione sinistro, scegli **Bucket per uso generico**.

1. Nell’elenco dei bucket scegli il nome del bucket desiderato.

1. Seleziona la scheda **Gestione**, scorri verso il basso fino a **Regole di replica** e quindi scegli **Crea regola di replica**.

    

1. Nella sezione **Configurazione della regola di replica**, in **Nome della regola di replica**, specifica il nome della regola per semplificarne l'identificazione in un secondo momento. Il nome è obbligatorio e deve essere univoco all'interno del bucket.

1. In **Status (Stato)**, l'opzione **Enabled (Abilitata)** è selezionata per impostazione predefinita. Una regola abilitata inizia a funzionare non appena viene salvata. Se desideri abilitare la regola in un secondo momento, scegli **Disabilitata**.

1. Se il bucket dispone di regole di replica esistenti, viene chiesto di impostare una priorità per la regola. È necessario impostare una priorità per la regola per evitare i conflitti causati dagli oggetti inclusi nell'ambito di più regole. In caso di regole sovrapposte, Amazon S3 utilizza la priorità delle regole per determinare quale regola applicare. Più elevato è il numero, maggiore è la priorità. Per ulteriori informazioni sulla priorità delle regole, consulta [Elementi del file di configurazione della replica](replication-add-config.md).

1. In **Bucket di origine** sono disponibili le seguenti opzioni per l'impostazione dell'origine della replica:
   + Per replicare l'intero bucket, scegli **Apply to all objects in the bucket** (Applica a tutti gli oggetti nel bucket). 
   + Per replicare tutti gli oggetti con lo stesso prefisso, scegli **Limita l'ambito di questa regola utilizzando uno o più filtri**. Ciò limita la replica a tutti gli oggetti con nomi che iniziano il prefisso specificato, ad esempio `pictures`. Immetti un prefisso nella casella **Prefisso**. 
**Nota**  
Se si immette un prefisso corrispondente al nome di una cartella, è necessario utilizzare **/** (barra) come ultimo carattere (ad esempio, `pictures/`).
   + Per replicare tutti gli oggetti con uno o più tag oggetto, scegli **Aggiungi tag** e specifica la coppia chiave-valore nelle caselle. Per aggiungere un altro tag, ripetere la procedura. È possibile combinare un prefisso con i tag. Per ulteriori informazioni sui tag degli oggetti, consulta [Classificazione degli oggetti utilizzando i tag](object-tagging.md).

   Il nuovo schema XML della configurazione della replica supporta il filtro basato su prefissi e tag e l'impostazione della priorità delle regole. Per ulteriori informazioni sul nuovo schema, consulta [Considerazioni sulla compatibilità con le versioni precedenti](replication-add-config.md#replication-backward-compat-considerations). Per ulteriori informazioni sull'XML utilizzato con l'API Amazon S3 che funziona con l'interfaccia utente, consulta [Elementi del file di configurazione della replica](replication-add-config.md). Il nuovo schema è descritto come *configurazione di replica XML V2*.

1. In **Destinazione**, scegli il bucket in cui desideri che Amazon S3 esegui la replica degli oggetti.
**Nota**  
Il numero di bucket di destinazione è limitato al numero di bucket Regioni AWS presenti in una determinata partizione. Una partizione è un raggruppamento di regioni. AWS attualmente ha tre partizioni: `aws` (Regioni standard), `aws-cn` (Regioni della Cina) e `aws-us-gov` (AWS GovCloud (US) Regioni). È possibile utilizzare le [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) per richiedere un aumento del limite per i bucket di destinazione.
   + Per eseguire la replica in un periodo fisso nel tuo account, seleziona **Scegli un bucket in questo account** e digita o cerca i bucket di destinazione. 
   + Per eseguire la replica in uno o più bucket in un altro account Account AWS, scegli **Specificare un bucket in un altro account e inserisci l'ID dell'account** del bucket di destinazione e il nome del bucket. 

     Se il bucket di destinazione si trova in un account diverso rispetto al bucket di origine, dovrai aggiungere ai bucket di destinazione una policy di bucket per concedere al proprietario dell'account del bucket di origine l'autorizzazione per replicare gli oggetti nei bucket di destinazione. Per ulteriori informazioni, consulta [(Facoltativo) Fase 3: Concessione delle autorizzazioni quando i bucket di origine e di destinazione sono di proprietà di diversi Account AWS](setting-repl-config-perm-overview.md#setting-repl-config-crossacct).

     Facoltativamente, se desideri standardizzare la proprietà dei nuovi oggetti nel bucket di destinazione, seleziona **Assegna la proprietà degli oggetti al proprietario del bucket di destinazione**. Per ulteriori informazioni su questa opzione, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).
**Nota**  
Se la funzione Controllo delle versioni non è abilitata nel bucket di destinazione, viene visualizzato un messaggio di avviso contenente un pulsante **Abilita Controllo delle versioni**. Seleziona questo pulsante per abilitare la funzione Controllo delle versioni nel bucket.

1. Imposta un ruolo AWS Identity and Access Management (IAM) che Amazon S3 può assumere per replicare gli oggetti per tuo conto.

   Per impostare un ruolo IAM, nella sezione **Ruolo IAM** seleziona uno dei seguenti valori nell'elenco a discesa **Ruolo IAM**:
   + Consigliamo di scegliere **Crea nuovo ruolo** per fare in modo che Amazon S3 crei un nuovo ruolo IAM per l'utente. Quando salvi la regola, viene generata una nuova policy per il ruolo IAM corrispondente ai bucket di origine e di destinazione scelti.
   + Puoi decidere di utilizzare un ruolo IAM esistente. In tal caso, è necessario scegliere un ruolo che conceda ad Amazon S3 le autorizzazioni necessarie per la replica. Se questo ruolo non concede autorizzazioni sufficienti ad Amazon S3 per seguire la regola di replica, la replica non riesce.
**Importante**  
Quando si aggiunge una regola di replica a un bucket, si deve disporre dell'autorizzazione `iam:PassRole` per poter passare il ruolo IAM che concede le autorizzazioni di replica Amazon S3. Per ulteriori informazioni, consulta [Concessione di autorizzazioni utente per il passaggio di un ruolo a un Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) nella *Guida per l'utente di IAM*.

1. ****Per replicare gli oggetti nel bucket di origine che sono crittografati con crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS), in Crittografia, seleziona Replica oggetti crittografati con. AWS KMS**** In **Chiavi AWS KMS per crittografare gli oggetti di destinazione** sono disponibili le chiavi di origine che consentono la replica da utilizzare. Tutte le chiavi KMS di origine sono incluse per impostazione predefinita. Per limitare la selezione delle chiavi KMS, puoi scegliere un alias o un ID chiave. 

   Gli oggetti crittografati da quelli non selezionati AWS KMS keys non vengono replicati. Viene scelta una chiave KMS o un gruppo di chiavi KMS, ma se lo desideri puoi scegliere le chiavi KMS. Per informazioni sull'utilizzo AWS KMS con la replica, vedere. [Replica di oggetti crittografati (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md)
**Importante**  
Quando si replicano oggetti crittografati con AWS KMS, la frequenza di AWS KMS richiesta raddoppia nella regione di origine e aumenta nella regione di destinazione dello stesso importo. L'aumento delle frequenze di chiamata è dovuto al modo in cui i dati AWS KMS vengono ricrittografati utilizzando la chiave KMS definita per la regione di destinazione della replica. AWS KMS ha una quota di frequenza di richiesta per account chiamante per regione. Per informazioni sulle quote predefinite, consulta la sezione [Quote di AWS KMS - richieste al secondo: variabili](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) nella *Guida per gli sviluppatori di AWS Key Management Service *.   
Se la tua attuale frequenza di richieste di `PUT` oggetti Amazon S3 durante la replica è superiore alla metà del limite di AWS KMS velocità predefinito per il tuo account, ti consigliamo di richiedere un aumento della quota di frequenza delle AWS KMS richieste. Per richiedere un incremento, invia una richiesta tramite il Supporto Center nella sezione [Contatti](https://aws.amazon.com/contact-us/). Ad esempio, supponiamo che la tua attuale frequenza di richieste di `PUT` oggetti sia di 1.000 richieste al secondo e che tu le utilizzi per AWS KMS crittografare gli oggetti. In questo caso, ti consigliamo di chiedere Supporto di aumentare il limite AWS KMS di frequenza a 2.500 richieste al secondo, sia nella regione di origine che in quella di destinazione (se diversa), per evitare limitazioni. AWS KMS  
Per visualizzare la frequenza delle richieste di `PUT` oggetti nel bucket di origine, consulta i parametri di CloudWatch richiesta di Amazon per Amazon S3. `PutRequests` Per informazioni sulla visualizzazione delle CloudWatch metriche, consulta. [Utilizzo della console S3](configure-request-metrics-bucket.md#configure-metrics)

   Se hai scelto di replicare gli oggetti crittografati con AWS KMS, procedi come segue: 

   1. In **AWS KMS key per crittografare gli oggetti di destinazione**, specifica la tua chiave KMS in uno dei seguenti modi:
     + Per effettuare una selezione in un elenco di chiavi KMS disponibili, seleziona **Scegli tra le chiavi AWS KMS keys** e quindi scegli una **chiave KMS** dell'elenco delle chiavi disponibili.

       In questo elenco vengono visualizzate sia la chiave Chiave gestita da AWS (`aws/s3`) che quella gestita dal cliente. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta [Chiavi gestite dal cliente e chiavi AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) nella *Guida per gli sviluppatori di AWS Key Management Service *.
     + Per inserire il nome della risorsa Amazon (ARN) della chiave KMS, scegli **Inserisci ARN AWS KMS key ** e specifica l'ARN della chiave KMS nel campo visualizzato. In questo modo vengono crittografate le repliche nel bucket di destinazione. È possibile trovare l'ARN per la chiave KMS nella [console IAM](https://console.aws.amazon.com/iam/) in **Chiavi di crittografia**. 
     + Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli **Crea una chiave KMS**.

       Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta [Creating keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) nella *AWS Key Management Service Developer Guide*.
**Importante**  
Puoi usare solo chiavi KMS abilitate nello Regione AWS stesso bucket. Quando selezioni **Scegli tra le chiavi KMS**, la console S3 elenca solo 100 chiavi KMS per regione. Se hai oltre 100chiavi KMS nella stessa regione, puoi vedere solo i primi le prime 100 nella console S3. Per utilizzare una chiave KMS non elencata nella console, seleziona **Inserisci ARN AWS KMS key ** e specifica l'ARN della chiave KMS.  
Quando utilizzi una chiave KMS AWS KMS key per la crittografia lato server in Amazon S3, devi scegliere una chiave KMS di crittografia simmetrica. Amazon S3 supporta solo chiavi KMS di crittografia simmetriche e non chiavi KMS asimmetriche. Per ulteriori informazioni, consulta [Identificazione delle chiavi KMS simmetriche e asimmetriche](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

     *Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta [Creating](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) keys nella Developer Guide.AWS Key Management Service * Per ulteriori informazioni sull'utilizzo AWS KMS con Amazon S3, consulta. [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md)

1. In **Classe di storage di destinazione**, per replicare i dati in una classe di archiviazione specifica nel bucket di destinazione, seleziona **Modifica classe di archiviazione per gli oggetti replicati**. Scegli quindi la classe di storage che desideri utilizzare per gli oggetti replicati nel bucket di destinazione. Se non selezioni questa opzione, la classe di storage per gli oggetti replicati sarà la stessa degli oggetti originali.

1. Durante l'impostazione dei valori in **Opzioni di replica aggiuntive**, sono disponibili le seguenti opzioni aggiuntive:
   + Se desideri abilitare la funzionalità di controllo del tempo di replica di S3 (S3 RTC) nella configurazione della replica, seleziona **Controllo del tempo di replica (RTC)**. Per ulteriori informazioni su questa opzione, consulta [Soddisfazione dei requisiti di conformità con il controllo del tempo di replica di Amazon S3](replication-time-control.md).
   + Se desideri abilitare i parametri di replica S3 nella configurazione di replica, seleziona **Replication metrics and events** (Parametri ed eventi di replica). Per ulteriori informazioni, consulta [Monitoraggio della replica con parametri, notifiche di eventi e stati](replication-metrics.md).
   + Se desideri abilitare la replica del contrassegno di eliminazione nella configurazione di replica, seleziona **Replica del contrassegno di eliminazione**. Per ulteriori informazioni, consulta [Replica dei contrassegni di eliminazione tra i bucket](delete-marker-replication.md).
   + Se desideri abilitare la sincronizzazione delle modifiche alla replica di Amazon S3 nella configurazione di replica, seleziona **Sincronizzazione delle modifiche alla replica**. Per ulteriori informazioni, consulta [Replica delle modifiche ai metadati con la sincronizzazione delle modifiche alla replica](replication-for-metadata-changes.md).
**Nota**  
Quando si utilizzano i parametri di replica S3 RTC o S3, si applicano costi aggiuntivi.

1. Per terminare, seleziona **Salva**.

1. Dopo aver salvato la regola, potrai modificare, abilitare, disabilitare o eliminare la regola selezionando la regola e scegliendo **Modifica regola**. 

## Usando il AWS CLI
<a name="replication-ex1-cli"></a>

Per utilizzare il AWS CLI per impostare la replica quando i bucket di origine e di destinazione sono di proprietà dello stesso Account AWS, procedi come segue:
+ Creare bucket di origine e di destinazione.
+ Abilitare il controllo delle versioni sui bucket.
+ Crea un ruolo AWS Identity and Access Management (IAM) che dia ad Amazon S3 l'autorizzazione a replicare oggetti.
+ Aggiungere la configurazione della replica al bucket di origine.

Per verificare l'impostazione, testarla.

**Per configurare la replica quando i bucket di origine e di destinazione sono di proprietà dello stesso Account AWS**

1. Impostare un profilo di credenziali per la AWS CLI. In questo esempio si utilizza il nome del profilo `acctA`. Per informazioni sull'impostazione di profili con credenziali e sull'uso di profili denominati, consulta [Impostazioni del file di configurazione e delle credenziali](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) nella *Guida per l'utente di AWS Command Line Interface *. 
**Importante**  
Il profilo utilizzato per questo esempio deve disporre delle autorizzazioni necessarie. Ad esempio, nella configurazione di replica dovrai specificare il ruolo IAM che Amazon S3 può assumere. È possibile effettuare questa operazione solo se il profilo utilizzato dispone dell'autorizzazione `iam:PassRole`. Per ulteriori informazioni, consulta [Concedere le autorizzazioni utente per il passaggio di un ruolo a un Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) nella *Guida per l'utente IAM*. Se utilizzi le credenziali di amministratore per creare un profilo con nome, puoi eseguire tutte le attività. 

1. Creare un bucket di origine e abilitare su di esso il controllo delle versioni utilizzando i seguenti comandi di AWS CLI . Per utilizzare questi comandi, sostituire *`user input placeholders`* con le proprie informazioni. 

   Il seguente comando `create-bucket` crea un bucket di origine denominato `amzn-s3-demo-source-bucket` nella Regione Stati Uniti orientali (Virginia settentrionale) (`us-east-1`).

   

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-source-bucket \
   --region us-east-1 \
   --profile acctA
   ```

   Il seguente comando `put-bucket-versioning` abilita il controllo delle versioni S3 sul bucket `amzn-s3-demo-source-bucket`: 

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-source-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctA
   ```

1. Crea un bucket di destinazione e abilita il controllo delle versioni su di esso utilizzando i seguenti comandi. AWS CLI Per utilizzare questi comandi, sostituire *`user input placeholders`* con le proprie informazioni. 
**Nota**  
Per impostare una configurazione di replica quando entrambi i bucket di origine e di destinazione si trovano nello stesso Account AWS, si utilizza lo stesso profilo per i bucket di origine e di destinazione. Questo esempio usa `acctA`.   
Per testare una configurazione di replica quando i bucket sono di proprietà di diversi Account AWS, specifica profili diversi per ogni account. Ad esempio, è possibile utilizzare un profilo `acctB` per il bucket di destinazione.

   

   Il seguente comando `create-bucket` crea un bucket di destinazione denominato `amzn-s3-demo-destination-bucket` nella Regione Stati Uniti occidentali (Oregon) (`us-west-2`):

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-destination-bucket \
   --region us-west-2 \
   --create-bucket-configuration LocationConstraint=us-west-2 \
   --profile acctA
   ```

   Il seguente comando `put-bucket-versioning` abilita il controllo delle versioni S3 sul bucket `amzn-s3-demo-destination-bucket`: 

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-destination-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctA
   ```

1. Creare un ruolo IAM. Specifica questo ruolo nella configurazione di replica che aggiungi al bucket *source* in un secondo momento. Amazon S3 assume questo ruolo per replicare gli oggetti per tuo conto. Il ruolo IAM si crea in due fasi:
   + Creare un ruolo.
   + Collegare una policy di autorizzazione al ruolo.

   1. Crea il ruolo IAM.

      1. Copiare la seguente policy di attendibilità e salvarla in un file denominato `s3-role-trust-policy.json` nella directory corrente sul computer locale. Questa policy concede al principale del servizio Amazon S3 le autorizzazioni per assumere il ruolo.

------
#### [ JSON ]

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Principal":{
                     "Service":"s3.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole"
               }
            ]
         }
         ```

------

      1. Per creare un ruolo, eseguire il comando seguente.

         ```
         $ aws iam create-role \
         --role-name replicationRole \
         --assume-role-policy-document file://s3-role-trust-policy.json  \
         --profile acctA
         ```

   1. Collegare una policy di autorizzazione al ruolo.

      1. Copiare la seguente policy di autorizzazioni e salvarla in un file denominato `s3-role-permissions-policy.json` nella directory corrente sul computer locale. Questa policy di accesso concede le autorizzazioni per varie operazioni su oggetti e bucket Amazon S3. 

------
#### [ JSON ]

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:GetObjectVersionForReplication",
                     "s3:GetObjectVersionAcl",
                     "s3:GetObjectVersionTagging"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ListBucket",
                     "s3:GetReplicationConfiguration"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ReplicateObject",
                     "s3:ReplicateDelete",
                     "s3:ReplicateTags"
                  ],
                  "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
               }
            ]
         }
         ```

------
**Nota**  
Se si desidera replicare oggetti crittografati, è opportuno anche concedere le autorizzazioni chiave AWS Key Management Service (AWS KMS) necessarie. Per ulteriori informazioni, consulta [Replica di oggetti crittografati (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
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) utilizzato 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](object-lock-managing.md#object-lock-managing-replication). 

      1. Eseguire il comando seguente per creare una policy e collegarla al ruolo. Sostituisci *`user input placeholders`* con le informazioni appropriate.

         ```
         $ aws iam put-role-policy \
         --role-name replicationRole \
         --policy-document file://s3-role-permissions-policy.json \
         --policy-name replicationRolePolicy \
         --profile acctA
         ```

1. Aggiungi una configurazione di replica al bucket di origine. 

   1. Sebbene l'API Amazon S3 richieda di specificare la configurazione di replica come XML, AWS CLI richiede di specificare la configurazione di replica come JSON. Salvare il seguente JSON in un file denominato `replication.json` nella directory locale sul computer in uso.

      ```
      {
        "Role": "IAM-role-ARN",
        "Rules": [
          {
            "Status": "Enabled",
            "Priority": 1,
            "DeleteMarkerReplication": { "Status": "Disabled" },
            "Filter" : { "Prefix": "Tax"},
            "Destination": {
              "Bucket": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            }
          }
        ]
      }
      ```

   1. Aggiornare il JSON sostituendo i valori di `amzn-s3-demo-destination-bucket` e `IAM-role-ARN` con le proprie informazioni. Salvare le modifiche.

   1. Eseguire il seguente comando `put-bucket-replication` per aggiungere la configurazione della replica al bucket di origine. Assicurarsi di fornire il nome del bucket di origine:

      ```
      $ aws s3api put-bucket-replication \
      --replication-configuration file://replication.json \
      --bucket amzn-s3-demo-source-bucket \
      --profile acctA
      ```

   Per recuperare la configurazione della replica, utilizzare il comando `get-bucket-replication`:

   ```
   $ aws s3api get-bucket-replication \
   --bucket amzn-s3-demo-source-bucket \
   --profile acctA
   ```

1. Verificare la configurazione nella console Amazon S3 eseguendo i seguenti passaggi:

   1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket). Scegli il bucket di origine nell'elenco **Bucket per uso generico**.

   1. Nel bucket di origine creare una cartella denominata `Tax`. 

   1. Aggiungere oggetti di esempio alla cartella `Tax` nel bucket di origine. 
**Nota**  
Il tempo richiesto da Amazon S3 per la replica di un oggetto dipende dalle dimensioni dell'oggetto. Per informazioni su come visualizzare lo stato della replica, consulta la sezione [Ottenimento delle informazioni sullo stato della replica](replication-status.md).

      Nel bucket di *destinazione*, verificare quanto segue:
      + Amazon S3 ha replicato gli oggetti.
      + Gli oggetti sono repliche. Nella scheda **Proprietà** degli oggetti, scorrere verso il basso fino alla sezione **Panoramica della gestione degli oggetti**. In **Configurazioni di gestione**, controllare il valore in **Stato della replica**. Assicurarsi che questo valore sia impostato su `REPLICA`.
      + Le repliche sono di proprietà dell'account del bucket di origine. È possibile verificare la proprietà dell'oggetto nella scheda **Autorizzazioni** degli oggetti. 

        Se i bucket di origine e di destinazione sono di proprietà di account diversi, è possibile aggiungere una configurazione ottimale per indicare ad Amazon S3 di modificare la proprietà di una replica nell'account di destinazione. Per vedere un esempio, consulta [Come modificare il proprietario della replica](replication-change-owner.md#replication-walkthrough-3). 

## Utilizzando il AWS SDKs
<a name="replication-ex1-sdk"></a>

Utilizzate i seguenti esempi di codice per aggiungere una configurazione di replica a un bucket con AWS SDK per .NET, AWS SDK per Java rispettivamente.

**Nota**  
Se si desidera replicare oggetti crittografati, è opportuno anche concedere le autorizzazioni chiave AWS Key Management Service (AWS KMS) necessarie. Per ulteriori informazioni, consulta [Replica di oggetti crittografati (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
Per utilizzare Object Lock con la replica, è necessario concedere due autorizzazioni aggiuntive sul bucket S3 di origine nel ruolo AWS Identity and Access Management (IAM) utilizzato per impostare 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](object-lock-managing.md#object-lock-managing-replication). 

------
#### [ Java ]

Per aggiungere una configurazione di replica a un bucket e quindi recuperare e verificare la configurazione utilizzando l'SDK for AWS Java, puoi utilizzare S3Client per gestire le impostazioni di replica a livello di codice.

Per esempi di come configurare la replica con l' AWS SDK for Java, [consulta Impostare la configurazione di replica su un](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutBucketReplication_section.html) bucket nel riferimento alle API di Amazon *S3*.

------
#### [ C\$1 ]

Il seguente esempio di AWS SDK per .NET codice aggiunge una configurazione di replica a un bucket e quindi la recupera. Per utilizzare questo codice, fornisci i nomi dei bucket e l'Amazon Resource Name (ARN) per il ruolo IAM. Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta [Nozioni di base su AWS SDK per .NET](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config.html) nella *Guida per gli sviluppatori di AWS SDK per .NET *. 

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class CrossRegionReplicationTest
    {
        private const string sourceBucket = "*** source bucket ***";
        // Bucket ARN example - arn:aws:s3:::destinationbucket
        private const string destinationBucketArn = "*** destination bucket ARN ***";
        private const string roleArn = "*** IAM Role ARN ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint sourceBucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 s3Client;
        public static void Main()
        {
            s3Client = new AmazonS3Client(sourceBucketRegion);
            EnableReplicationAsync().Wait();
        }
        static async Task EnableReplicationAsync()
        {
            try
            {
                ReplicationConfiguration replConfig = new ReplicationConfiguration
                {
                    Role = roleArn,
                    Rules =
                        {
                            new ReplicationRule
                            {
                                Prefix = "Tax",
                                Status = ReplicationRuleStatus.Enabled,
                                Destination = new ReplicationDestination
                                {
                                    BucketArn = destinationBucketArn
                                }
                            }
                        }
                };

                PutBucketReplicationRequest putRequest = new PutBucketReplicationRequest
                {
                    BucketName = sourceBucket,
                    Configuration = replConfig
                };

                PutBucketReplicationResponse putResponse = await s3Client.PutBucketReplicationAsync(putRequest);

                // Verify configuration by retrieving it.
                await RetrieveReplicationConfigurationAsync(s3Client);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
            }
        }
        private static async Task RetrieveReplicationConfigurationAsync(IAmazonS3 client)
        {
            // Retrieve the configuration.
            GetBucketReplicationRequest getRequest = new GetBucketReplicationRequest
            {
                BucketName = sourceBucket
            };
            GetBucketReplicationResponse getResponse = await client.GetBucketReplicationAsync(getRequest);
            // Print.
            Console.WriteLine("Printing replication configuration information...");
            Console.WriteLine("Role ARN: {0}", getResponse.Configuration.Role);
            foreach (var rule in getResponse.Configuration.Rules)
            {
                Console.WriteLine("ID: {0}", rule.Id);
                Console.WriteLine("Prefix: {0}", rule.Prefix);
                Console.WriteLine("Status: {0}", rule.Status);
            }
        }
    }
}
```

------