Prima di creare un job di trasferimento del file system, devi abilitare le API richieste e installare Docker.
Se ricevi errori durante la configurazione iniziale, verifica che l'utente con cui hai eseguito l'accesso disponga delle autorizzazioni necessarie per eseguire i passaggi di configurazione. In molti casi, queste autorizzazioni non sono disponibili per tutti gli utenti e potresti dover contattare un amministratore del progetto per ricevere assistenza.
Requisiti di sistema
Per utilizzare Storage Transfer Service per i trasferimenti del file system, devi disporre di:
Un'origine e/o una destinazione compatibile con POSIX.
Un bucket Cloud Storage senza una norma di conservazione. Per eseguire il trasferimento a un bucket con una norma di conservazione, vedi Trasferire a un bucket con una norma di conservazione.
Porta TCP 443 (HTTPS) aperta per le connessioni in uscita.
Di seguito sono elencati i requisiti della macchina dell'agente di trasferimento:
Un server o una macchina virtuale Linux a 64 bit supportato da Docker in grado di accedere ai dati che prevedi di trasferire. Docker Community Edition, supporta i sistemi operativi CentOS, Debian, Fedora e Ubuntu.
Per utilizzare altri sistemi operativi Linux, vedi Docker Enterprise.
Almeno 8 GB di memoria per container e almeno quattro CPU per la massima efficacia.
Eventuali vincoli a livello di sistema o utente sul numero di ID processo consentiti, ad esempio configurati con
ulimit -u, devono tenere conto del numero di agenti che prevedi di eseguire. Ogni processo dell'agente può creare fino a centinaia di thread. Ti consigliamo di rimuovere i limiti dell'ID processo quando esegui gli agenti di trasferimento.I clienti che utilizzano Podman per creare container di agenti di servizio devono specificare un
--pids-limitvalore sufficientemente elevato da ospitare i thread degli agenti di Storage Transfer Service. Il valore predefinito di--pids-limitè 2048, il che potrebbe causare problemi durante l'esecuzione di più agenti. Ti consigliamo di impostare--pids-limit=-1per consentire ID processo illimitati per container.
Endpoint richiesti
L'agente di trasferimento deve poter accedere ai seguenti endpoint DNS. Sebbene un agente possa utilizzare solo un sottoinsieme di questi endpoint a seconda della sua configurazione, tutti gli endpoint devono essere consentiti per garantire la funzionalità completa.
Endpoint Google
Questo elenco di endpoint richiesti è soggetto a modifiche. Per evitare interruzioni del trasferimento, ti consigliamo di consentire il dominio di base googleapis.com e gcr.io, a condizione che le policy di sicurezza della tua organizzazione lo consentano.
| Endpoint | Servizio | Finalità |
|---|---|---|
storagetransfer.googleapis.com |
Storage Transfer Service | Utilizzato dall'agente per connettersi a Storage Transfer Service, ricevere attività di trasferimento e segnalare il suo stato di integrità. |
storage.googleapis.com |
Cloud Storage | Utilizzato per eseguire le operazioni di trasferimento dei dati principali, tra cui l'elenco, la lettura e la scrittura degli oggetti nei bucket Cloud Storage. |
www.googleapis.com |
API di Google | Utilizzato per scaricare gli aggiornamenti di versione per l'agente di trasferimento. |
monitoring.googleapis.com |
Cloud Monitoring | Utilizzato per esportare le metriche sul rendimento del trasferimento e sull'integrità dell'agente. |
logging.googleapis.com |
Cloud Logging | Utilizzato per pubblicare i log di sistema e delle attività dell'agente. |
oauth2.googleapis.com |
Google OAuth 2.0 | Utilizzato per scambiare in modo sicuro le credenziali e recuperare i token di accesso di breve durata per l'autorizzazione API. |
iamcredentials.googleapis.com |
Credenziali dell'account di servizio IAM | Utilizzato per generare credenziali temporanee quando l'agente è configurato per assumere l'identità di un account di servizio specifico. |
cloudresourcemanager.googleapis.com |
Resource Manager | Utilizzato durante l'installazione e la configurazione dell'agente per verificare la configurazione e le autorizzazioni del progetto. |
gcr.io |
Container Registry | Utilizzato per scaricare l'immagine container dell'agente di Storage Transfer Service durante l'installazione. |
Per ottimizzare il rendimento del trasferimento, l'agente può utilizzare diversi protocolli HTTP, tra cui HTTP/1.1 e HTTP/2, come minimo, quando comunica con vari endpoint. Assicurati che i proxy o i firewall configurati supportino correttamente e siano efficienti in tutti questi tipi di protocollo.
Endpoint regionali
Se hai configurato gli agenti in modo che utilizzino
endpoint regionali
(ad es. storage.REGION.rep.googleapis.com),
i nomi di dominio specifici devono essere consentiti dalle regole del proxy o del firewall
anziché dall'endpoint standard storage.googleapis.com.
Endpoint di archiviazione di origine e destinazione
L'agente richiede anche l'accesso alla rete ai sistemi di archiviazione di origine e destinazione specifici, come le API compatibili con S3, i cluster HDFS o NFS per POSIX.
Limitazioni di scalabilità per job e agenti
Storage Transfer Service presenta le seguenti limitazioni di scalabilità per i job e gli agenti di trasferimento:
- Meno di un miliardo di file per job
- Il limite di larghezza di banda deve essere superiore a 1 MBps
- Fino a 100 agenti per pool di agenti
- Fino a 800 pool di agenti per progetto
Abilita API
-
Abilita l'API Google Storage Transfer.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.
Installa Docker
Se utilizzi Google Cloud CLI o Docker per installare ed eseguire gli agenti di trasferimento, installa Docker Engine su una macchina Linux fisica o virtuale.
Se utilizzi Podman per installare ed eseguire gli agenti di trasferimento, vai direttamente a le istruzioni di installazione specifiche di Podman.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker --now
Se si verifica un errore di installazione, vedi Risoluzione dei problemi.
Consenti l'autenticazione di Docker
Per consentire l'autenticazione di un container Docker mediante le credenziali gcloud predefinite, crea un volume Docker contenente un file con le credenziali predefinite dell'applicazione eseguendo il comando riportato di seguito:
sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login
Passaggi successivi
- Configurare le autorizzazioni di Google Cloud
- Creare un pool di agenti
- Installare gli agenti di trasferimento
- Creare un job di trasferimento
- Massimizzare il rendimento dell'agente di trasferimento