Montaje de Azure Storage como un recurso compartido local en App Service

Azure Storage es la solución de almacenamiento de Microsoft para los escenarios modernos de almacenamiento de datos. Azure Storage ofrece almacenamiento de alta disponibilidad, escalable de forma masiva, duradero y seguro para una gran variedad de objetos de datos en la nube. En esta guía, se muestra cómo montar archivos de Azure Storage como un recurso compartido de red en código de Windows (no es contenedor) en App Service. Solo se admiten recursos compartidos de archivos de Azure Files y recursos compartidos de archivos Premium. Azure Storage es un almacenamiento no predeterminado para App Service y se factura por separado. También puede configurar Azure Storage en una plantilla de ARM.

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.
  • Escriba archivos de registro de aplicaciones o archive registros de aplicaciones antiguos en Azure File shares.
  • Compartir el contenido entre varias aplicaciones o con otros servicios de Azure.

Se admiten las siguientes características el código de Windows:

Estas son las tres opciones para montar Azure Storage en la aplicación:

Opción de montaje Uso
Basic Elija esta opción al montar el almacenamiento mediante Azure Portal. Puede usar la opción básica siempre que la cuenta de almacenamiento no use puntos de conexión de servicio, puntos de conexión privados o Azure Key Vault. En ese caso, el portal obtiene y almacena la clave de acceso.
Clave de acceso Si planea montar el almacenamiento mediante la CLI de Azure, debe obtener una clave de acceso. Elija esta opción si la cuenta de almacenamiento no usa puntos de conexión de servicio, puntos de conexión privados ni Azure Key Vault.
Key Vault Use también esta opción cuando planee montar el almacenamiento mediante la CLI de Azure, que requiere la clave de acceso. Elija esta opción al usar Azure Key Vault para almacenar y recuperar claves de acceso de forma segura. Azure Key Vault tiene las ventajas de almacenar secretos de aplicación de forma centralizada y segura con la capacidad de supervisar, administrar e integrar con otros servicios de Azure, como Azure App Service.

Requisitos previos

Limitaciones

  • El firewall de Azure Storage solo se admite mediante puntos de conexión privados y puntos de conexión de servicio (cuando se usa la integración de red virtual).
  • No se admiten blobs de Azure al configurar montajes de Azure Storage para aplicaciones de código de Windows implementadas en App Service.
  • No se admite el acceso FTP/FTPS al almacenamiento montado (use el Explorador de Azure Storage).
  • No se admite la asignación de /mounts, mounts/foo/bar, / y /mounts/foo.bar/ al almacenamiento montado de forma personalizada (solo puede usar /mounts/pathname para montar el almacenamiento personalizado en la aplicación web).
  • Los montajes de almacenamiento no se incluyen en las copias de seguridad. Asegúrese de seguir las mejores prácticas para realizar copias de seguridad de las cuentas de Azure Storage.
  • Con la integración VNET en su aplicación, la unidad montada utiliza una dirección IP RFC1918 y no una dirección IP de su VNET.

Preparación del montaje

No se requieren pasos adicionales porque el portal obtiene y almacena la clave de acceso.

Montaje del almacenamiento en código de Windows

  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 están permitidos los espacios.
    Opciones de configuración Seleccione Básico si la cuenta de almacenamiento no utiliza puntos de conexión privados o Azure Key Vault. 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.
    Acceso al almacenamiento Seleccione Referencia del almacén de claves para Azure Key Vault. En caso contrario, seleccione Entrada manual.
    Clave de acceso (solo para Avanzado) Clave de acceso de la cuenta de almacenamiento.
    Ruta de acceso de montaje Directorio dentro de App Service que desea montar. Solo se admite /mounts/pathname.
    Configuración de la aplicación Seleccione la configuración de la aplicación configurada con el secreto de Azure Key Vault.
    Configuración de ranura de implementación Cuando se activa, la configuración de montaje de almacenamiento también se aplica a las ranuras de implementación.

Nota:

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

