Tutorial: trasferimento di dati da Amazon S3 ad Amazon S3 in un altroAccount AWS - AWS DataSync

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

Tutorial: trasferimento di dati da Amazon S3 ad Amazon S3 in un altroAccount AWS

ConAWS DataSync, puoi spostare dati tra bucket Amazon S3 che appartengono a diversiAccount AWS.

Importante

La copia dei datiAccount AWS utilizzando i metodi di questo tutorial funziona solo con Amazon S3.

Panoramica

In questo tutorial, scoprirai comeAWS Identity and Access Management (IAM) eAWS Command Line Interface (AWS CLI) possono aiutarti a creareDataSync attività che trasferiscono dati da Amazon S3 a un altro bucket S3 in un altro bucket S3 in un altro bucket S3 in un altroAccount AWS.

Suggerimento

Segui questo tutorial se anche i tuoi bucket S3 sono diversiRegioni AWS. Il processo è per lo più lo stesso ad eccezione di alcuni passaggi aggiuntivi. Tieni presente, tuttavia, cheDataSync non supporta questo tipo di trasferimenti per le regioni disabilitate per impostazione predefinita.

Ecco come può apparire questo tipo di scenario:

  • Account A: utilizzato per gestire il bucket S3 da cui desideri copiare i dati.Account AWS

  • Account B: utilizzato per gestire il bucket S3 in cui desideri copiare i dati.Account AWS

Transfers across accounts

Il diagramma seguente illustra uno scenario in cui si copiano i dati da un bucket S3 a un altro bucket S3 che si trova in un altro bucket S3 che si trova in un altro bucketAccount AWS.

DataSyncUno scenario di esempio in cui i dati vengono spostati da un bucket S3 in unoAccount AWS (Account A) prima di trasformarli in un bucket S3 in un altroAccount AWS (Account B).
Transfers across accounts and Regions

Il diagramma seguente illustra uno scenario in cui si copiano i dati da un bucket S3 a un altro bucket S3 che si trova in una regioneAccount AWS AND diversa.

DataSyncUno scenario di esempio in cui i dati vengono spostati da un bucket S3 in unoAccount AWS (Account A) e in una regione prima di trasformarli in un bucket S3 in un'altraAccount AWS (Account B) e in una regione diversa (Account B).

Prerequisiti

Prima di iniziare il lavoro IAM per facilitare il trasferimento tra account, procedi come segue se non l'hai già fatto:

  1. Determina quanti oggetti stai copiando. Usa Amazon S3 Storage Lens per scoprire quanti oggetti ci sono nel tuo bucket.

    Suggerimento

    Durante il trasferimento tra bucket S3, non èDataSync possibile copiare più di 25 milioni di oggetti per operazione. Se il tuo bucket contiene più di 25 milioni di oggetti, ti consigliamo un paio di opzioni:

  2. Crea una posizione diDataSync origine con l'Account A per il bucket S3 da cui stai copiando i dati.

  3. ConfiguraloAWS CLI con l'account A. Ti serviràAWS CLI per creare la posizione diDataSync destinazione per il bucket S3 nell'account B.

Passaggio 1: creazione di un ruolo IAM perDataSync nell'account A

È necessario un ruolo IAM utilizzato perDataSync autorizzare a scrivere nel bucket S3 nell'account B.

Quando crei una posizione per un bucket,DataSync puoi creare e assumere automaticamente un ruolo con le autorizzazioni giuste per accedere a quel bucket. Poiché esegui il trasferimento tra account, devi creare manualmente il ruolo.

Per ulteriori informazioni, consulta Creating a role for anServizio AWS (console) nella IAM User Guide.

Crea il ruolo IAM

Crea un ruoloDataSync come entità attendibile.

Per creare il ruolo IAM
  1. AccediAWS Management Console con l'account A.

  2. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  3. Nel riquadro di navigazione a sinistra, in Gestione accessi, scegli Ruoli, quindi scegli Crea ruolo.

  4. Nella pagina Seleziona entità attendibile, per Tipo di entità attendibile, scegli Servizio AWS.

  5. In Caso d'uso, scegli DataSyncnell'elenco a discesa e seleziona DataSync. Scegli Next (Successivo).

  6. Nella pagina Add permissions (Aggiungi autorizzazioni), scegli Next (Successivo).

  7. Assegna un nome al tuo ruolo e scegli Crea ruolo.

