Montaje de Azure Storage como un recurso compartido local en una aplicación de contenedor en App Service

Nota

Azure Storage en un contenedor Windows de App Service se encuentra en versión preliminar y no se admite para escenarios de producción.

En esta guía, se muestra cómo montar archivos de Azure Storage como un recurso compartido de red en un contenedor Windows en App Service. Solo se admiten recursos compartidos de archivos de Azure Files y recursos compartidos de archivos Premium. Entre las ventajas del montaje personalizado del almacenamiento se encuentran:

En esta guía, se muestra cómo montar Azure Storage como un recurso compartido de red en un contenedor Linux integrado o en un contenedor Linux personalizado en App Service. Vea el vídeo Montaje de Azure Storage como un recurso compartido local. Entre las ventajas del montaje personalizado del almacenamiento se encuentran:

  • Configurar el almacenamiento persistente de la aplicación de App Service y administrar el almacenamiento por separado.
  • Hacer que el contenido estático, como vídeo e imágenes, esté disponible para la aplicación de App Service.
  • Escribir archivos de registro de la aplicación o archivar el anterior registro de la aplicación en recursos compartidos de archivos de Azure.
  • Compartir el contenido entre varias aplicaciones o con otros servicios de Azure.

Se admiten las siguientes características para los contenedores Windows:

Se admiten las siguientes características para los contenedores Linux:

Prerrequisitos

Nota

Azure Storage es un almacenamiento no predeterminado para App Service y se factura por separado, no se incluye con App Service.

Limitaciones

  • No se admiten montajes de Azure Storage para aplicaciones Windows nativas (no contenedorizadas).
  • No se admiten blobs de Azure.
  • El firewall de Azure Storage solo se admite mediante puntos de conexión privados (cuando se usa la integración de red virtual). La compatibilidad con DNS personalizado no está disponible actualmente cuando la cuenta de Azure Storage montada usa un punto de conexión privado.
  • No se admite el acceso FTP/FTPS al almacenamiento montado (use el Explorador de Azure Storage).
  • No se admite la asignación de [C-Z]:\, [C-Z]:\home, /ni /home al montaje personalizado del almacenamiento.
  • Los montajes de Azure Storage no se pueden usar junto con la opción de configuración de clonación durante la creación de ranuras de implementación.
  • No se hace una copia de seguridad de los montajes de Azure Storage cuando se hace una copia de seguridad de la aplicación. Asegúrese de seguir los procedimientos recomendados para hacer una copia de seguridad de las cuentas de Azure Storage.
  • El firewall de Azure Storage solo se admite mediante puntos de conexión de servicio y puntos de conexión privados (cuando se usa la integración de red virtual). La compatibilidad con DNS personalizado no está disponible actualmente cuando la cuenta de Azure Storage montada usa un punto de conexión privado.
  • No se admite el acceso FTP/FTPS al montaje personalizado del almacenamiento (use el Explorador de Azure Storage).
  • La compatibilidad con la CLI de Azure, Azure PowerShell y Azure SDK se encuentra en versión preliminar.
  • No se admite la asignación de / ni /home al montaje personalizado del almacenamiento.
  • No asigne el montaje de almacenamiento personalizado a /tmp ni a sus subdirectorios, ya que puede agotarse el tiempo de espera durante el inicio de la aplicación.
  • Los montajes de Azure Storage no se pueden usar junto con la opción de configuración de clonación durante la creación de ranuras de implementación.
  • No se hace una copia de seguridad de los montajes de Azure Storage cuando se hace una copia de seguridad de la aplicación. Asegúrese de seguir los procedimientos recomendados para hacer una copia de seguridad de las cuentas de Azure Storage.

Montaje de Azure Storage en un contenedor Windows

Montaje de Azure Storage en un contenedor Linux

  1. Vaya a la aplicación en Azure Portal.

  2. En el panel de navegación izquierdo, haga clic en Configuración > Asignaciones de ruta de acceso > Nuevo montaje de Azure Storage.

  3. Configure el montaje del almacenamiento según la tabla siguiente. Cuando termine, haga clic en Aceptar.

    Configuración Descripción
    Nombre Nombre de la configuración de montaje. No se permiten espacios.
    Opciones de configuración Seleccione Básico si la cuenta de almacenamiento no usa puntos de conexión de privados. En caso contrario, seleccione Avanzado.
    Cuentas de almacenamiento Cuenta de Azure Storage. Debe contener un recurso compartido de Azure Files.
    Nombre del recurso compartido Recurso compartido de archivos que se va a montar.
    Clave de acceso (solo para Avanzado) Clave de acceso de la cuenta de almacenamiento.
    Ruta de acceso de montaje Directorio dentro del contenedor de Windows que se va a montar en Azure Storage. No use un directorio raíz ([C-Z]:\ o /), ni el directorio home ([C-Z]:\home, o /home).
    Configuración Descripción
    Nombre Nombre de la configuración de montaje. No se permiten espacios.
    Opciones de configuración Seleccione Básico si la cuenta de almacenamiento no usa puntos de conexión de servicio ni puntos de conexión privados. En caso contrario, seleccione Avanzado.
    Cuentas de almacenamiento Cuenta de Azure Storage.
    Tipo de almacenamiento Seleccione el tipo en función del almacenamiento que quiere montar. Los blobs de Azure únicamente admiten el acceso de solo lectura.
    Contenedor de Storage o nombre del recurso compartido Recurso compartido de archivos o contenedor de blobs que se va a montar.
    Clave de acceso (solo para Avanzado) Clave de acceso de la cuenta de almacenamiento.
    Ruta de acceso de montaje Directorio dentro del contenedor Linux que se va a montar en Azure Storage. No utilice / ni /home.

    Precaución

    El directorio especificado en Ruta de acceso de montaje en el contenedor debe estar vacío. Cualquier contenido almacenado en este directorio se elimina cuando se monta Azure Storage (por ejemplo, si especifica un directorio que se encuentre en /home). Si va a migrar archivos de una aplicación existente, haga una copia de seguridad de la aplicación y de su contenido antes de comenzar.

