Nesta página, descrevemos 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 pelo 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 eles e baixar objetos dos 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. Com os recursos de diretório, você pode usar o Cloud Storage de maneira mais semelhante a um disco rígido ou um armazenamento conectado à rede (NAS): 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 em 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 organização do Google Cloud com o nome de Google Cloud.
exampleinc.orgProjeto: 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ê pode criar um bucket
photospara armazenar todos os arquivos de imagem gerados pelo app e um bucketvideosseparado. O Cloud Storage oferece diferentes classes de armazenamento e locais para seus buckets, permitindo que você escolha a durabilidade e a disponibilidade dos dados de acordo com as necessidades das suas cargas de trabalho.Os buckets servem como uma base de dados principal no ecossistema mais amplo do Google Cloud. É possível conectar seus buckets como back-ends de armazenamento para outros serviços, como o AI Hypercomputer, a Vertex AI e o Google Kubernetes Engine.Google Cloud
Embora os buckets sejam adequados para a maioria dos casos de uso de armazenamento de dados, é possível configurar recursos e configurações opcionais 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 dados em uma estrutura lógica de sistema de arquivos usando pastas. Armazenar seus dados em pastas permite usar 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. Os buckets com namespace hierárquico ativado oferecem limites de consultas por segundo (QPS) iniciais até oito 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: um recurso de alto desempenho que permite armazenar objetos na classe de armazenamento Rapid Storage usando uma zona como local de um bucket. Ao localizar buckets em zonas, você pode alocar seus objetos com recursos de computação, ativar automaticamente o namespace hierárquico e usar novas APIs para leituras de streaming e gravações anexáveis. O Rapid Bucket oferece latência, capacidade de processamento e E/S muito melhores em comparação com buckets em outras classes de armazenamento, o que torna o recurso ideal para cargas de trabalho de análise e IA/ML com uso intensivo de dados.
Para usar o Rapid Bucket, crie um bucket e defina uma zona como local dele. O Rapid Bucket não pode ser usado em buckets que não estão 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. Você pode renomear atomicamente uma pasta e todos os objetos nela em uma 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:
ConsoleGoogle Cloud : o console Google Cloud 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 comandos
gcloud storage.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.
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. Ele é um framework RPC universal de alto desempenho e código aberto desenvolvido pelo Google que pode ser usado para definir seus serviços com buffers de protocolo.
Cloud Storage FUSE: o Cloud Storage FUSE permite montar 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 projeto Google Cloud . Os recursos incluem buckets e objetos do Cloud Storage, além de outras entidades doGoogle Cloud , 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 uma 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 do bucket: com a filtragem de IP do 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 específicos ou da nuvem privada virtual (VPC).
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 paralelos de alto desempenho 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.
Conheça outros 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.