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:
Un'origine e/o una destinazione compatibile con POSIX.
Un bucket Cloud Storage senza un criterio di conservazione. Per eseguire il trasferimento a un bucket con una policy di conservazione, vedi Trasferire a un bucket con una policy di conservazione.
Porta TCP 443 (HTTPS) aperta per le connessioni in uscita.
I requisiti della macchina dell'agente di trasferimento sono elencati di seguito:
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 contenitore e almeno quattro CPU per essere più efficace.
Eventuali vincoli a livello di sistema o utente sul numero di ID processo consentiti, ad esempio quelli 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 agent devono specificare un valore
--pids-limitsufficientemente alto da ospitare i thread dell'agente di servizio Storage Transfer Service. Il valore predefinito di--pids-limitè 2048, il che potrebbe causare problemi quando viene eseguito più di un agente. Ti consigliamo di impostare--pids-limit=-1per consentire un numero illimitato di ID processo per container.
Endpoint richiesti
I seguenti endpoint DNS devono essere accessibili all'agente di trasferimento. Anche se un agente può utilizzare solo un sottoinsieme di questi endpoint a seconda della sua configurazione, tutti gli endpoint devono essere consentiti per garantire la piena funzionalità.
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 proprio stato di integrità. |
storage.googleapis.com |
Cloud Storage | Utilizzato per eseguire operazioni di trasferimento dei dati di base, tra cui l'elenco, la lettura e la scrittura di oggetti nei bucket Cloud Storage. |
www.googleapis.com |
API di Google | Utilizzato per scaricare gli aggiornamenti della versione dell'agente di trasferimento. |
monitoring.googleapis.com |
Cloud Monitoring | Utilizzato per esportare le metriche sul rendimento dei trasferimenti e sullo stato degli agenti. |
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 token di accesso di breve durata per l'autorizzazione API. |
iamcredentials.googleapis.com |
Credenziali service account IAM | Utilizzato per generare credenziali temporanee quando l'agente è configurato per rappresentare 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 Storage Transfer Service durante l'installazione. |
Per ottimizzare le prestazioni di 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 proxy o firewall
anziché dall'endpoint storage.googleapis.com standard.
Endpoint di archiviazione di origine e destinazione
L'agente richiede anche l'accesso alla rete ai sistemi di archiviazione di origine e di destinazione specifici, come API compatibili con S3, 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 di trasferimento e gli agenti:
- Meno di un miliardo di file per job
- Il limite di larghezza di banda deve essere superiore a 1 MB/s
- Fino a 100 agenti per pool di agenti
- Fino a 800 pool di agenti per progetto
Abilita API
-
Abilita l'API Google Storage Transfer, se non è già abilitata.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.
Installa Docker
Se utilizzi Google Cloud CLI o Docker per installare ed eseguire 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 alle istruzioni di installazione specifiche per 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, consulta la sezione Risoluzione dei problemi.
Consenti a Docker di autenticarsi
Per consentire al container Docker di autenticarsi con le credenziali predefinite di gcloud, crea un volume Docker contenente un file con le credenziali predefinite dell'applicazione eseguendo questo comando:
sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login
Passaggi successivi
- Configurare le autorizzazioni Google Cloud
- Crea un pool di agenti
- Installare gli agenti di trasferimento
- Creare un job di trasferimento
- Massimizzare il rendimento dell'agente di trasferimento