Allegare un criterio personalizzato al ruolo IAM

Il ruolo IAM necessita di una policy cheDataSync consenta di scrivere nel bucket S3 nell'Account B.

Per allegare un criterio personalizzato al ruolo IAM
  1. Nella pagina Ruoli della console IAM, cerca il ruolo che hai appena creato e scegli il suo nome.

  2. Nella pagina dei dettagli del ruolo seleziona la scheda Autorizzazioni. Scegli Aggiungi autorizzazioni, quindi Crea policy in linea.

  3. Scegli la scheda JSON ed esegui le seguenti operazioni:

    1. Incollare il seguente JSON nell'editor di criteri:

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::account-b-bucket" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::account-b-bucket/*" } ] }
    2. Sostituireaccount-b-bucket con il nome del bucket S3 nell'account B.

  4. Scegli Review policy (Esamina policy).

  5. Assegna un nome alla tua politica e scegli Crea politica.

Passaggio 2: disabilita gli ACL per il tuo bucket S3 nell'account B

È importante che tutti i dati che copi nel bucket S3 appartengano all'Account B. Per assicurarti che l'Account B sia il proprietario dei dati, disabilita gli elenchi di controllo degli accessi (ACL) del bucket. Per ulteriori informazioni, consulta Controlling ownership of objects and disabling ACLs for your bucket (Controllo della proprietà degli oggetti e disabilitazione delle ACL per il bucket) nella Guida per l'utente di Amazon S3.

Per disabilitare gli ACL per un bucket S3
  1. NelAWS Management Console, passa all'account B.

  2. Apri la console di Amazon S3 su https://console.aws.amazon.com/s3/.

  3. Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).

  4. Nell'elenco dei bucket, scegli il bucket S3 in cui stai trasferendo i dati.

  5. Nella pagina dei dettagli del bucket, scegli la scheda Autorizzazioni.

  6. Alla voce Proprietà Oggetto scegli Modifica.

  7. Se non è già selezionato, scegli l'opzione ACL disattivati (consigliato).

  8. Sceglie Save changes (Salva modifiche).

Passaggio 3: aggiornare la policy del bucket S3 nell'account B

In Account B, modifica la policy del bucket S3 per consentire l'accesso al ruolo IAM creatoDataSync nell'account A.

La politica aggiornata (fornita nelle seguenti istruzioni) include due principi:

  • Il primo committente specifica il ruolo IAM nell'Account A che hai creato nella Fase 1. Questo ruolo consente diDataSync scrivere nel bucket S3 nell'account B.

  • Il secondo principale specifica il ruolo IAM nell'Account A che utilizzi per accedere alla console oAWS CLI. Nel passaggio 4, utilizzerai questo ruolo per creare la posizione di destinazione per il bucket S3.