procedimientos recomendados

  • Los montajes de Azure Storage se pueden configurar como un directorio virtual para proporcionar contenido estático. Para configurar el directorio virtual, en el panel de navegación izquierdo, haga clic en Configuración>Asignaciones de ruta>Nueva aplicación virtual o directorio. Establezca la ruta de acceso física a la ruta de montaje definida en el montaje de Azure Storage.

  • Para evitar problemas de latencia, coloque la aplicación y la cuenta Azure Storage en la misma región. Si concede acceso desde direcciones IP de App Service en la configuración del cortafuegos de Azure Storage cuando la aplicación y la cuenta de Azure Storage se encuentran en la misma región, estas restricciones de IP no se respetará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. Azure App Service almacena la clave de la cuenta de almacenamiento de Azure. 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 de Files.

  • 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.

  • Si inicia una conmutación por error de almacenamiento cuando se monta la cuenta de almacenamiento en la aplicación, el montaje no se conectará hasta que se reinicie la aplicación o se quite y lea el montaje de almacenamiento.

  • Cuando se use la integración con red virtual, asegúrese de que la configuración de la aplicación WEBSITE_CONTENTOVERVNET está establecida en 1 y que los puertos siguientes están abiertos:

    • Azure Files: 80 y 445.
  • 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 de Files.

Pasos siguientes

Azure Storage es la solución de almacenamiento de Microsoft para los escenarios modernos de almacenamiento de datos. Azure Storage ofrece almacenamiento de alta disponibilidad, escalable de forma masiva, duradero y seguro para una gran variedad de objetos de datos en la nube. 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. Azure Storage es un almacenamiento no predeterminado para App Service y se factura por separado. También puede configurar Azure Storage en una plantilla de ARM.

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.
  • Monte Azure Storage en un contenedor Windows, incluido Aislado (App Service Environment v3).

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

Estas son las tres opciones para montar Azure Storage en la aplicación:

Opción de montaje Uso
Basic Elija esta opción al montar el almacenamiento mediante Azure Portal. Puede usar la opción básica siempre que la cuenta de almacenamiento no use puntos de conexión de servicio, puntos de conexión privados o Azure Key Vault. En ese caso, el portal obtiene y almacena la clave de acceso.
Clave de acceso Si planea montar el almacenamiento mediante la CLI de Azure, debe obtener una clave de acceso. Elija esta opción si la cuenta de almacenamiento no usa puntos de conexión de servicio, puntos de conexión privados ni Azure Key Vault.
Key Vault Use también esta opción cuando planee montar el almacenamiento mediante la CLI de Azure, que requiere la clave de acceso. Elija esta opción al usar Azure Key Vault para almacenar y recuperar claves de acceso de forma segura. Azure Key Vault tiene las ventajas de almacenar secretos de aplicación de forma centralizada y segura con la capacidad de supervisar, administrar e integrar con otros servicios de Azure, como Azure App Service.

Requisitos previos

Limitaciones

Preparación del montaje

No se requieren pasos adicionales porque el portal obtiene y almacena la clave de acceso.

Montaje de Azure Storage en un contenedor Windows

  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ásica.
    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.
    Ruta de acceso de montaje Directorio dentro del contenedor de Windows que desea montar. No use un directorio raíz ([C-Z]:\ o /), ni el directorio home ([C-Z]:\home o /home) ya que no se admite.
    Configuración de ranura de implementación Cuando se activa, la configuración de montaje de almacenamiento también se aplica a las ranuras de implementación.

Nota:

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

procedimientos recomendados

  • Para evitar problemas de latencia, coloque la aplicación y la cuenta Azure Storage en la misma región. Si concede acceso desde direcciones IP de App Service en la configuración del cortafuegos de Azure Storage cuando la aplicación y la cuenta de Azure Storage se encuentran en la misma región, estas restricciones de IP no se respetará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. Azure App Service almacena la clave de la cuenta de almacenamiento de Azure. 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 de Files.

  • 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.

  • Asegúrese de que los puertos 80 y 445 están abiertos al usar Azure Files con la integración con red virtual.

  • Si inicia una conmutación por error de almacenamiento cuando se monta la cuenta de almacenamiento en la aplicación, el montaje no se conectará hasta que se reinicie la aplicación o se quite y lea el montaje de almacenamiento.

Pasos siguientes

Nota:

La compatibilidad con NFS ya está disponible para App Service en Linux.

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. Azure Storage es la solución de almacenamiento de Microsoft para los escenarios modernos de almacenamiento de datos. Azure Storage ofrece almacenamiento de alta disponibilidad, escalable de forma masiva, duradero y seguro para una gran variedad de objetos de datos en la nube. Azure Storage es un almacenamiento no predeterminado para App Service y se factura por separado. También puede configurar Azure Storage en una plantilla de ARM.

