Esta página descreve o Cloud Storage e como ele funciona.
Como o Cloud Storage funciona
O Cloud Storage é um serviço de armazenamento escalonável e gerenciado oferecido por Google Cloud que permite armazenar dados como objetos em contêineres chamados buckets.
Todos os buckets estão associados a um projeto, e é possível agrupar os projetos em uma organização. Depois de criar um projeto, é possível criar buckets, fazer upload de objetos para seus buckets e fazer download de objetos de seus buckets. Também é possível conceder permissões para tornar seus dados acessíveis aos principais especificados ou acessíveis a todos na Internet pública. Os recursos de diretório permitem usar o Cloud Storage de maneira mais semelhante a um disco rígido ou armazenamento conectado à rede (NAS, na sigla em inglês): as pastas permitem organizar objetos em uma estrutura de diretório, e as pastas gerenciadas simplificam o controle de acesso aos objetos.
Cada projeto, bucket, objeto, pasta e pasta gerenciada é um recurso no Google Cloud, assim como as instâncias do Compute Engine.
A Google Cloud hierarquia
Veja como a estrutura do Cloud Storage aplica-se a casos reais:
Organização: imagine que você trabalha em uma empresa chamada "Example Inc.", que criou uma Google Cloud organização do Google Cloud com o nome de
exampleinc.org.Projeto: a Example Inc. está desenvolvendo vários aplicativos, e cada um deles está associado a um projeto. Cada projeto utiliza o próprio conjunto de APIs do Cloud Storage, além de outros recursos.
Bucket: cada projeto pode conter vários buckets, que são contêineres usados para armazenar objetos. Por exemplo, você tem a opção de criar um bucket
photospara armazenar todos os arquivos de imagem gerados pelo aplicativo da empresa e um outro bucketvideos. O Cloud Storage oferece diferentes classes de armazenamento e locais para seus buckets, permitindo que você escolha a durabilidade e a disponibilidade dos dados para atender às necessidades das cargas de trabalho.Os buckets servem como uma base de dados principal no ecossistema mais amplo Google Cloud. É possível conectar seus buckets como back-ends de armazenamento para outros Google Cloud serviços, como o Hipercomputador de IA, a Vertex AI, e o Google Kubernetes Engine.
Embora os buckets sejam adequados para a maioria dos casos de uso de armazenamento de dados, é possível configurar opções e recursos em um bucket para torná-lo mais adequado para cargas de trabalho de alta performance:
Namespace hierárquico: os buckets podem ter o namespace hierárquico ativado, o que permite armazenar os dados em uma estrutura lógica de sistema de arquivos usando pastas. O armazenamento de dados em pastas oferece a capacidade de usar a semântica de diretório e operações atômicas de pastas, que geralmente são necessárias para acelerar cargas de trabalho de análise e IA/ML com uso intensivo de dados. Buckets com namespace hierárquico ativado oferecem limites de consultas por segundo (QPS) iniciais até 8 vezes maiores para leitura e gravação de objetos em comparação com buckets sem namespace hierárquico ativado.
O namespace hierárquico só pode ser ativado no momento da criação do bucket e não pode ser ativado em um bucket já existente.
Rapid Bucket: Rapid Bucket é um recurso de alta performance que permite armazenar objetos na classe de armazenamento Rapid Storage usando uma zona como local do bucket. Ao localizar buckets em zonas, você tem a capacidade de colocalizar seus objetos com seus recursos de computação, ativação automática do namespace hierárquico e APIs para leituras de streaming e gravações anexáveis. O Rapid Bucket oferece latência, capacidade de processamento e E/S substancialmente aprimoradas em comparação com buckets em outras classes de armazenamento, tornando o recurso ideal para cargas de trabalho de análise e IA/ML com uso intensivo de dados.
Para usar o Rapid Bucket, você crie um bucket e defina uma zona como local do bucket. O Rapid Bucket não pode ser usado em buckets já existentes que não estejam localizados em uma zona.
Objeto: os buckets contêm objetos, como uma imagem chamada
puppy.png. Um objeto é um dado imutável composto de um arquivo em qualquer formato. Cada bucket pode conter essencialmente objetos individuais ilimitados.Pasta: buckets com namespace hierárquico ativado podem conter pastas. As pastas permitem um sistema de arquivos real para armazenar objetos, em vez de um sistema de arquivos simulado. É possível renomear atomicamente uma pasta e todos os objetos nela em uma única operação.
Pasta gerenciada: cada bucket também pode conter pastas gerenciadas, que concedem ou revogam acesso adicional além das permissões do IAM definidas no bucket. As pastas gerenciadas não usam uma estrutura de árvore de diretórios verdadeira. Em vez disso, uma pasta gerenciada é uma sobreposição de recursos usada apenas para verificação de permissões.
Ferramentas do Cloud Storage
É possível interagir com o Cloud Storage usando as seguintes ferramentas:
Google Cloud console: O Google Cloud console fornece uma interface visual para você gerenciar seus dados em um navegador.
Google Cloud CLI: a CLI gcloud permite que você interaja com o Cloud Storage por meio de um terminal usando
gcloud storagecomandos.Bibliotecas de cliente: com as bibliotecas de cliente do Cloud Storage, é possível gerenciar os dados usando sua linguagem favorita, incluindo C++, C#, Go, Java, Node.js, PHP, Python e Ruby.
APIs REST: gerencie seus dados usando a API JSON ou a API XML.
Terraform: o Terraform é uma ferramenta de infraestrutura como código (IaC) que pode ser usada para provisionar a infraestrutura no Cloud Storage. Para mais informações, consulte Provisionar recursos com o Cloud Storage.
gRPC: o gRPC permite interagir com o Cloud Storage. O gRPC é um framework RPC universal de código aberto e alta performance desenvolvido pelo Google que pode ser usado para definir seus serviços usando buffers de protocolo.
FUSE do Cloud Storage: o Cloud Storage FUSE permite ativar buckets do Cloud Storage no sistema de arquivos local. Isso permite que seus aplicativos leiam ou gravem um bucket usando a semântica padrão de sistemas de arquivos.
Como proteger seus dados
Depois de fazer upload de objetos para o Cloud Storage, você tem um controle minucioso sobre a proteção e o compartilhamento dos dados. Veja abaixo algumas maneiras de proteger os dados que você enviou para o Cloud Storage:
Identity and Access Management: use o IAM para controlar quem tem acesso aos recursos do seu Google Cloud projeto. Esses recursos incluem buckets e objetos no Cloud Storage, bem como outras Google Cloud entidades, como instâncias do Compute Engine. É possível conceder aos principais certos tipos de acesso a buckets e objetos, como
update,createoudelete.Criptografia de dados: por padrão, o Cloud Storage usa a criptografia do lado do servidor para criptografar seus dados. Também é possível usar opções complementares de criptografia de dados como chaves de criptografia gerenciadas pelo cliente e chaves de criptografia fornecidas pelo cliente.
Autenticação: verifique se todas as pessoas que acessam seus dados têm as credenciais apropriadas.
Exclusão reversível: evite a perda permanente de dados contra exclusões acidentais ou mal-intencionadas retendo objetos e buckets excluídos recentemente. Por padrão, o Cloud Storage ativa a exclusão reversível de todos os buckets com um período de armazenamento de sete dias.
Controle de versão de objeto: quando a versão ativa de um objeto é substituída ou excluída, ela pode ser retida como uma versão não atual se você ativar o controle de versão de objeto.
Filtragem de IP de bucket: com a filtragem de IP de bucket, é possível restringir o acesso a um bucket com base no endereço IP de origem da solicitação e proteger seus dados contra acesso não autorizado de endereços IP ou nuvem privada virtual (VPC) específicos.
Bloqueio de buckets: determine por quanto tempo os objetos nos buckets precisam permanecer retidos especificando uma política de retenção.
Nomes de recursos
Cada recurso tem um nome único que o identifica, muito parecido com um nome de arquivo.
Os buckets têm um nome de recurso no formato
projects/_/buckets/BUCKET_NAME, em que
BUCKET_NAME é o ID do bucket. Os objetos têm
um nome de recurso no formato
projects/_/buckets/BUCKET_NAME/objects/OBJECT_NAME,
em que OBJECT_NAME é o ID do objeto.
Um #NUMBER anexado ao final do nome do recurso
indica uma geração específica do objeto. #0 é um identificador especial da
versão mais recente do objeto. É útil adicionar o identificador #0 quando o nome do
objeto termina em uma string que, de outra forma, seria interpretada como um
número de geração.
Guias de início rápido
Para aprender os conceitos básicos de uso do Cloud Storage, acesse os guias a seguir:
- Google Cloud Guia de início rápido do console
- Guia de início rápido do gcloud
- Guia de início rápido do Terraform
Procurando outros produtos?
Se o Cloud Storage não for a solução de armazenamento certa para você, veja mais informações sobre os seguintes serviços de armazenamento:
Google Cloud Managed Lustre: armazene seus dados em um sistema de arquivos paralelo de alta performance e totalmente gerenciado, otimizado para cargas de trabalho de IA e HPC.
Google Drive: armazene, gerencie e compartilhe seus arquivos pessoais.
Cloud Storage para Firebase: gerencie os dados dos seus aplicativos para dispositivos móveis.
Persistent Disk: adicione armazenamento em blocos à sua máquina virtual do Compute Engine
Filestore: adicione armazenamento de arquivos para acesso de vários gravadores aos clusters do GKE.
Confira mais serviços de armazenamento oferecidos pelo Google.
A seguir
- Aprenda os conceitos básicos do Cloud Storage usando o Google Cloud console ou a Google Cloud CLI.
- Teste as Google Cloud soluções de início rápido que usam o Cloud Storage.
- Dê os primeiros passos com as bibliotecas de clientes.
- Importe rapidamente dados on-line para o Cloud Storage ou entre buckets do Cloud Storage usando o Serviço de transferência do Cloud Storage.