Requisiti per i trasferimenti del file system

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:

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-limit sufficientemente 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=-1 per 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

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

    Abilitare l'API

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