Per aggiornare la policy del bucket S3
  1. Mentre sei ancora nella console S3 e usi l'Account B, scegli il bucket S3 in cui stai copiando i dati.

  2. Nella pagina dei dettagli del bucket, scegli la scheda Autorizzazioni.

  3. In Politica dei bucket, scegli Modifica ed esegui le seguenti operazioni per modificare la politica del bucket S3:

    1. Aggiorna il contenuto dell'editor per includere le seguenti dichiarazioni politiche:

      { "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id:role/name-of-datasync-role" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::account-b-bucket", "arn:aws:s3:::account-b-bucket/*" ] }, { "Sid": "DataSyncCreateS3Location", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id:role/name-of-your-role" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::account-b-bucket" } ] }
    2. Sostituisciaccount-a-id con ilAccount AWS numero del conto A.

    3. Sostituisciname-of-datasync-role con il ruolo IAM che hai creatoDataSync nell'Account A (torna al passaggio 1).

    4. Sostituireaccount-b-bucket con il nome del bucket S3 nell'account B.

    5. Sostituisciname-of-your-role con il ruolo IAM che usi per accedere alla console oAWS CLI con l'Account A.

  4. Sceglie Save changes (Salva modifiche).

Fase 4: Creare una posizione diDataSync destinazione per il bucket S3

Dopo aver creato una posizione per il bucket S3, puoi eseguire l'DataSyncattività. LaDataSync console, tuttavia, non supporta la creazione di sedi in account diversi. È necessario creare la posizione con ilAWS CLI prima di poter eseguire l'operazione.

Per creare unaDataSync posizione con la CLI
  1. Apri un terminale .

  2. Assicurati che il tuo profilo CLI sia configurato per utilizzare l'Account A.

  3. Copia il seguente comando:

    aws datasync create-location-s3 \ --s3-bucket-arn arn:aws:s3:::account-b-bucket \ --s3-config '{"BucketAccessRoleArn":"arn:aws:iam::account-a-id:role/name-of-datasync-role"}'
  4. Sostituireaccount-b-bucket con il nome del bucket S3 nell'account B.

  5. Sostituisciaccount-a-id con ilAccount AWS numero del conto A.

  6. Sostituisciname-of-datasync-role con il ruolo IAM che hai creatoDataSync nell'Account A (torna al passaggio 1).

  7. Se il bucket nell'Account B si trova in una regione diversa da quella dell'Account A, aggiungi l'--regionopzione alla fine del comando per specificare la Regione in cui risiede il bucket Account B. Ad esempio, --region us-west-1.

  8. Esegui il comando .

    Se il comando restituisce unaDataSync posizione ARN simile a questa, la posizione è stata creata correttamente:

    { "LocationArn": "arn:aws:datasync:us-east-2:123456789012:location/loc-abcdef01234567890" }
  9. Torna all'account A nelAWS Management Console.

  10. Apri laDataSync console all'indirizzo https://console.aws.amazon.com/datasync/.

  11. Nel pannello di navigazione a sinistra, scegli Posizioni.

    Puoi vedere la posizione del bucket S3 nell'Account B che hai appena creato con la CLI.

Fase 5: creazione e avvio di un'DataSyncattività

Prima di spostare i dati, ricapitoliamo ciò che hai fatto finora:

  • È stato creato un ruolo IAM nell'Account A in modo daDataSync poter scrivere dati nel bucket S3 nell'Account B.

  • Hai configurato il tuo bucket S3 nell'Account B per assicurarti che l'DataSyncattività funzioni.

  • Hai creato le tue sedi diDataSync origine e destinazione nell'Account A.

Per creare e avviare l'DataSyncattività
  1. Mentre usi ancora laDataSync console nell'Account A, espandi Trasferimento dati nel riquadro di navigazione a sinistra, quindi scegli Attività e Crea attività.

    Nota

    Devi accedere alla console con lo stesso ruolo IAM per l'account A specificato nella policy del bucket S3 nella fase 3.

  2. Se il bucket nell'Account B si trova in una regione diversa da quella dell'Account A, scegli la Regione del bucket Account B nel pannello di navigazione.

    È necessario avviare l'DataSyncattività dalla regione della posizione di destinazione (in questo caso, il bucket Account B) per evitare un errore di connessione.

  3. Nella pagina Configura posizione di origine, scegli Scegli una posizione esistente.

  4. Per i trasferimenti tra Regioni, scegli la regione in cui risiede il bucket dell'account A.

  5. Scegli la posizione di origine da cui stai copiando i dati (il bucket S3 nell'Account A), quindi Avanti.

  6. Nella pagina Configura posizione di destinazione, scegli Scegli una posizione esistente. Scegli la posizione di destinazione in cui stai copiando i dati (il bucket S3 nell'Account B), quindi Avanti.

  7. Nella pagina Configura impostazioni, assegna un nome all'attività. Se necessario, configura impostazioni aggiuntive, ad esempio specificando un gruppo diCloudWatch log Amazon. Seleziona Successivo.

  8. Nella pagina Revisione, rivedi le tue impostazioni e scegli Crea attività.

  9. Nella pagina dei dettagli dell'attività, scegli Avvia, quindi scegli una delle seguenti opzioni:

    • Per eseguire l'attività senza modifiche, scegli Inizia con le impostazioni predefinite.

    • Per modificare l'attività prima di eseguirla, scegli Inizia con opzioni di sostituzione.

Al termine dell'attività, controlla il bucket S3 nell'Account B. Dovresti vedere i dati del tuo bucket dell'Account A.

Risorse correlate

Per ulteriori informazioni sulle operazioni eseguite in questo tutorial, consulta i seguenti argomenti: