Panoramica di Cloud Storage

Questa pagina descrive Cloud Storage e il suo funzionamento.

Come funziona Cloud Storage

Cloud Storage è un servizio di archiviazione scalabile e gestito offerto da Google Cloud che ti consente di archiviare i dati come oggetti in container chiamati bucket.

Tutti i bucket sono associati a un progetto e puoi raggruppare i tuoi progetti in un'organizzazione. Dopo aver creato un progetto, puoi creare bucket, caricare oggetti nei bucket e scaricare gli oggetti dai bucket. Puoi anche concedere autorizzazioni per rendere i tuoi dati accessibili alle entità che specifichi o accessibili a chiunque sulla rete internet pubblica. Le funzionalità delle directory ti consentono di utilizzare Cloud Storage in modo più simile a un disco rigido o a un Network Attached Storage (NAS): le cartelle ti consentono di organizzare gli oggetti in una struttura di directory e le cartelle gestite ti consentono di semplificare il controllo dell'accesso ai tuoi oggetti.

Ogni progetto, bucket, oggetto, cartella e cartella gestita è una risorsa in Google Cloud, così come lo sono elementi come le istanze di Compute Engine.

La Google Cloud gerarchia

Ecco come la struttura di Cloud Storage può essere applicata a un caso reale:

  • Organizzazione: la tua azienda, chiamata Example Inc., crea un' Google Cloud organizzazione chiamata exampleinc.org.

  • Progetto: Example Inc. sta creando diverse applicazioni e ognuna è associata a un progetto. Ogni progetto ha il proprio set di API Cloud Storage, nonché altre risorse.

  • Bucket: ogni progetto può contenere più bucket, che sono container per archiviare gli oggetti. Ad esempio, potresti creare un bucket photos per tutti i file immagine generati dalla tua app e un bucket videos separato. Cloud Storage offre diverse classi di archiviazione e località per i bucket, consentendoti di scegliere la durabilità e la disponibilità dei dati in base alle esigenze dei tuoi workload.

    I bucket fungono da base dati principale nell'ecosistema più ampio Google Cloud. Puoi collegare i bucket come backend di archiviazione per altri Google Cloud servizi, come AI Hypercomputer, Vertex AI, e Google Kubernetes Engine.

    Sebbene i bucket siano adatti alla maggior parte dei casi d'uso di archiviazione dei dati, puoi configurare impostazioni e funzionalità facoltative su un bucket per renderlo più adatto in particolare ai workload ad alte prestazioni:

    • Spazio dei nomi gerarchico: i bucket possono avere lo spazio dei nomi gerarchico abilitato, che ti consente di archiviare i dati in una struttura di file system logica utilizzando le cartelle. L'archiviazione dei dati nelle cartelle consente di utilizzare la semantica delle directory e le operazioni sulle cartelle atomiche, che spesso sono necessarie per accelerare i workload di analisi e AI/ML con uso intensivo dei dati. I bucket con lo spazio dei nomi gerarchico abilitato offrono limiti di query iniziali al secondo (QPS) fino a 8 volte superiori per la lettura e la scrittura degli oggetti rispetto ai bucket senza lo spazio dei nomi gerarchico abilitato.

      Lo spazio dei nomi gerarchico può essere abilitato solo al momento della creazione del bucket e non può essere abilitato su un bucket esistente.

    • Rapid Bucket: Rapid Bucket è una funzionalità ad alte prestazioni che ti consente di archiviare gli oggetti nella classe di archiviazione Rapid Storage utilizzando una zona come località del bucket. Quando posizioni i bucket nelle zone, puoi collocare gli oggetti insieme alle risorse di calcolo, abilitare automaticamente lo spazio dei nomi gerarchico e utilizzare le API per le letture in streaming e le scritture aggiuntive. Rapid Bucket offre latenza, throughput e I/O notevolmente migliorati rispetto ai bucket in altre classi di archiviazione, il che rende la funzionalità ideale per i workload di analisi e AI/ML con uso intensivo dei dati.

      Per utilizzare Rapid Bucket, tu crea un bucket e definisci una zona come località del bucket. Rapid Bucket non può essere utilizzato su bucket esistenti che non si trovano in una zona.

  • Oggetto: i bucket contengono oggetti, ad esempio un'immagine chiamata puppy.png. Un oggetto è un dato immutabile costituito da un file di qualsiasi formato. Ogni bucket può contenere un numero essenzialmente illimitato di singoli oggetti.

  • Cartella: i bucket con lo spazio dei nomi gerarchico abilitato possono contenere cartelle. Le cartelle consentono di utilizzare un file system reale per l'archiviazione degli oggetti, anziché un file system simulato. Puoi rinominare in modo atomico una cartella e tutti gli oggetti al suo interno in un'unica operazione.

  • Cartella gestita: ogni bucket può contenere anche cartelle gestite, che concedono o revocano l'accesso aggiuntivo oltre alle autorizzazioni IAM impostate sul bucket. Le cartelle gestite non utilizzano una vera struttura ad albero di directory; una cartella gestita è invece una sovrapposizione di risorse utilizzata solo per il controllo delle autorizzazioni.

