Como se conectar a buckets do Cloud Storage

Nesta página, apresentamos o Cloud Storage como uma opção para armazenar dados de machine learning e resultado 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 seu 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 seguinte formato:

    service-project-number@cloud-tpu.iam.gserviceaccount.com
    
  2. Siga as instruções dos guias de início rápido do Cloud TPU ou Gerenciar TPUs para configurar o projeto Google Cloud e criar recursos de VM e TPU do Cloud TPU.

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 à 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 TPU, 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 TPU, 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 seus dados. Por exemplo:$HOME/your-data

Conceder acesso ao Cloud TPU ao Cloud Storage

É necessário conceder ao Cloud TPU acesso de leitura e gravação aos objetos do Cloud Storage. Para isso, conceda o acesso necessário à conta de serviço do Cloud TPU usada por ele. 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 é usando listas de controle de acesso (ACLs) refinadas. Também é possível conceder permissões mais amplas usando as permissões do IAM.

Como usar Access Control Lists (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 cuja ACL você quer modificar.

  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ê estiver lendo esse bucket, autorize a conta de serviço da TPU a ler esse recurso. Isso pode ser feito concedendo o papel Storage Legacy > Storage Legacy Bucket Reader à conta de serviço.

  6. Se você estiver gravando nesse bucket, autorize a conta de serviço da TPU a gravar nesse recurso. Isso pode ser feito concedendo o papel Storage Legacy > Storage Legacy Bucket Writer à conta de serviço.

CLI

  1. Se você estiver lendo esse 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ê estiver gravando 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 de Administrador do Storage no Identity Access Management (IAM).

  1. Acessar IAM

  2. Clique no botão Conceder acesso para adicionar participantes 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 montar e acessar buckets do Cloud Storage como sistemas de arquivos locais. Isso permite que os aplicativos leiam e gravem objetos no bucket usando a semântica padrão de sistemas de arquivos.

Consulte a documentação do Cloud Storage FUSE para saber como ele funciona e como as operações do Cloud Storage FUSE são mapeadas. Confira mais informações sobre como usar o Cloud Storage FUSE, como instalar a CLI gcsfuse e montar buckets no GitHub.

Limpar

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

    (vm)$ exit
  2. No Cloud Shell, exclua a 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 esta indica que suas instâncias foram excluídas.

    Listed 0 items
    
  4. Execute o comando a seguir 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