Conectar VMs de TPU 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 à VM de TPU acesso aos objetos de dados no Cloud Storage.
Antes de começar
É preciso ter uma conta de serviço anexada à VM de TPU para acessar um bucket do Cloud Storage. Se você não especificar uma conta de serviço ao criar uma VM de TPU, ela vai usar a conta de serviço padrão do Compute Engine.
Para configurar um Google Cloud projeto para TPUs e criar uma instância de VM de TPU, siga as instruções em:
- Configurar um Google Cloud projeto para TPUs.
- Criar uma instância de VM de TPU usando o Compute Engine
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 à sua escolha
- Classe de armazenamento padrão:
Standard - Local: a região em que você criou a VM de 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 REGIONSubstitua os seguintes marcadores de posição:
- BUCKET_NAME é o nome do bucket que você quer criar.
- REGION é a região em que você criou a VM de TPU. Para mais informações sobre regiões e disponibilidade de TPUs, consulte Regiões e zonas de TPU.
Use o comando
gcloud storage cppara gravar arquivos no bucket do Cloud Storage:gcloud storage cp -r LOCAL_DATA_DIR gs://BUCKET_NAMESubstitua os seguintes marcadores de posição:
- LOCAL_DATA_DIR é um caminho local para seus dados. Por exemplo: $HOME/your-data
- BUCKET_NAME é o nome do bucket em que você quer gravar.
Conceder acesso à VM de TPU ao Cloud Storage
É necessário conceder à VM de TPU acesso de leitura/gravação aos objetos do Cloud Storage. Para isso, conceda o acesso necessário à conta de serviço anexada à VM de TPU. As seções a seguir mostram como encontrar a conta de serviço anexada e conceder o acesso necessário.
Autorizar a conta de serviço anexada
A maneira recomendada de autorizar a conta de serviço anexada é 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 VM de TPU (recomendado)
Se você armazenar dados de treinamento no Cloud Storage, será necessário conceder à conta de serviço anexada 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ê estiver lendo esse bucket, autorize a conta de serviço anexada a ler esse recurso. Isso pode ser feito concedendo o papel
Storage Legacy > Storage Legacy Bucket Readerà conta de serviço.Se você estiver gravando nesse bucket, autorize a conta de serviço anexada a gravar nesse recurso. Isso pode ser feito concedendo o papel
Storage Legacy > Storage Legacy Bucket Writerà conta de serviço.
CLI
Se você estiver lendo esse bucket, conceda a permissão de leitura à conta de serviço anexada.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectViewerSubstitua os seguintes marcadores de posição:
- BUCKET_NAME é o nome do bucket que você quer ler.
- SERVICE_ACCOUNT é o nome da conta de serviço anexada à VM de TPU.
Se você estiver gravando nesse bucket, conceda a permissão de gravação à conta de serviço anexada:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectCreatorSubstitua os seguintes marcadores de posição:
- BUCKET_NAME é o nome do bucket em que você quer gravar.
- SERVICE_ACCOUNT é o nome da conta de serviço anexada à VM de TPU.
Como usar permissões do IAM para VM de 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 anexada à VM de TPU o papel do Identity Access Management (IAM) de Administrador do Storage.
Clique no botão Conceder acesso para adicionar principais ao projeto.
Digite o nome da conta de serviço anexada no campo 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. Isso permite que os aplicativos leiam e gravem 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 gcsfusee como ativar buckets.
Limpar
Desconecte-se da VM de TPU, se ainda não tiver feito isso:
exitNo Cloud Shell ou terminal, exclua a VM de TPU:
gcloud compute instances delete TPU_NAME --zone=ZONESubstitua os seguintes marcadores de posição:
- TPU_NAME: o nome da VM de TPU que você criou.
- ZONE: a zona em que a VM de TPU foi criada.
Execute
gcloud compute instances listpara verificar se a VM foi excluída. A exclusão pode levar vários minutos.gcloud compute instances list --zone=ZONESubstitua ZONE pela zona em que a VM de TPU foi criada.
Se a resposta não listar a instância de TPU, ela foi excluída.
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_NAMESubstitua os seguintes marcadores de posição:
- BUCKET_NAME: o nome do bucket que você quer excluir.
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.