Como se conectar a buckets do Cloud Storage
Nesta página, apresentamos o Cloud Storage como uma opção para armazenar os dados de machine learning e a saída do treinamento. Também descrevemos como conceder ao Cloud TPU acesso aos objetos de dados no Cloud Storage.
Antes de começar
É preciso ter uma conta de serviço do Cloud TPU para acessar um bucket do Cloud Storage.
Crie uma conta de serviço do Cloud TPU para o projeto.
gcloud beta services identity create --service tpu.googleapis.com --project project-id
O comando retorna uma conta de serviço do Cloud TPU com o formato abaixo:
service-project-number@cloud-tpu.iam.gserviceaccount.com
Siga as instruções nos guias de início rápido do Cloud TPU ou em Gerenciar TPUs para configurar o projeto do Google Cloud e criar sua VM do Cloud TPU e os recursos dela.
Gravar dados no Cloud Storage
Console
Acesse a página do Cloud Storage no console do Google Cloud .
Crie um novo bucket especificando as opções a seguir:
- Um nome exclusivo de sua escolha.
- Classe de armazenamento padrão:
Standard. - Local: a região em que você criou o Cloud TPU. Para mais informações sobre regiões e disponibilidade de TPUs, consulte Regiões e zonas de TPU.
CLI
Use o comando
gcloud storage buckets createpara criar um bucket do Cloud Storage:gcloud storage buckets create gs://bucket-name --location region
em que:
region é a região em que você criou o Cloud TPU. Para mais informações sobre regiões e disponibilidade de TPUs, consulte Regiões e zonas de TPU.
bucket-name é o nome do bucket que você quer criar.
Use o comando
gcloud storage cppara gravar arquivos no bucket do Cloud Storage:gcloud storage cp -r local-data-dir gs://bucket-name
em que local-data-dir é um caminho local para os dados. Por exemplo:
$HOME/your-data.
Como conceder ao Cloud TPU acesso ao Cloud Storage
É necessário conceder ao Cloud TPU acesso de leitura/gravação aos objetos do Cloud Storage. Para isso, conceda o acesso necessário à conta de serviço usada pelo Cloud TPU. As seções a seguir mostram como encontrar a conta de serviço do Cloud TPU e conceder o acesso necessário.
Autorizar a conta de serviço do Cloud TPU
A maneira recomendada de autorizar a conta de serviço do Cloud TPU é usar listas de controle de acesso (ACLs) refinadas. Você também pode conceder permissões mais amplas usando as permissões do IAM.
Como usar ACLs refinadas para o Cloud TPU (recomendado)
Se você armazenar dados de treinamento no Cloud Storage, será necessário conceder à conta de serviço do Cloud TPU permissão de leitura e gravação no bucket.
Console
Acesse a página do navegador do Cloud Storage para ver seus buckets.
Selecione o bucket que tem a ACL a ser modificada.
Selecione a guia Permissões.
Selecione Conceder acesso para adicionar uma nova permissão e digite o nome completo da conta de serviço na caixa de edição Novos principais.
Se você fizer leituras nesse bucket, autorize a conta de serviço da TPU a ler esse recurso. Para isso, conceda o papel
Storage Legacy > Storage Legacy Bucket Readerà conta de serviço.Se você fizer gravações nesse bucket, autorize a conta de serviço da TPU a gravar nesse recurso. Para isso, conceda o papel
Storage Legacy > Storage Legacy Bucket Writerà conta de serviço.
CLI
Se você fizer leituras nesse bucket, conceda a permissão de leitura à conta de serviço do Cloud TPU:
gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectViewer
Se você fizer gravações nesse bucket, conceda a permissão de gravação à conta de serviço do Cloud TPU:
gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectCreator
Como usar permissões do IAM para o Cloud TPU (alternativa)
Se você quiser conceder permissões mais amplas, em vez de permitir explicitamente o acesso a cada bucket, conceda à conta de serviço do Cloud TPU o papel do Identity Access Management (IAM) de Administrador do Storage.
Clique no botão Conceder acesso para adicionar principais ao projeto.
Insira os nomes da conta de serviço do Cloud TPU na caixa de texto Principais.
Clique na lista suspensa Papéis.
Ative os seguintes papéis:
Projeto > Leitor
Storage > Administrador do Storage
Cloud Storage FUSE
O Cloud Storage FUSE permite ativar e acessar buckets do Cloud Storage como sistemas de arquivos locais. Assim, os aplicativos podem ler e gravar objetos no bucket usando a semântica padrão dos sistemas de arquivos.
Consulte a documentação do Cloud Storage FUSE para saber como ele funciona e conferir uma descrição de como as operações dele são associadas às do Cloud Storage. No GitHub, é possível saber mais sobre o Cloud Storage FUSE, por exemplo, como instalar a CLI gcsfuse e como ativar buckets.
Limpeza
Desconecte-se do Cloud TPU, caso ainda não tenha feito isso:
(vm)$ exit
No Cloud Shell, exclua o Cloud TPU:
gcloud compute tpus tpu-vm delete tpu-name --zone=zone
Execute
gcloud compute tpus tpu-vm listpara verificar se a VM foi excluída. A exclusão pode levar vários minutos.gcloud compute tpus tpu-vm list --zone=zone
Uma resposta como a seguir indica que as instâncias foram excluídas.
Listed 0 itemsExecute o comando abaixo para excluir o bucket do Cloud Storage e o conteúdo dele, substituindo bucket-name pelo nome do bucket que você criou:
gcloud storage rm --recursive gs://bucket-name
A seguir
- Para saber como criar buckets do Cloud Storage e fazer gravações neles, consulte a documentação sobre a criação de buckets do Cloud Storage.
- Para mais informações sobre contas de serviço, consulte a visão geral sobre autenticação.