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:
- Configura un proyecto de Google Cloud para las TPU.
- Crea una instancia de VM de TPU con Compute Engine
Escribe datos en Cloud Storage
Console
Ve a la página de Cloud Storage en la consola de Google Cloud .
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
Usa el comando
gcloud storage buckets createpara crear un bucket de Cloud Storage:gcloud storage buckets create gs://BUCKET_NAME --location REGIONReemplaza 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.
Usa el comando
gcloud storage cppara escribir archivos en el bucket de Cloud Storage:gcloud storage cp -r LOCAL_DATA_DIR gs://BUCKET_NAMEReemplaza 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
Ve a la página del navegador de Cloud Storage para ver tus depósitos.
Selecciona el bucket cuya ACL deseas modificar.
Selecciona la pestaña Permisos.
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.
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 Readera la cuenta de servicio.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 Writera la cuenta de servicio.
CLI
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.objectViewerReemplaza 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.
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.objectCreatorReemplaza 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.
Haz clic en el botón Otorgar acceso para agregar principales al proyecto.
Ingresa el nombre de la cuenta de servicio adjunta en el campo Principales.
Haz clic en la lista desplegable Roles.
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
Desconéctate de la VM de TPU, si aún no lo hiciste:
exitEn Cloud Shell o en la terminal, borra la VM de TPU:
gcloud compute instances delete TPU_NAME --zone=ZONEReemplaza 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.
Ejecuta
gcloud compute instances listpara verificar que se haya borrado la VM. Este proceso puede tardar varios minutos.gcloud compute instances list --zone=ZONEReemplaza 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.
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_NAMEReemplaza los marcadores de posición que se indican más abajo:
- BUCKET_NAME: Es el nombre del bucket que deseas borrar.
¿Qué sigue?
- Para obtener más información sobre cómo crear buckets de Cloud Storage y escribir datos en ellos, consulta la documentación sobre cómo crear buckets de Cloud Storage.
- Para obtener más información sobre las cuentas de servicio, consulta la descripción general de la autenticación.