Questa pagina mostra come creare e avviare job di trasferimento da da Amazon S3 a Cloud Storage.
Configura autorizzazioni
Prima di creare un trasferimento, devi configurare le autorizzazioni su Amazon S3 di sincronizzare la directory di una VM con un bucket. Per maggiori dettagli, vedi Configurare l'accesso a un'origine: Amazon S3.
Devi anche configurare le autorizzazioni per Entità Google Cloud:
L'account utente utilizzato per creare il trasferimento. Questo è il collegato alla console Google Cloud o l'account collegato specificato durante l'autenticazione nell'interfaccia a riga di comando "gcloud". L'account utente può essere un normale account utente o un account di servizio gestito dall'utente. | |
L'account di servizio gestito da Google, chiamato anche servizio
usato da Storage Transfer Service. Questo account è generalmente identificato da
il suo indirizzo email, che utilizza il formato
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com .
|
Consulta Autorizzazioni di trasferimento senza agente per instructions.
Opzioni in uscita
Storage Transfer Service offre diverse opzioni per il trasferimento dei dati S3 in Cloud Storage.
Opzione in uscita | Descrizione |
---|---|
Senza agenti predefinito | Questa opzione utilizza un trasferimento gestito senza agente
rispetto a S3. Il traffico in uscita ti viene addebitato da Amazon.
Segui le istruzioni in questa pagina per usare . |
Distribuzione di CloudFront | Utilizza una distribuzione Amazon CloudFront come traffico in uscita
del tuo percorso di apprendimento. I trasferimenti di dati tramite CloudFront possono
traggono vantaggio dai costi inferiori per il traffico AWS in uscita rispetto
trasferire direttamente da S3. Consulta
Prezzi di CloudFront e costi per il traffico S3 in uscita
per maggiori dettagli.
Segui le istruzioni in Trasferimento da S3 tramite CloudFront per la configurazione la distribuzione e creare un trasferimento. |
Rete privata gestita | Trasferisci i tuoi dati su un servizio gestito da Google
in ogni rete. Non paghi alcun traffico in uscita da S3
addebiti; paghi una tariffa per GiB
in Google Cloud. Consulta i prezzi
pagina per informazioni dettagliate. Potresti comunque ricevere un addebito
i costi delle operazioni da parte di AWS (ad es. LIST o GET
chiamate); consulta i prezzi per i dettagli.
Tutti i progetti trasferimenti tramite la condivisione di rete privata gestita la stessa larghezza di banda. In periodi di utilizzo elevato, il trasferimento potrebbe lento. Sono più interessati i trasferimenti con file di grandi dimensioni rispetto a quelli con file di piccole dimensioni. Per utilizzare questa opzione, segui le istruzioni riportate in questa pagina. Specifica L'opzione Rete privata gestita nella console Google Cloud oppure il campo managedPrivateNetwork nell'API REST. gcloud CLI
e le librerie client non supportano la rete privata gestita
trasferimenti. Consulta le
regioni supportate. |
Basato su agente | Valido per tutti gli archivi compatibili con S3, incluso Amazon S3. Di
installando software agente su macchine con accesso
ai bucket S3, puoi controllare la rete
e la larghezza di banda. Questa opzione richiede che gli agenti
e pool di agenti.
Segui le istruzioni alla pagina Trasferimento da origini compatibili con S3 da utilizzare questa opzione. |
Aree geografiche supportate
Storage Transfer Service supporta le seguenti regioni Amazon S3:
af-south-1 ap-east-1 ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ap-southeast-3 |
ap-southeast-4 ca-central-1 ca-west-1 eu-central-1 eu-central-2 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2
|
eu-west-3 il-central-1 me-central-1 me-south-1 sa-east-1 us-east-1 us-east-2 us-west-1 us-west-2
|
I trasferimenti che utilizzano la rete privata gestita supportano le seguenti regioni AWS:
us-east-1 us-east-2 us-west-1 us-west-2 ca-west-1 ca-central-1 |
Opzioni di trasferimento
Le seguenti funzionalità di Storage Transfer Service sono disponibili per i trasferimenti da: Da S3 a Cloud Storage
- Trasferire file specifici utilizzando un manifest
- Puoi trasmettere un elenco di file su cui Storage Transfer Service deve intervenire. Consulta Trasferisci file specifici o utilizzando un file manifest.
- Specifica la classe di archiviazione
- Puoi specificare
Classe di archiviazione di Cloud Storage da utilizzare per i dati nella destinazione
di sincronizzare la directory di una VM
con un bucket. Consulta le
StorageClass
per i dettagli REST oppure utilizza il metodo--custom-storage-class
con Google Cloud CLI.Tieni presente che tutte le impostazioni della classe di archiviazione vengono ignorate se la destinazione in cui è abilitato Autoclass. Se Autoclass è abilitato, gli oggetti trasferiti nel bucket vengono inizialmente impostata su Standard Storage.
- Conservazione dei metadati
-
Durante il trasferimento di file da S3, Storage Transfer Service può può conservare alcuni attributi come metadati personalizzati.
Consulta la sezione Da Amazon S3 a Cloud Storage di . Conservazione dei metadati per maggiori dettagli su quali metadati possono essere e su come configurare il trasferimento.
- Trasferimenti basati su eventi
- Storage Transfer Service può ascoltare le notifiche degli eventi Amazon S3 inviate a Amazon SQS per trasferire automaticamente i dati aggiunti o aggiornati nella posizione di origine. Consulta Basata su eventi Google Cloud per informazioni.
- Logging e monitoraggio
- I trasferimenti da S3 possono essere visualizzati in Cloud Logging e e configurazione in Cloud Monitoring. Consulta Cloud Logging per Storage Transfer Service e Monitora il trasferimento job per i dettagli. Puoi anche configurare Pub/Sub notifiche.
Crea un trasferimento
Storage Transfer Service offre diverse interfacce tramite le quali creare un'istanza trasferimento.
Non includere informazioni sensibili come informazioni che consentono l'identificazione personale (PII) o dati di sicurezza nel nome del job di trasferimento. I nomi delle risorse possono essere propagati ai nomi di altre risorse Google Cloud e potrebbero essere esposti a sistemi interni di Google al di fuori del tuo progetto.
Console Google Cloud
Vai alla pagina Storage Transfer Service nella console Google Cloud.
Fai clic su Crea job di trasferimento. La pagina Crea un job di trasferimento visualizzati.
In Tipo di origine, seleziona Amazon S3.
Come Tipo di destinazione, seleziona Google Cloud Storage.
Seleziona la Modalità di pianificazione. I trasferimenti in batch vengono eseguiti su una tantum o pianificata. Trasferimenti continui basati su eventi monitorare l'origine e trasferire i dati quando vengono aggiunti o modificati.
Per configurare un trasferimento basato su eventi, segui le istruzioni all'indirizzo Trasferimenti basati su eventi.
Fai clic su Passaggio successivo.
Nel campo Nome bucket o cartella, inserisci il bucket di origine. .
Il nome del bucket è il nome visualizzato nella Console di gestione AWS.
Se utilizzi una distribuzione CloudFront per il trasferimento da S3, inserisci il nome del dominio di distribuzione nel dominio CloudFront . Ad esempio,
https://dy1h2n3l4ob56.cloudfront.net
. Consulta Trasferimento da S3 tramite CloudFront per configurare una distribuzione CloudFront.Per utilizzare una rete privata gestita per questo trasferimento, seleziona la casella di controllo. Per informazioni dettagliate, consulta Opzioni in uscita.
Seleziona il metodo di autenticazione Amazon Web Services (AWS). Consulta Configura l'accesso a un'origine: Amazon S3 per maggiori dettagli.
Access key (Chiave di accesso): inserisci la chiave di accesso nel campo Access key ID (ID chiave di accesso). e il secret associato alla tua chiave di accesso in nel campo Secret access key (Chiave di accesso segreta).
Ruolo IAM AWS per la federazione delle identità: inserisci l'ARN nel Campo ARN del ruolo IAM AWS, con la seguente sintassi:
arn:aws:iam::ACCOUNT:role/ROLE-NAME-WITH-PATH
Dove:
ACCOUNT
: l'ID account AWS senza e trattini.ROLE-NAME-WITH-PATH
: ruolo AWS che include il percorso.
Per saperne di più sugli ARN, consulta ARN IAM.
Risorsa secret: seleziona questa opzione per utilizzare una credenziale Amazon salvate in Secret Manager. Seleziona un secret dall'elenco oppure inseriscine una manualmente nel formato
projects/PROJECT_NUMBER/secrets/SECRET_NAME
.
Se si tratta di un trasferimento basato su eventi, inserisci l'Amazon SQS ARN della coda, che assume il seguente formato:
arn:aws:sqs:us-east-1:1234567890:event-queue
- Se vuoi, puoi scegliere
filtrare gli oggetti per prefisso
o la data dell'ultima modifica. Se hai specificato una cartella come posizione di origine, i filtri per prefisso
sono relative a questa cartella. Ad esempio, se la tua origine è
my-test-bucket/path/
, una il filtro di inclusione difile
include tutti i file che iniziano conmy-test-bucket/path/file
. Fai clic su Passaggio successivo.
Nel campo Bucket o cartella, inserisci il bucket di destinazione. e (facoltativamente) del nome della cartella oppure fai clic su Sfoglia per selezionare un bucket da un elenco di bucket esistenti nel tuo progetto attuale. Per creare un nuovo bucket, fai clic su
Crea nuovo bucket.
Fai clic su Passaggio successivo.
Scegli le impostazioni per il job di trasferimento.
Nel campo Descrizione, inserisci una descrizione del trasferimento. Come best practice, inserisci una descrizione significativa univoci in modo da poter distinguere i job.
In Opzioni metadati, scegli di utilizzare le opzioni predefinite, o fai clic su Visualizza e seleziona le opzioni per specificare i valori per tutti metadati supportati. Consulta Conservazione dei metadati per maggiori dettagli.
In Quando sovrascrivere, seleziona una delle seguenti opzioni:
Se diverso: sovrascrive i file di destinazione se il file di origine. con lo stesso nome ha valori Etag o checksum diversi.
Sempre: sovrascrive sempre i file di destinazione quando il file di origine. hanno lo stesso nome, anche se sono identici.
In Quando eliminare, seleziona una delle seguenti opzioni:
Mai: non eliminare mai i file dall'origine o dalla destinazione.
Elimina file dall'origine dopo il trasferimento: elimina i file dall'origine dopo il trasferimento alla destinazione.
Elimina i file dalla destinazione se non sono anche nell'origine: se anche i file nel bucket Cloud Storage di destinazione l'origine, quindi elimina i file da Cloud Storage di sincronizzare la directory di una VM con un bucket.
Questa opzione garantisce che il bucket Cloud Storage di destinazione corrisponde esattamente alla fonte.
In Opzioni di notifica, seleziona l'argomento Pub/Sub e le per i quali inviare notifiche. Consulta Notifiche Pub/Sub per ulteriori dettagli.
Fai clic su Passaggio successivo.
Scegli le opzioni di pianificazione:
Nell'elenco a discesa Esegui una volta, seleziona una delle seguenti opzioni:
Esegui una volta: esegue un singolo trasferimento, a partire dal momento in cui selezionare.
Esegui ogni giorno: esegue un trasferimento ogni giorno, a partire da un'ora in cui selezionate.
Puoi inserire una Data di fine facoltativa o lasciare Data di fine. vuota per eseguire il trasferimento continuamente.
Esegui ogni settimana: esegue un trasferimento ogni settimana, a partire da una data/ora che selezioni.
Esegui con frequenza personalizzata: esegue un trasferimento con una frequenza che selezionate. Puoi scegliere di ripetere il trasferimento a intervalli regolari intervallo di Ore, Giorni o Settimane.
Puoi inserire una Data di fine facoltativa o lasciare Data di fine. vuota per eseguire il trasferimento continuamente.
Dall'elenco a discesa Inizia ora, seleziona una delle seguenti opzioni:
A partire da ora: avvia il trasferimento dopo aver fatto clic su Crea.
A partire dal giorno: avvia il trasferimento nella data e nell'ora in cui selezionare. Fai clic su Calendario per visualizzare un calendario e selezionare l'opzione data di inizio.
Per creare il job di trasferimento, fai clic su Crea.
Interfaccia a riga di comando gcloud
Per creare un nuovo job di trasferimento, utilizza gcloud transfer jobs create
. La creazione di un nuovo job avvia il trasferimento specificato, a meno che non venga
pianificazione o --do-not-run
è specificato.
gcloud CLI non supporta i trasferimenti tramite CloudFront o rete privata gestita.
gcloud transfer jobs create \
s3://S3_BUCKET_NAME gs://STORAGE_BUCKET_NAME \
--source-creds-file="relative_path/to/creds.json"
Dove:
S3_BUCKET_NAME è l'origine dati per questo trasferimento. Puoi facoltativamente includere un percorso:
s3://S3_BUCKET_NAME/S3_FOLDER_PATH
STORAGE_BUCKET_NAME è il bucket Cloud Storage da trasferire in cui viene eseguito il deployment. Per trasferire in una directory specifica,
gs://STORAGE_BUCKET_NAME/STORAGE_FOLDER_PATH/
, inclusa la barra finale.--source-creds-file
specifica il percorso relativo di un file locale sul tuo che include le credenziali AWS per l'origine di trasferimento. I contenuti deve essere nel seguente formato JSON:{ "accessKeyId": string, "secretAccessKey": string }
Altre opzioni includono:
--do-not-run
impedisce a Storage Transfer Service di eseguire il job al momento dell'invio del comando. Per eseguire il job, aggiornalo in aggiungi una programmazione o utilizzajobs run
per avviarla manualmente.--manifest-file
specifica il percorso di un file CSV in Cloud Storage contenente un elenco di file da trasferire dall'origine. Per il file manifest formattazione, consulta Trasferisci file o oggetti specifici utilizzando un manifest.Informazioni job: puoi specificare
--name
e--description
.Pianifica: specifica
--schedule-starts
,--schedule-repeats-every
e--schedule-repeats-until
o--do-not-run
.Condizioni degli oggetti: utilizza le condizioni per determinare quali oggetti vengono trasferito. Questi includono
--include-prefixes
e--exclude-prefixes
, e le condizioni basate sul tempo--include-modified-[before | after]-[absolute | relative]
. Se una cartella con l'origine, i filtri per prefisso sono relativi . Per ulteriori informazioni, consulta Filtrare gli oggetti di origine per prefisso informazioni.Opzioni di trasferimento: specifica se sovrascrivere la destinazione file (
--overwrite-when=different
oalways
) e indica se eliminare determinati file durante o dopo il trasferimento (--delete-from=destination-if-unique
osource-after-transfer
); specificare i valori dei metadati da conservare (--preserve-metadata
); e facoltativamente, impostare una classe di archiviazione sugli oggetti trasferiti (--custom-storage-class
).Notifiche: configura Notifiche Pub/Sub per i trasferimenti con
--notification-pubsub-topic
,--notification-event-types
e--notification-payload-format
.Cloud Logging: abilita Cloud Logging con
--log-actions
e--log-action-states
. Consulta Cloud Logging per Storage Transfer Service per maggiori dettagli.
Per visualizzare tutte le opzioni, esegui gcloud transfer jobs create --help
o consulta le
documentazione di riferimento gcloud
.
REST
Gli esempi riportati di seguito mostrano come utilizzare Storage Transfer Service tramite REST API.
Quando configuri o modifichi i job di trasferimento utilizzando nell'API Storage Transfer Service, l'ora deve essere nel fuso orario UTC. Per ulteriori informazioni che specifica la pianificazione di un job di trasferimento, Programmazione.
Quando crei job di trasferimento, non includere il prefisso s3://
per
bucketName
nei nomi di origine dei bucket Amazon S3.
Trasferimento senza agente
L'esempio seguente crea un job di trasferimento utilizzando lo standard senza agenti configurazione. Consulta le transferJobs.create di riferimento per ulteriori dettagli.
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
Consulta Configurare l'accesso a un'origine: Amazon S3 per altre opzioni di autenticazione.
Distribuzione di CloudFront
Se il trasferimento da S3 avviene tramite una distribuzione CloudFront, specifica
il nome del dominio di distribuzione come valore del
Campo transferSpec.awsS3DataSource.cloudfrontDomain
:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "cloudfrontDomain": "https://dy1h2n3l4ob56.cloudfront.net", "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
Rete privata gestita
Per eseguire il trasferimento da S3 utilizzando una rete privata gestita da Google, specifica
Campo transferSpec.awsS3DataSource.managedPrivateNetwork
:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "managedPrivateNetwork": TRUE, "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
Librerie client
Gli esempi riportati di seguito mostrano come utilizzare Storage Transfer Service in modo programmatico con Go, Java, Node.js e Python.
Quando configuri o modifichi i job di trasferimento in modo programmatico, l'ora deve essere nel fuso orario UTC. Per ulteriori informazioni che specifica la pianificazione di un job di trasferimento, Programmazione.
Per saperne di più sulle librerie client di Storage Transfer Service, consulta Guida introduttiva alle librerie client di Storage Transfer Service.
Trasferimento da Amazon S3 a Cloud Storage
In questo esempio, imparerai come spostare file da Amazon S3 a un nel bucket Cloud Storage.
Quando crei job di trasferimento, non includere il prefisso s3://
per
bucketName
nei nomi di origine dei bucket Amazon S3.
Le librerie client di Storage Transfer Service non supportano i trasferimenti tramite CloudFront o rete privata gestita.
Vai
Java
Cerchi campioni precedenti? Consulta la guida alla migrazione di Storage Transfer Service.
Node.js
Python
Cerchi campioni precedenti? Consulta la guida alla migrazione di Storage Transfer Service.