Salta al contenuto

Come posso trasferire grandi quantità di dati da un bucket Amazon S3 a un altro?

5 minuti di lettura
0

Desidero trasferire almeno 1 TB di dati da un bucket Amazon Simple Storage Service (Amazon S3) a un altro.

Risoluzione

Per trasferire grandi quantità di dati da un bucket Amazon S3 a un altro, utilizza uno dei seguenti metodi:

  • Interfaccia della linea di comando AWS (AWS CLI)
  • Replica tra Regioni (CRR) o replica nella stessa Regione (SRR)
  • Operazioni in batch Amazon S3
  • S3DistCP con Amazon EMR
  • AWS DataSync

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

AWS CLI

Per migliorare i tempi di trasferimento dei dati, suddividi il trasferimento in più operazioni che si escludono a vicenda. Ad esempio, utilizza AWS CLI per eseguire più operazioni parallele come aws s3 cp, aws s3 mv o aws s3 sync. Puoi creare più thread di caricamento quando utilizzi i parametri --exclude e --include per filtrare le operazioni in base al nome del file.

Nota: poiché i parametri --exclude e --include vengono elaborati sul lato client, le risorse sul computer locale potrebbero influire sulle prestazioni dell'operazione.

Per copiare una grande quantità di dati da un bucket all'altro, esegui questi comandi:

Nota: i nomi dei file iniziano con un numero.

  1. Eseguite questo comando cp per copiare i file con nomi che iniziano con i numeri da 0 a 4:

    aws s3 cp s3://source-awsexamplebucket/ s3://destination-awsexamplebucket/ --recursive --exclude "*" --include "0*" --include "1*" --include "2*" --include "3*" --include "4*"
    
  2. Esegui questo comando cp in una seconda operazione da AWS CLI per copiare i file con nomi che iniziano con i numeri da 5 a 9:

    aws s3 cp s3://source-awsexamplebucket/ s3://destination-awsexamplebucket/ --recursive --exclude "*" --include "5*" --include "6*" --include "7*" --include "8*" --include "9*"
    

Puoi anche personalizzare i seguenti valori di configurazione di S3 in AWS CLI per migliorare i tempi di trasferimento dei dati:

  • Utilizza multipart_chunksize per impostare la dimensione di ogni parte che AWS CLI carica in un caricamento in più parti per un singolo file. Puoi suddividere un file più grande in parti più piccole per velocizzare il caricamento. 
    Nota: nel caso di un caricamento in più parti, puoi caricare un singolo file al massimo in 10.000 parti distinte. Verifica che la dimensione del blocco impostata bilanci la dimensione del file di parte e il numero di parti.
  • Utilizza max_concurrent_requests per impostare il numero di richieste che puoi inviare contemporaneamente ad Amazon S3. Il valore predefinito è 10, ma puoi incrementarlo. Verifica che il computer disponga di risorse sufficienti per supportare il numero massimo di richieste simultanee.

CRR o SSR

Configura CRR o SSR sul bucket di origine per consentire ad Amazon S3 di replicare automaticamente i nuovi oggetti dal bucket di origine al bucket di destinazione. Per filtrare gli oggetti replicati da Amazon S3, utilizza un prefisso o un tag. Per ulteriori informazioni, consulta Elementi del file di configurazione della replica.

Dopo aver configurato la replica, Amazon S3 replica nel bucket di destinazione solo i nuovi oggetti, non gli oggetti esistenti. Per ulteriori informazioni, consulta Replica di oggetti esistenti con Replica in batch e Che cosa non viene replicato con le configurazioni di replica?

Operazioni in batch Amazon S3

Puoi utilizzare Operazioni in batch Amazon S3 per copiare più oggetti con una singola richiesta. Quando crei un processo di operazione in batch, puoi utilizzare un report di inventario Amazon S3 per specificare gli oggetti su cui Amazon S3 esegue l'operazione. In alternativa, puoi utilizzare un manifesto CSV per specificare un processo in batch. Quindi Operazioni in batch Amazon S3 chiama l'API per eseguire l'operazione.

Al termine del processo di operazione in batch, ricevi una notifica e un report di completamento opzionale.

S3DistCp con Amazon EMR

L'operazione S3DistCp in Amazon EMR può copiare in parallelo un gran numero di oggetti tra bucket Amazon S3. S3DistCp prima copia i file dal bucket di origine ai nodi worker in un cluster Amazon EMR. Dopodiché, l'operazione scrive i file dai nodi worker nel bucket di destinazione. Per ulteriori informazioni, consulta Seven tips for using S3DistCp on Amazon EMR to move data efficiently between HDFS and Amazon S3 (Sette suggerimenti per l'utilizzo di S3DistCp in Amazon EMR per spostare dati in modo efficiente tra HDFS e Amazon S3).

Importante: poiché devi utilizzare Amazon EMR con S3DistCp, assicurati di consultare Prezzi di Amazon EMR.

AWS DataSync

Per utilizzare AWS DataSync per spostare grandi quantità di dati da un bucket Amazon S3 a un altro, devi creare una posizione di trasferimento. Per un bucket generico, consulta Creazione della posizione di trasferimento per un bucket Amazon S3 generico. Per un bucket Outpost, consulta Creazione della posizione di trasferimento per un bucket S3 on Outposts.

Nota:

Informazioni correlate

Come posso identificare i costi di trasferimento dei dati in Amazon S3?

AWS UFFICIALEAggiornata 10 mesi fa