Conecta VMs de TPU a 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 el resultado del entrenamiento, y se describe cómo otorgar a tu VM de TPU acceso a los objetos de datos en Cloud Storage.

Antes de comenzar

Necesitas una cuenta de servicio adjunta a tu VM de TPU para acceder a un bucket de Cloud Storage. Si no especificas una cuenta de servicio cuando creas una VM de TPU, se usa la cuenta de servicio predeterminada de Compute Engine.

Para configurar un proyecto de Google Cloud para TPUs y crear una instancia de VM de TPU, sigue las instrucciones que se indican en los siguientes vínculos:

  1. Configura un proyecto de Google Cloud para las TPU.
  2. Crea una instancia de VM de TPU con Compute Engine

Escribe datos en Cloud Storage

Console

  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: Es la región en la que creaste la VM de 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
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • BUCKET_NAME es el nombre del bucket que deseas crear.
    • REGION es la región en la que creaste la VM de TPU. Para obtener más información sobre las regiones y la disponibilidad de las TPU, consulta Regiones y zonas de TPU.
  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
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • LOCAL_DATA_DIR es una ruta local a tus datos. Por ejemplo: $HOME/your-data.
    • BUCKET_NAME es el nombre del bucket en el que deseas escribir.

Otorga a tu VM de TPU acceso a Cloud Storage

Debes otorgar a tu VM de TPU acceso de lectura y escritura a tus objetos de Cloud Storage. Para ello, debes otorgar el acceso requerido a la cuenta de servicio adjunta a tu VM de TPU. En las siguientes secciones, se muestra cómo encontrar la cuenta de servicio adjunta y otorgar el acceso necesario.

Autoriza la cuenta de servicio conectada

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

Usa ACL detalladas para la VM de TPU (recomendado)

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

Console

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

    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 lees desde este bucket, debes permitir que la cuenta de servicio adjunta lea desde el recurso. Para ello, otorga la función de Storage Legacy > Storage Legacy Bucket Reader a la cuenta de servicio.

  6. Si escribes en este bucket, debes permitir que la cuenta de servicio adjunta escriba en el recurso. Para ello, otorga la función de 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 adjunta permiso de lectura:

     gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectViewer
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • BUCKET_NAME es el nombre del bucket desde el que deseas leer.
    • SERVICE_ACCOUNT es el nombre de la cuenta de servicio adjunta a tu VM de TPU.
  2. Si escribes en este bucket, otorga permiso de escritura a la cuenta de servicio adjunta:

     gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectCreator
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • BUCKET_NAME es el nombre del bucket en el que deseas escribir.
    • SERVICE_ACCOUNT es el nombre de la cuenta de servicio adjunta a tu VM de TPU.

Usa permisos de IAM para la VM de 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 adjunta a tu VM de TPU.

  1. Ir a IAM

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

  3. Ingresa el nombre de la cuenta de servicio adjunta en el campo 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 buckets de Cloud Storage y acceder a ellos 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 la CLI de gcsfuse y activar buckets en GitHub.

Realiza una limpieza

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

    exit
    
  2. En Cloud Shell o en la terminal, borra la VM de TPU:

    gcloud compute instances delete TPU_NAME --zone=ZONE
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • TPU_NAME: Es el nombre de la VM de TPU que creaste.
    • ZONE: Es la zona en la que se creó la VM de TPU.
  3. Ejecuta gcloud compute instances list para verificar que se haya borrado la VM. Este proceso puede tardar varios minutos.

    gcloud compute instances list --zone=ZONE
    

    Reemplaza ZONE por la zona en la que se creó la VM de TPU.

    Si la respuesta no incluye tu instancia de TPU, significa que se borró correctamente.

  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
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • BUCKET_NAME: Es el nombre del bucket que deseas borrar.

¿Qué sigue?