Nota

Agregar, editar o eliminar un montaje de almacenamiento hace que la aplicación se reinicie.

Prueba del almacenamiento montado

Para validar que el almacenamiento de Azure Storage se ha montado correctamente para la aplicación:

  1. Abra una sesión SSH en el contenedor.

  2. Ejecute el comando siguiente en el terminal SSH:

    df –h 
    
  3. Compruebe si el recurso compartido de almacenamiento está montado. Si no está presente, hay un problema con el montaje del recurso compartido de almacenamiento.

  4. Compruebe la latencia o la accesibilidad general del montaje de almacenamiento con el siguiente comando:

    tcpping Storageaccount.file.core.windows.net 
    

Procedimientos recomendados

  • Para evitar posibles problemas relacionados con la latencia, coloque la aplicación y la cuenta de Azure Storage en la misma región de Azure. Sin embargo, tenga en cuenta que si la aplicación y la cuenta de Azure Storage están en la misma región de Azure, y concede acceso desde las direcciones IP de App Service en la configuración del firewall de Azure Storage, no se respetan estas restricciones de dirección IP.
  • El directorio de montaje en la aplicación del contenedor debe estar vacío. Cualquier contenido almacenado en esta ruta se elimina cuando se monta Azure Storage. Si va a migrar archivos de una aplicación existente, haga una copia de seguridad de la aplicación y de su contenido antes de comenzar.
  • El directorio de montaje en la aplicación del contenedor debe estar vacío. Cualquier contenido almacenado en esta ruta de acceso se elimina cuando se monta Azure Storage (por ejemplo, si especifica un directorio que se encuentre en /home). Si va a migrar archivos de una aplicación existente, haga una copia de seguridad de la aplicación y de su contenido antes de comenzar.

  • No se recomienda montar el almacenamiento en /home porque puede producir cuellos de botella de rendimiento para la aplicación.

  • En la cuenta de Azure Storage, evite volver a generar la clave de acceso que se usa para montar el almacenamiento en la aplicación. La cuenta de almacenamiento contiene dos claves diferentes. Use un enfoque paso a paso para asegurarse de que el montaje del almacenamiento permanece disponible para la aplicación durante la regeneración de claves. Por ejemplo, suponiendo que se ha utilizado key1 para configurar el montaje del almacenamiento en la aplicación:

    1. Vuelva a generar key2.
    2. En la configuración del montaje del almacenamiento, actualice el acceso a la clave para usar la clave key2 que se ha vuelto a generar.
    3. Vuelva a generar key1.
  • Si elimina una cuenta, un contenedor o un recurso compartido de Azure Storage, quite la configuración del montaje del almacenamiento correspondiente en la aplicación para evitar posibles escenarios de error.

  • La cuenta de Azure Storage montada puede tener el nivel de rendimiento Estándar o Premium. En función de los requisitos de capacidad y rendimiento de la aplicación, elija el nivel de rendimiento adecuado para la cuenta de almacenamiento. Consulte los objetivos de escalabilidad y rendimiento que corresponden al tipo de almacenamiento:

  • Si la aplicación se escala a varias instancias, todas las instancias se conectan a la misma cuenta de Azure Storage montada. Para evitar problemas y cuellos de botella de rendimiento, elija el nivel de rendimiento adecuado para la cuenta de almacenamiento.

  • No se recomienda usar montajes de almacenamiento para bases de datos locales (como SQLite) ni para otras aplicaciones y componentes que se basen en manipuladores de archivos y bloqueos.

  • Al usar puntos de conexión privados de Azure Storage con la aplicación, debe establecer las dos siguientes opciones de configuración de la aplicación:

    • WEBSITE_DNS_SERVER = 168.63.129.16
    • WEBSITE_VNET_ROUTE_ALL = 1
  • Si inicia una conmutación por error del almacenamiento y la cuenta de almacenamiento está montada en la aplicación, el montaje no se conectará hasta que reinicie la aplicación o quite y agregue el montaje de Azure Storage.

Pasos siguientes