Prueba de puntos de conexión privados mediante la implementación de Azure Load Testing en una red virtual de Azure
En este artículo, aprenderá a probar puntos de conexión de aplicación privados con Azure Load Testing. Creará un recurso de Azure Load Testing y lo habilitará para generar la carga desde dentro de la red virtual (inserción de red virtual).
Esta funcionalidad habilita las siguientes situaciones de uso:
- Generar la carga a un punto de conexión que se implementa en una red virtual de Azure.
- Generar la carga a un punto de conexión público con restricciones de acceso, como restringir las direcciones IP del cliente.
- Generar la carga a un servicio local, no accesible públicamente, que esté conectado a Azure a través de ExpressRoute.
Obtenga más información sobre loas situaciones para implementar Azure Load Testing en su red virtual.
El diagrama que aparece a continuación muestra una visión general técnica:
Al iniciar la prueba de carga, el servicio Azure Load Testing inserta los siguientes recursos de Azure en la red virtual que contiene el punto de conexión de la aplicación:
- Máquinas virtuales del motor de prueba. Estas máquinas virtuales invocan el punto de conexión de la aplicación durante la prueba de carga.
- Una dirección IP pública.
- Un grupo de seguridad de red (NSG).
- Un equilibrador de carga de Azure.
Estos recursos son efímeros y solo existen mientras se ejecuta la prueba de carga. Si tiene restricciones en la implementación de una dirección IP pública, un equilibrador de carga de Azure o un grupo de seguridad de red en la subred, puede deshabilitar la implementación de estos recursos. Para obtener más información, consulte Configuración de la prueba de carga.
Si restringe el acceso a su red virtual, debe configurar su red virtual para habilitar la comunicación entre Azure Load Testing y las máquinas virtuales insertadas.
Requisitos previos
- La cuenta de Azure tiene el rol de Colaborador de red, o un elemento primario de este rol, en la red virtual. Consulte Comprobación del acceso de un usuario a los recursos de Azure para comprobar los permisos.
- La subred que use para Azure Load Testing debe tener suficientes direcciones IP no asignadas para dar cabida al número de motores de prueba de carga de la prueba. Obtenga más información sobre cómo configurar su prueba para la carga a gran escala.
- La subred no se puede delegar a ningún otro servicio de Azure. Por ejemplo, no debe delegarse en Azure Container Instances (ACI). Obtenga más información sobre la delegación de subred.
- La subred no debe tener el IPv6 habilitado. Azure Load Testing no admite las subredes habilitadas para IPv6. Obtener más información acerca de IPv6 para Azure Virtual Network
- CLI de Azure versión 2.2.0 o posterior (si usa CI/CD). Ejecute
az --version
para buscar la versión que está instalada en el equipo. Si tiene que instalar o actualizar la CLI de Azure, consulte Instalación de la CLI de Azure.
Configurar la red virtual
Para probar los puntos de conexión privados, conecte Azure Load Testing a una red virtual de Azure. La red virtual debe tener al menos una subred y permitir el tráfico saliente al servicio Azure Load Testing.
Si aún no tiene una red virtual, siga estos pasos para crear una red virtual de Azure en Azure Portal.
Importante
La red virtual debe estar en la misma suscripción y en la misma región que el recurso de prueba de carga.
Creación de una subred
Al implementar Azure Load Testing en la red virtual, se recomienda usar subredes separadas para Azure Load Testing y el punto de conexión de la aplicación. Este enfoque le permite configurar las directivas de acceso al tráfico de red específicamente para cada propósito. Obtenga más información sobre cómo agregar una subred a una red virtual.
(Opcional) Configuración de reglas de tráfico
Azure Load Testing requiere que las máquinas virtuales insertadas en la red virtual tengan permitido el acceso saliente al servicio Azure Load Testing. De forma predeterminada, cuando se crea una red virtual, ya se permite el acceso saliente.
Si tiene previsto restringir aún más el acceso a la red virtual con un grupo de seguridad de red, o si ya tiene un grupo de seguridad de red, debe configurar una regla de seguridad de salida para permitir el tráfico desde las máquinas virtuales del motor de prueba al servicio Azure Load Testing.
Para configurar el acceso saliente para Azure Load Testing:
Inicie sesión en Azure Portal.
Vaya al grupo de seguridad de red.
Si aún no tiene un NSG, siga estos pasos para crear un grupo de seguridad de red.
Cree un NSG en la misma región que la red virtual y asócielo a la subred.
Seleccione Reglas de seguridad salientes en el panel de navegación izquierdo.
Seleccione + Agregar para agregar una nueva regla de seguridad de salida. Escriba la siguiente información para crear una nueva regla.
Campo Value Origen Cualquiera Intervalos de puertos de origen * Destino Cualquiera Intervalos de puertos de destino * Nombre azure-load-testing-outbound Descripción Se usa para varios operaciones implicadas en la orquestación de pruebas de carga. Seleccione Agregar para agregar la regla de seguridad de salida al grupo de seguridad de red.
Configuración de su prueba de carga
Las máquinas virtuales del motor de prueba, que ejecutan el script JMeter, se insertan en la red virtual que contiene el punto de conexión de la aplicación. Ahora puede hacer referencia directamente al punto de conexión en el archivo JMX mediante la dirección IP privada o usar la resolución de nombres en su red.
Por ejemplo, para un punto de conexión con la dirección IP 10.179.0.7, en una red virtual con intervalo de subredes 10.179.0.0/18, el archivo JMX podría tener esta información:
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Internal service homepage" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="Service homepage" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">10.179.0.7</stringProp>
<stringProp name="HTTPSampler.port">8081</stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path"></stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
</HTTPSamplerProxy>
Configure la prueba de carga
Para incluir puntos de conexión hospedados de forma privada en la prueba de carga, debe configurar las opciones de red virtual para la prueba de carga. Puede configurar las opciones de red virtual en Azure Portal o especificarlas en el archivo de configuración de prueba de YAML para canalizaciones de CI/CD.
Importante
Al implementar Azure Load Testing en una red virtual, incurrirá en cargos adicionales. Azure Load Testing implementa una Azure Load Balancer y una dirección IP pública en su suscripción y puede haber un costo para el tráfico generado. Para obtener más información, consulte la información sobre los precios de la red virtual.
Configurar la red virtual en Azure Portal
Puede especificar las opciones de configuración de red virtual en el asistente para creación o actualización de pruebas de carga.
Inicie sesión en Azure Portal con las credenciales de la suscripción de Azure.
Vaya al recurso de Azure Load Testing y, en el panel de la izquierda, seleccione Pruebas.
Abra el asistente para crear o actualizar pruebas de carga de dos maneras:
Seleccione + Crear > Actualizar un script JMeter si desea crear una nueva prueba.
Seleccione una prueba existente de la lista y luego haga clic en Editar.
En la pestaña Cargar, seleccione Modo de tráficoprivado y, a continuación, seleccione la red virtual y la subred.
Si tiene varias subredes en la red virtual, asegúrese de seleccionar la subred que hospedará las máquinas virtuales insertadas del motor de prueba.
Importante
Asegúrese de que tiene permisos suficientes para administrar redes virtuales. Necesita el rol Colaborador de red.
(Opcional) Compruebe Deshabilitar la implementación de IP pública si no desea implementar una dirección IP pública, un equilibrador de carga y un grupo de seguridad de red en la subred.
Al seleccionar esta opción, asegúrese de que hay un mecanismo alternativo, como Azure NAT Gateway, Azure Firewall o una aplicación virtual de red (NVA) para habilitar el enrutamiento de tráfico saliente desde la subred.
Revise o rellene la información de la prueba de carga. Siga estos pasos para crear o administrar una prueba.
Seleccione Revisar + crear y, a continuación, Crear (o Aplicar, al actualizar una prueba existente).
Cuando se inicia la prueba de carga, Azure Load Testing inserta las máquinas virtuales del motor de prueba en la red virtual y la subred. El script de prueba ahora puede acceder al punto de conexión de aplicación hospedada de forma privada en la red virtual.
Configurar la red virtual para canalizaciones de CI/CD
Para configurar la prueba de carga con la configuración de la red virtual, actualice el archivo de configuración de prueba de YAML.
Abra un terminal y use la CLI de Azure para iniciar sesión en la suscripción de Azure:
az login az account set --subscription <your-Azure-Subscription-ID>
Recupere el identificador de subred y copie el valor resultante:
az network vnet subnet show -g <your-resource-group> --vnet-name <your-vnet-name> --name <your-subnet-name> --query id
Abra el archivo de configuración de prueba de YAML en el editor que prefiera.
Agregue la
subnetId
propiedad al archivo de configuración y proporcione el identificador de subred que copió anteriormente:version: v0.1 testName: SampleTest testPlan: SampleTest.jmx description: 'Load test the website home page' engineInstances: 1 subnetId: <your-subnet-id> publicIPDisabled: False
Opcionalmente, puede establecer la propiedad
publicIPDisabled
enTrue
. Para obtener más información sobre la configuración de YAML, consulte Configuración de una prueba de carga en YAML.Importante
Asegúrese de que tiene permisos suficientes para administrar redes virtuales. Necesita el rol Colaborador de red.
Guarde el archivo de configuración de YAML y confirme los cambios en el repositorio de código fuente.
Después de que se desencadene el flujo de trabajo de CI/CD, se inicia la prueba de carga y ahora puede acceder al punto de conexión de la aplicación hospedada de forma privada en la red virtual.
Solución de problemas
Para solucionar problemas al crear y ejecutar pruebas de carga en puntos de conexión privados, consulte cómo solucionar problemas de pruebas de punto de conexión privado.
Pasos siguientes
- Obtenga más información sobre las situaciones para implementar Azure Load Testing en su red virtual.
- Obtenga información sobre cómo solucionar problemas de pruebas de punto de conexión privado.