Uso de una cuenta de almacenamiento protegida con Azure Functions
En este artículo se muestra cómo conectar la aplicación de funciones a una cuenta de almacenamiento protegida. Para obtener un tutorial detallado sobre cómo crear la aplicación de funciones con restricciones de acceso entrante y saliente, vea el tutorial Integración con una red virtual. Para obtener más información sobre Azure Functions y las redes, vea Opciones de redes de Azure Functions.
Restricción de la cuenta de almacenamiento a una red virtual
Al crear una aplicación de funciones, cree una nueva cuenta de almacenamiento, o bien vincule la aplicación a una existente. Actualmente, solo Azure Portal, las implementaciones de plantillas de ARM y las implementaciones de Bicep admiten la creación de aplicaciones funcionales con una cuenta de almacenamiento seguro existente.
Nota:
Las cuentas de almacenamiento protegidas son compatibles con todos los niveles del Plan dedicado de (App Service) y el Plan Elastic Premium. También son compatibles con el Plan de consumo flexible. El plan Consumo no admite redes virtuales.
Para obtener una lista de todas las restricciones de las cuentas de almacenamiento, consulte Requisitos de la cuenta de almacenamiento.
Almacenamiento protegido durante la creación de la aplicación de funciones
Puede crear una aplicación de funciones, junto con una nueva cuenta de almacenamiento protegida detrás de una red virtual. En las secciones siguientes se muestra cómo crear estos recursos mediante Azure Portal o mediante plantillas de implementación.
Complete los pasos en Crear una aplicación de función en un plan Premium. En esta sección del tutorial de redes virtuales se muestra cómo crear una aplicación de funciones que se conecta al almacenamiento a través de puntos de conexión privados.
Nota:
Cuando cree su aplicación de función en Azure Portal, también puede elegir una cuenta de almacenamiento seguro existente en la pestaña Almacenamiento. Sin embargo, debe configurar las redes adecuadas en la aplicación de funciones para que pueda conectarse a través de la red virtual que se usa para proteger la cuenta de almacenamiento. Si no tiene permisos para configurar la red o no ha preparado completamente su red, seleccione Configurar red después de la creación en la pestaña Red. Puede configurar redes para la nueva aplicación de funciones en el portal en Configuración>Redes.
Almacenamiento protegido para una aplicación de funciones existente
Si ya existe una aplicación funcional, puede configurar directamente la conexión en red en la cuenta de almacenamiento utilizada por la aplicación. Sin embargo, este proceso hace que la aplicación de funciones esté inactiva mientras configura las redes y mientras se reinicia la aplicación de funciones.
Para minimizar el tiempo de inactividad, puede cambiar una cuenta de almacenamiento existente por otra nueva y segura.
1. Habilitación de la integración de red virtual
Como requisito previo, debe habilitar la integración de red virtual para la aplicación de funciones:
Elija una aplicación de funciones con una cuenta de almacenamiento que no tenga habilitados puntos de conexión de servicio o puntos de conexión privados.
Permita la integración de red virtual para su aplicación de funciones.
2. Creación de una cuenta de almacenamiento protegida
Configure una cuenta de almacenamiento protegida para la aplicación de funciones:
Cree una segunda cuenta de almacenamiento. Esta cuenta de almacenamiento es la cuenta de almacenamiento protegida para que la aplicación de funciones use en lugar de su cuenta de almacenamiento original no segura. También puede usar una cuenta de almacenamiento existente que no esté usando Functions.
Guarde la cadena de conexión de esta cuenta de almacenamiento para usarla más adelante.
Cree un recurso compartido de archivos en la nueva cuenta de almacenamiento. Para mayor comodidad, puede usar el mismo nombre de recurso compartido de archivos de la cuenta de almacenamiento original. De lo contrario, si usa un nuevo nombre de recurso compartido de archivos, debe actualizar la configuración de la aplicación.
Proteja la nueva cuenta de almacenamiento de una de las siguientes maneras:
Creación de un punto de conexión privado. Al configurar la conexión de punto de conexión privado, cree puntos de conexión privados para los
file
yblob
subrecursos. Para Durable Functions, también debe hacer que los subrecursosqueue
ytable
sean accesibles a través de puntos de conexión privados. Si usa un servidor personalizado o local del sistema de nombres de dominio (DNS), configure el servidor DNS para resolver los nuevos puntos de conexión privados.Restrinja el tráfico a subredes específicas. Asegúrese de que la aplicación de funciones está integrada en la red con una subred permitida y de que la subred tiene un punto de conexión de servicio para
Microsoft.Storage
.
Copie el contenido del archivo y el blob de la cuenta de almacenamiento actual utilizada por la aplicación de funciones a la nueva cuenta de almacenamiento y el recurso compartido de archivos protegidos. AzCopy y Explorador de Azure Storage son métodos comunes. Si usa el Explorador de Azure Storage, es posible que tenga que permitir el acceso de la dirección IP del cliente al firewall de la cuenta de almacenamiento.
Ahora está listo para configurar la aplicación de funciones para comunicarse con la cuenta de almacenamiento recién protegida.
3. Habilitación del enrutamiento de la aplicación y la configuración
Nota:
Estos pasos de configuración solo son necesarios para los planes de hospedaje Elastic Premium y Dedicated (App Service). El plan de Consumo flexible no requiere ajustes del sitio para configurar la red.
Ya está listo para enrutar el tráfico de la aplicación de funciones para pasar por la red virtual:
Habilite enrutamiento de aplicaciones para enrutar el tráfico de la aplicación a la red virtual:
En la aplicación de funciones, expanda Configuración, y después, seleccione Redes. En la página Redes, en configuración de tráfico saliente, seleccione la subred asociada a la integración de red virtual.
En la nueva página, en Enrutamiento deaplicaciones, seleccione Tráfico saliente de Internet.
Habilite enrutamiento de recursos compartidos de contenido para permitir que la aplicación de funciones se comunique con la nueva cuenta de almacenamiento a través de su red virtual. En la misma página que el paso anterior, en Enrutamiento de configuración, seleccione Almacenamiento de contenido.
Nota:
Debe tener especial cuidado al enrutar al recurso compartido de contenido en una cuenta de almacenamiento compartida por varias aplicaciones de función en el mismo plan. Para obtener más información, vea Enrutamiento coherente a través de redes virtuales en el artículo Consideraciones sobre almacenamiento.
4. Actualización de la configuración de la aplicación
Por último, debe actualizar la configuración de la aplicación para que apunte a la nueva cuenta de almacenamiento segura:
En la aplicación de funciones, expanda Configuracióny, después, seleccione Variables de entorno.
En la pestaña Configuración de la aplicación, actualice la siguiente configuración seleccionando cada configuración, editándola y, a continuación, seleccionando Aplicar:
Nombre del valor Value Comentario AzureWebJobsStorage
Cadena de conexión de almacenamiento Use la cadena de conexión para la nueva cuenta de almacenamiento protegida, que guardó anteriormente. WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
Cadena de conexión de almacenamiento Use la cadena de conexión para la nueva cuenta de almacenamiento protegida, que guardó anteriormente. WEBSITE_CONTENTSHARE
Recurso compartido de archivos Use el nombre del recurso compartido de archivos creado en la cuenta de almacenamiento protegida donde residen los archivos de implementación del proyecto. Seleccione Aplicar, y después , Confirmar para guardar la nueva configuración de la aplicación en la aplicación de funciones.
La aplicación de funciones se reinicia.
Una vez que la aplicación de funciones finaliza el reinicio, se conecta a la cuenta de almacenamiento protegida.