Strumenti per Cloud Storage

Puoi interagire con Cloud Storage utilizzando i seguenti strumenti:

  • Google Cloud console: la Google Cloud console fornisce un'interfaccia visiva per gestire i dati in un browser.

  • Google Cloud CLI: gcloud CLI ti consente di interagire con Cloud Storage tramite un terminale utilizzando gcloud storage comandi.

  • Librerie client: le librerie client Cloud Storage ti consentono di gestire i dati utilizzando uno dei tuoi linguaggi preferiti, tra cui C++ C#, Go, Java, Node.js, PHP, Python e Ruby.

  • API REST: gestisci i dati utilizzando l'API JSON o XML.

  • Terraform: Terraform è uno strumento Infrastructure as Code (IaC) che puoi utilizzare per eseguire il provisioning dell'infrastruttura per Cloud Storage. Per maggiori informazioni, consulta Eseguire il provisioning delle risorse con Cloud Storage.

  • gRPC: gRPC ti consente di interagire con Cloud Storage. gRPC è un framework RPC universale open source ad alte prestazioni sviluppato da Google che puoi utilizzare per definire i tuoi servizi utilizzando i buffer di protocollo.

  • Cloud Storage FUSE: Cloud Storage FUSE ti consente di montare i bucket Cloud Storage nel file system locale. In questo modo, le tue applicazioni possono leggere da un bucket o scrivere in un bucket utilizzando la semantica standard del file system.

Protezione dei dati

Dopo aver caricato gli oggetti in Cloud Storage, hai un controllo granulare su come proteggere e condividere i dati. Ecco alcuni modi per proteggere i dati che carichi in Cloud Storage:

  • Identity and Access Management: utilizza IAM per controllare chi ha accesso alle risorse nel tuo Google Cloud progetto. Le risorse includono bucket e oggetti Cloud Storage, nonché altre Google Cloud entità come le istanze di Compute Engine. Puoi concedere alle entità determinati tipi di accesso a bucket e oggetti, ad esempio update, create o delete.

  • Crittografia dei dati: Cloud Storage utilizza la crittografia lato server per criptare i dati per impostazione predefinita. Puoi anche utilizzare opzioni di crittografia dei dati supplementari , come le chiavi di crittografia gestite dal cliente e le chiavi di crittografia fornite dal cliente.

  • Autenticazione: assicurati che chiunque acceda ai tuoi dati disponga delle credenziali appropriate.

  • Eliminazione temporanea: impedisci la perdita permanente dei dati in caso di eliminazione accidentale o dannosa conservando gli oggetti e i bucket eliminati di recente. Per impostazione predefinita, Cloud Storage abilita l'eliminazione temporanea per tutti i bucket con un periodo di conservazione di sette giorni.

  • Controllo delle versioni degli oggetti: quando una versione attiva di un oggetto viene sostituita o eliminata, può essere conservata come versione non corrente se abiliti il controllo delle versioni degli oggetti.

  • Filtro IP dei bucket: con il filtro IP dei bucket, puoi limitare l'accesso a un bucket in base all'indirizzo IP di origine della richiesta e proteggere i dati da accessi non autorizzati da indirizzi IP o Virtual Private Cloud (VPC) specifici.

  • Blocco di bucket: controlla per quanto tempo gli oggetti nei bucket devono essere conservati specificando una policy di conservazione.

Nomi delle risorse

Ogni risorsa ha un nome univoco che la identifica, proprio come un nome file. I bucket hanno un nome risorsa nel formato projects/_/buckets/BUCKET_NAME, dove BUCKET_NAME è l'ID del bucket. Gli oggetti hanno un nome risorsa nel formato projects/_/buckets/BUCKET_NAME/objects/OBJECT_NAME, dove OBJECT_NAME è l'ID dell'oggetto.

Un #NUMBER aggiunto alla fine del nome della risorsa indica una generazione specifica dell'oggetto. #0 è un identificatore speciale per la versione più recente di un oggetto. #0 è utile da aggiungere quando il nome dell'oggetto termina con una stringa che altrimenti verrebbe interpretata come un numero di generazione.

Guide rapide

Per apprendere le nozioni di base sull'utilizzo di Cloud Storage, consulta le seguenti guide:

Cerchi altri prodotti?

Se Cloud Storage non è la soluzione di archiviazione giusta per te, consulta ulteriori informazioni sui seguenti servizi di archiviazione:

Passaggi successivi