Ventajas

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.
  • Azure Files NFS y Azure Files SMB son compatibles.
  • Los blobs de Azure (solo lectura) son compatibles.
  • Se admiten hasta cinco puntos de montaje por aplicación.

Limitaciones

Entre las limitaciones del almacenamiento montado personalizado se incluyen las siguientes:

  • 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).
  • No se admite el acceso FTP/FTPS al montaje personalizado del almacenamiento (use el Explorador de Azure Storage).
  • Las claves de acceso compartidas de la cuenta de almacenamiento son el único medio de autenticación compatible; Entra ID y los roles de RBAC no son compatibles.
  • 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.
  • Azure Storage no se admite en escenarios de Docker Compose.
  • Los montajes de almacenamiento no se incluyen en las copias de seguridad. Asegúrese de seguir los procedimientos recomendados para hacer una copia de seguridad de las cuentas de Azure Storage.
  • La compatibilidad con NFS solo está disponible para App Service en Linux. NFS no es compatible con el código de Windows y los contenedores de Windows. La aplicación web y la cuenta de almacenamiento deben configurarse en la misma red virtual para NFS. La cuenta de almacenamiento usada para el recurso compartido de archivos debe tener el nivel de rendimiento "Premium" y "Filestorage" como tipo de cuenta. Azure Key Vault no es aplicable cuando se usa el protocolo NFS.
  • Con la integración VNET en su aplicación, la unidad montada utiliza una dirección IP RFC1918 y no una dirección IP de su VNET.

Opciones de montaje

Primero debe montar el almacenamiento en la aplicación. Estas son tres opciones de montaje para Azure Storage:

Opción de montaje Uso
Basic Elija esta opción al montar el almacenamiento mediante Azure Portal. Puede usar la opción básica siempre que la cuenta de almacenamiento no use puntos de conexión de servicio, puntos de conexión privados o Azure Key Vault. En ese caso, el portal obtiene y almacena la clave de acceso.
Clave de acceso Si planea montar el almacenamiento mediante la CLI de Azure, debe obtener una clave de acceso. Elija esta opción si la cuenta de almacenamiento no usa puntos de conexión de servicio, puntos de conexión privados ni Azure Key Vault.
Key Vault Use también esta opción cuando planee montar el almacenamiento mediante la CLI de Azure, que requiere la clave de acceso. Elija esta opción al usar Azure Key Vault para almacenar y recuperar claves de acceso de forma segura. Azure Key Vault tiene las ventajas de almacenar secretos de aplicación de forma centralizada y segura con la capacidad de supervisar, administrar e integrar con otros servicios de Azure, como Azure App Service.

Requisitos previos

Preparación del montaje

No se requieren pasos adicionales porque el portal obtiene y almacena la clave de acceso.

Montaje de Azure Storage en un contenedor Linux

La forma en que monta el almacenamiento depende de la opción de acceso al almacenamiento y de si usa el portal o la CLI de Azure.

  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 están permitidos los espacios.
    Opciones de configuración Seleccione Básica. si la cuenta de almacenamiento no usa puntos de conexión de servicio, puntos de conexión privados ni Azure Key Vault. 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.
    Ruta de acceso de montaje Directorio dentro del contenedor Linux que se va a montar en Azure Storage. No use / o /home.
    Configuración de ranura de implementación Cuando se activa, la configuración de montaje de almacenamiento también se aplica a las ranuras de implementación.

Nota:

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

Validación 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

Rendimiento

  • Para evitar problemas de latencia, coloque la aplicación y la cuenta Azure Storage en la misma región. Si concede acceso desde direcciones IP de App Service en la configuración del cortafuegos de Azure Storage cuando la aplicación y la cuenta de Azure Storage se encuentran en la misma región, estas restricciones de IP no se respetarán.

  • 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 correspondientes al tipo de almacenamiento: Archivos y Blobs.

  • 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.

Seguridad

  • 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. Azure App Service almacena la clave de la cuenta de almacenamiento de Azure. 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.

Solución de problemas

  • El directorio de montaje en el contenedor personalizado 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.
  • 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.
  • 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.
  • Asegúrese de que los puertos siguientes están abiertos al usar la integración con red virtual: Azure Files: 80 y 445. Blobs de Azure: 80 y 443.
  • Si inicia una conmutación por error de almacenamiento cuando se monta la cuenta de almacenamiento en la aplicación, el montaje no se conectará hasta que se reinicie la aplicación o se quite y lea el montaje de almacenamiento.

Pasos siguientes