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.

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

  1. Acesse a página do Cloud Storage no console do Google Cloud .

    Acessar a página do Cloud Storage

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

  1. Use o comando gcloud storage buckets create para 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.

  2. Use o comando gcloud storage cp para 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

  1. Acesse a página do navegador do Cloud Storage para ver seus buckets.

    Acessar o navegador do Cloud Storage

  2. Selecione o bucket que tem a ACL a ser modificada.

  3. Selecione a guia Permissões.

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

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

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

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

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

  1. Acessar o IAM

  2. Clique no botão Conceder acesso para adicionar principais ao projeto.

  3. Insira os nomes da conta de serviço do Cloud TPU na caixa de texto Principais.

  4. Clique na lista suspensa Papéis.

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

  1. Desconecte-se do Cloud TPU, caso ainda não tenha feito isso:

    (vm)$ exit
  2. No Cloud Shell, exclua o Cloud TPU:

    gcloud compute tpus tpu-vm delete tpu-name --zone=zone
  3. Execute gcloud compute tpus tpu-vm list para 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 items
    
  4. Execute 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