Conéctate a los buckets de Cloud Storage

En esta página, se presenta Cloud Storage como una opción de almacenamiento para tus datos de aprendizaje automático y se describe cómo otorgar a tu Cloud TPU acceso a los objetos de datos en Cloud Storage.

Antes de comenzar

Necesitas una cuenta de servicio de Cloud TPU para acceder a un bucket de Cloud Storage.

  1. Crea una cuenta de servicio de Cloud TPU para tu proyecto.

    gcloud beta services identity create --service tpu.googleapis.com --project project-id

    El comando muestra una cuenta de servicio de Cloud TPU con el siguiente formato:

    service-project-number@cloud-tpu.iam.gserviceaccount.com
    
  2. Sigue las instrucciones que se encuentran en las guías de inicio rápido de Cloud TPU o en Administra TPU para configurar tu proyecto de Google Cloud y crear tus recursos de VM y TPU de Cloud TPU.

Escribe datos en Cloud Storage

Consola

  1. Ve a la página de Cloud Storage en la consola de Google Cloud .

    Ir a la página de Cloud Storage

  2. Crea un bucket nuevo y especifica las siguientes opciones:

    • Un nombre único de tu elección
    • Clase de almacenamiento predeterminada: Standard
    • Ubicación: la región en la que creaste la Cloud TPU. Para obtener más información sobre las regiones y la disponibilidad de las TPU, consulta Regiones y zonas de TPU

CLI

  1. Usa el comando gcloud storage buckets create para crear un bucket de Cloud Storage:

    gcloud storage buckets create gs://bucket-name --location region

    Donde:

    • region es la región en la que creaste la Cloud TPU. Para obtener más información sobre las regiones y la disponibilidad de las TPU, consulta Regiones y zonas de TPU.

    • bucket-name es el nombre del bucket que deseas crear.

  2. Usa el comando gcloud storage cp para escribir archivos en el bucket de Cloud Storage:

    gcloud storage cp -r local-data-dir gs://bucket-name

    local-data-dir es una ruta local a tus datos. Un ejemplo es $HOME/your-data.

Otorga a Cloud TPU acceso a Cloud Storage

Necesitas otorgar a Cloud TPU acceso de lectura y escritura a los objetos de Cloud Storage. Para hacerlo, debes otorgar el acceso requerido a la cuenta de servicio que usa la Cloud TPU. En las siguientes secciones, se muestra cómo encontrar la cuenta de servicio de Cloud TPU y otorgar el acceso necesario.

Autoriza la cuenta de servicio de Cloud TPU

La forma recomendada de autorizar la cuenta de servicio de Cloud TPU es usar Listas de control de acceso (ACL) detalladas. También puedes otorgar permisos más amplios con los permisos de IAM.

Utiliza ACL detalladas para Cloud TPU (recomendado)

Si almacenas datos de entrenamiento en Cloud Storage, la cuenta de servicio de Cloud TPU necesita permiso de lectura y escritura en el bucket.

Consola

  1. Ve a la página del navegador de Cloud Storage para ver tus buckets.

    Ir al navegador de Cloud Storage

  2. Selecciona el bucket cuya ACL deseas modificar.

  3. Selecciona la pestaña Permisos.

  4. Selecciona Otorgar acceso para agregar un permiso nuevo y escribe el nombre completo de la cuenta de servicio en el cuadro de edición Principales nuevas.

  5. Si estás leyendo desde este bucket, debes permitir que la cuenta de servicio de TPU lea desde el recurso. Para ello, otorga el rol Storage Legacy > Storage Legacy Bucket Reader a la cuenta de servicio.

  6. Si estás escribiendo en este bucket, debes permitir que la cuenta de servicio de TPU escriba en el recurso. Para ello, otorga el rol Storage Legacy > Storage Legacy Bucket Writer a la cuenta de servicio.

CLI

  1. Si estás leyendo desde este bucket, otórgale a la cuenta de servicio de Cloud TPU permiso de lectura:

     gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectViewer
     

  2. Si escribes en este bucket, otorga permiso de escritura a la cuenta de servicio de Cloud TPU:

     gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectCreator

Usa permisos de IAM para Cloud TPU (alternativa)

Si prefieres otorgar permisos más amplios en lugar de conceder acceso a cada bucket de forma explícita, puedes asignar el rol de administrador de almacenamiento de Identity & Access Management (IAM) a la cuenta de servicio de Cloud TPU.

  1. Ir a IAM

  2. Haz clic en el botón Otorgar acceso para agregar principales al proyecto.

  3. Ingresa los nombres de la cuenta de servicio de Cloud TPU en el cuadro de texto Principales.

  4. Haz clic en la lista desplegable Roles.

  5. Habilita las siguientes funciones:

    • Proyecto > Visualizador

    • Almacenamiento > Administrador de almacenamiento

Cloud Storage FUSE

Cloud Storage FUSE te permite activar y acceder a los buckets de Cloud Storage como sistemas de archivos locales. Esto permite que las aplicaciones lean y escriban objetos en tu bucket con la semántica del sistema de archivos estándar.

Consulta la documentación de Cloud Storage FUSE para obtener detalles sobre cómo funciona Cloud Storage FUSE y una descripción de cómo las operaciones de Cloud Storage FUSE se asignan a las de Cloud Storage. Puedes encontrar información adicional sobre cómo usar Cloud Storage FUSE, como instalar gcsfuse CLI y activar buckets en GitHub.

Realiza una limpieza

  1. Desconéctate de la Cloud TPU, si aún no lo hiciste:

    (vm)$ exit
  2. En Cloud Shell, borra la Cloud TPU:

    gcloud compute tpus tpu-vm delete tpu-name --zone=zone
  3. Ejecuta gcloud compute tpus tpu-vm list para verificar que se haya borrado la VM. Este proceso puede tardar varios minutos.

    gcloud compute tpus tpu-vm list --zone=zone

    Una respuesta como la siguiente indica que tus instancias se borraron correctamente.

    Listed 0 items
    
  4. Ejecuta el siguiente comando para borrar el bucket de Cloud Storage y su contenido. Reemplaza bucket-name por el nombre del bucket que creaste:

    gcloud storage rm --recursive gs://bucket-name

¿Qué sigue?