Montar Azure Blob Storage en Linux — NetDrive en Ubuntu

5 min de lectura provider-guide azure linux
Casey
CaseyProduct Manager
Monta un contenedor de Azure Blob Storage como punto de montaje en Linux con la build experimental de NetDrive para Ubuntu: configuración, autenticación y verificación.

Un equipo de ingeniería de datos exporta cada noche archivos de reporting a un contenedor de Azure Blob Storage, y la máquina Ubuntu que los reprocesa no debería necesitar el SDK de Azure incrustado en cada script solo para leer un archivo. El equipo ya cuenta con cp, find y varios pipelines de shell que funcionan bien contra rutas locales. La build de Linux de NetDrive monta el contenedor como una de esas rutas locales, de modo que los scripts existentes siguen funcionando sin cambios.

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

Monta Azure Blob Storage en Ubuntu

NetDrive hace que Google Drive, OneDrive, S3, SFTP, WebDAV y más aparezcan como unidades nativas en Windows y macOS — sin sincronizar, sin descargas completas.

  • Funciona sobre la build experimental de NetDrive para Ubuntu
  • Los scripts de shell existentes leen y escriben a través de un punto de montaje normal
  • Subidas en segundo plano para que los archivos grandes no bloqueen el proceso que los invoca
WindowsmacOS
Descargar NetDrive para Linux →

Prueba gratuita. Planes de por vida y de suscripción disponibles.

Por qué montar en lugar de programar contra la API de Blob

Hablar directamente con Azure Blob Storage implica incorporar el SDK de Azure o comandos de la CLI az storage blob, gestionar la expiración de tokens SAS y escribir lógica de reintentos en el lenguaje que use cada trabajo. Eso es manejable para un script, pero se acumula en cuanto una docena de cron jobs y pasos de CI necesitan cada uno su propia copia de la misma plomería. Montar el contenedor elimina esa capa: cualquier cosa que ya lea y escriba en rutas locales puede tocar el punto de montaje de la misma forma.

NetDrive añadió soporte para Azure Blob Storage en la versión 3.11.204 (2020-07-22), la misma versión que incorporó Azure File Storage. En Linux, ese tipo de conexión corre sobre la build experimental de NetDrive para Ubuntu, en lugar de las versiones de Windows y macOS, mucho más probadas — algo que conviene saber antes de apuntar un pipeline de producción hacia ella, ya que Linux lleva la etiqueta “experimental” en la propia página comparativa de NetDrive.

Azure Blob Storage provider logo — NetDrive supports Azure Blob Storage on Windows, macOS, and Linux

Qué necesitas del portal de Azure

Reúne estos tres valores antes de abrir NetDrive:

  • Nombre de la cuenta de almacenamiento — en la página de resumen de tu recurso Storage account en el Azure Portal.
  • Nombre del contenedor — el contenedor Blob específico que se va a montar, por ejemplo nightly-exports.
  • Credencial de autenticación — ya sea la clave primaria de la cuenta (Azure Portal → Storage account → Security + networkingAccess keys) o un token de Shared Access Signature (SAS) delimitado al contenedor. Un token SAS con una expiración alineada con tu política de rotación de credenciales es la opción más segura para una máquina desatendida.

También necesitarás Ubuntu 16.04 o posterior, con acceso saliente abierto hacia el endpoint de Azure Storage en el firewall de la máquina.

Instalar NetDrive en Ubuntu

NetDrive para Linux no está en los repositorios por defecto de Ubuntu, así que la instalación pasa por GitHub en lugar de apt:

  1. Ve a github.com/NetDrive/installer y descarga la versión que corresponda a tu versión de Ubuntu.
  2. Revisa las notas de esa versión antes de instalar — un componente de driver debe cargarse primero, o las conexiones no montarán.
  3. Instala el paquete y luego lanza NetDrive una vez para que el driver se cargue. Este paso puede pedir sudo según cómo esté configurada la máquina.

Paso a paso: conectar un contenedor Azure Blob

  1. Abre el Drive Manager de NetDrive y haz clic en + Add Drive.
  2. Selecciona Azure Blob Storage de la lista de proveedores.

NetDrive Drive Manager showing multiple cloud connections available to add

  1. Introduce el Account Name y el Container obtenidos del Azure Portal.
  2. Pega la clave de cuenta o el token SAS en el campo de autenticación.
  3. Define un punto de montaje, como /mnt/azure-exports, y haz clic en Connect.

Verificar el montaje antes de que un job dependa de él

Confirma que el montaje realmente se realizó antes de apuntar un job desatendido hacia él:

# Confirm the mount is listed
mount | grep azure-exports

# Or just list it
ls /mnt/azure-exports

Confirming that a connected drive mounted successfully after setup

Si el directorio aparece vacío o el montaje nunca aparece, comprueba que el firewall de la máquina permite tráfico saliente hacia el endpoint de Azure Storage antes de asumir que la credencial está mal — un puerto bloqueado hace tropezar a los servidores de build restringidos con más frecuencia que un token SAS incorrecto.

Checking that a network port is reachable when troubleshooting a failed connection

Qué tener en cuenta en la build de Linux

  • Un ciclo de lanzamientos independiente. Las correcciones que salen para Windows o macOS no llegan automáticamente a la build de Linux la misma semana.
  • Sin integración con apt. Las actualizaciones vienen de releases de GitHub, no de un gestor de paquetes, así que seguir las nuevas versiones es un paso manual.
  • Windows y macOS reciben las pruebas más profundas. Un job de exportación nocturna que lee desde Azure Blob Storage encaja razonablemente en la build de Linux; pruébalo a fondo antes de poner un pipeline de producción desatendido detrás de ella.

Conclusión

Montar un contenedor de Azure Blob Storage en Ubuntu le da a una máquina Linux el mismo acceso tipo unidad que NetDrive ofrece en Windows y macOS, sin reescribir scripts alrededor del SDK de Azure. Para el mismo proveedor en plataformas más probadas, consulta Mount Azure Blob Storage on Windows o Mount Azure Blob Storage on macOS; para el panorama más amplio de Linux, consulta NetDrive on Ubuntu Linux.

— Casey, NetDrive