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 los resultados de 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 conectada 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, esta usará la cuenta de servicio predeterminada de Compute Engine.
Para configurar un Google Cloud proyecto para TPUs y crear una instancia de VM de TPU, sigue las instrucciones que se indican a continuación:
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: 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 acceso a Cloud Storage a tu VM de TPU
Necesitas otorgar a tu VM de TPU acceso de lectura y escritura a los objetos de Cloud Storage. Para ello, debes otorgar el acceso requerido a la cuenta de servicio conectada a tu VM de TPU. En las siguientes secciones, se muestra cómo encontrar la cuenta de servicio conectada y otorgar el acceso necesario.
Autoriza la cuenta de servicio conectada
La forma recomendada de autorizar la cuenta de servicio conectada es usar Listas de control de acceso (ACL) detalladas. También puedes otorgar permisos más amplios con los permisos de IAM.
Usa ACLs detalladas para la VM de TPU (recomendado)
Si almacenas datos de entrenamiento en Cloud Storage, la cuenta de servicio conectada 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 conectada 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 conectada 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 conectada 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 conectada a tu VM de TPU.
Si escribes en este bucket, otorga permiso de escritura a la cuenta de servicio conectada:
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 conectada 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 conectada 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 conectada en el campo Principales.
Haz clic en la lista desplegable Funciones.
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 estos 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, por ejemplo, cómo instalar la CLI de gcsfuse y activar buckets en
GitHub.
Limpia
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: El nombre de la VM de TPU que creaste.
- ZONE: 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 muestra tu instancia de TPU, 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: 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.
- Para obtener más información sobre las prácticas recomendadas de almacenamiento, consulta Prácticas recomendadas de almacenamiento para IA/ML en VMs de TPU.