Share via


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. Cree un recurso de Azure Load Testing y habilite para generar la carga desde dentro de la red virtual (inyecció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:

Diagram that shows the Azure Load Testing virtual network injection technical overview.

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

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:

  1. Inicie sesión en Azure Portal.

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

  3. Seleccione Reglas de seguridad salientes en el panel de navegación izquierdo.

    Screenshot that shows the network security group overview page in the Azure portal, highlighting Outbound security rules.

  4. 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.
  5. 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.

Configuración de 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.

  1. Inicie sesión en Azure Portal con las credenciales de la suscripción de Azure.

  2. Vaya al recurso de Azure Load Testing y, en el panel de la izquierda, seleccione Pruebas.

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

      Screenshot that shows the Tests page, highlighting the button for creating a new test.

    • Seleccione una prueba existente de la lista y luego haga clic en Editar.

      Screenshot that shows the Tests page, highlighting the button for editing a test.

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

    Screenshot that shows the Load tab for creating or updating a load test.

    Importante

    Asegúrese de que tiene permisos suficientes para administrar redes virtuales. Necesita el rol Colaborador de red.

  5. (Opcional) Active 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.

  6. Revise o rellene la información de la prueba de carga. Siga estos pasos para crear o administrar una prueba.

  7. 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 hospedado de forma privada en la red virtual.

Configuración de 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.

  1. 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>
    
  2. 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
    
  3. Abra el archivo de configuración de prueba de YAML en el editor que prefiera.

  4. 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 publicIPDisabled propiedad Trueen . 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.

  5. Guarde el archivo de configuración de YAML y confirme los cambios en el repositorio de código fuente.

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

Se produce un error al crear o actualizar la prueba de carga con Subscription not registered with Microsoft.Batch (ALTVNET001)

Al configurar una prueba de carga en una red virtual, la suscripción debe registrarse con Microsoft.Batch.

  1. Intente crear o actualizar la prueba de carga de nuevo pasados unos minutos.

  2. Si el error persiste, siga estos pasos para registrar la suscripción con el proveedor de recursos Microsoft.Batch manualmente.

Se produce un error al crear o actualizar la prueba de carga con Subnet is not in the Succeeded state (ALTVNET002)

La subred que usa para la prueba de carga no tiene el estado Succeeded y no está lista para implementar la prueba de carga en ella.

  1. Compruebe el estado de la subred.

    Ejecute el siguiente comando de la CLI de Azure para comprobar el estado. El resultado debe ser Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Resuelva los problemas de la subred. Si acaba de crear la subred, compruebe el estado de nuevo después de unos minutos.

  3. Como alternativa, seleccione otra subred para la prueba de carga.

Error al crear o actualizar la prueba de carga con Subnet is delegated to other service (ALTVNET003)

La subred que se usa para implementar la prueba de carga no se puede delegar en otro servicio de Azure. Quite la delegación existente o seleccione otra subred que no esté delegada en un servicio.

Más información sobre la incorporación o retirada de una delegación de subred.

Error al actualizar o iniciar la prueba de carga con User doesn't have subnet/join/action permission on the virtual network (ALTVNET004)

Para actualizar o iniciar una prueba de carga, debe tener permisos suficientes para implementar Azure Load Testing en la red virtual. Necesita el rol Colaborador de red, o un elemento primario de este rol, en la red virtual.

  1. Consulte Comprobación del acceso de un usuario a los recursos de Azure para comprobar los permisos.

  2. Siga estos pasos para asignar el rol Colaborador de red a su cuenta.

Se produce un error al crear o actualizar la prueba de carga con IPv6 enabled subnet not supported (ALTVNET005)

Azure Load Testing no admite las subredes habilitadas para IPv6. Seleccione otra subred para la que IPv6 no está habilitado.

Se produce un error al crear o actualizar la prueba de carga con NSG attached to subnet is not in Succeeded state (ALTVNET006)

El grupo de seguridad de red asociado a la subred no tiene el estado Succeeded.

  1. Compruebe el estado del grupo de seguridad de red.

    Ejecute el siguiente comando de la CLI de Azure para comprobar el estado. El resultado debe ser Succeeded.

    az network nsg show -g MyResourceGroup -n MyNsg
    
  2. Resuelva los problemas del grupo de seguridad de red. Si acaba de crear el grupo de seguridad de red o la subred, compruebe su estado de nuevo transcurridos unos minutos.

  3. Como alternativa, seleccione otro grupo de seguridad de red.

Se produce un error al crear o actualizar la prueba de carga con Route Table attached to subnet is not in Succeeded state (ALTVNET007)

La tabla de enrutamiento asociada a la subred no tiene el estado Succeeded.

  1. Compruebe el estado de la tabla de rutas.

    Ejecute el siguiente comando de la CLI de Azure para comprobar el estado. El resultado debe ser Succeeded.

    az network route-table show -g MyResourceGroup -n MyRouteTable
    
  2. Resuelva los problemas con la tabla de rutas. Si acaba de crear la tabla de rutas o la subred, compruebe el estado de nuevo después de unos minutos.

  3. Como alternativa, seleccione otra tabla de rutas.

Se produce un error al crear o actualizar la prueba de carga con Inbound not allowed from AzureLoadTestingInstanceManagement service tag (ALTVNET008)

No se permite el acceso entrante desde la etiqueta de servicio AzureLoadTestingInstanceManagement a la red virtual.

Siga estos pasos para habilitar el acceso al tráfico para la etiqueta de servicio AzureLoadTestingInstanceManagement.

Se produce un error al crear o actualizar la prueba de carga con Inbound not allowed from BatchNodeManagement service tag (ALTVNET009)

No se permite el acceso entrante desde la etiqueta de servicio BatchNodeManagement a la red virtual.

Siga estos pasos para habilitar el acceso entrante para la etiqueta de servicio BatchNodeManagement.

Se produce un error al crear o actualizar la prueba de carga con Route Table has next hop set for address prefix 0.0.0.0/0

La tabla de rutas de subred tiene el tipo del próximo salto establecido en Aplicación virtual para la ruta 0.0.0.0/0. Esta configuración provocaría el enrutamiento asimétrico de los paquetes de red al aprovisionar las máquinas virtuales en la subred.

Para resolver este error, haga cualquiera de estas dos acciones:

Más información sobre el enrutamiento del tráfico de red virtual.

Se produce un error al crear o actualizar la prueba de carga con Subnet is in a different subscription than resource (ALTVNET011)

La red virtual no está en la misma suscripción y región que el recurso de prueba de carga de Azure. Mueva la red virtual de Azure o el recurso de prueba de carga de Azure a la misma suscripción y región o vuelva a crearlos.

Error de aprovisionamiento con An azure policy is restricting engine deployment to your subscription (ALTVNET012)

Una directiva de Azure restringe la implementación del motor de prueba de carga a la suscripción. Compruebe las restricciones de la directiva e inténtelo de nuevo. Si tiene restricciones de directiva en la implementación de la dirección IP pública, el equilibrador de carga de Azure o el grupo de seguridad de red, puede deshabilitar la implementación de estos recursos. Consulte Configuración de la prueba de carga.

Error de aprovisionamiento con Engines could not be deployed due to an error in subnet configuration (ALTVNET013)

Las instancias del motor de prueba de carga no se pudieron implementar por un error en la configuración de la subred. Compruebe la configuración de la subred. Si el problema persiste, abra una incidencia con soporte técnico junto con el identificador de ejecución de la prueba.

  1. Compruebe el estado de la subred.

    Ejecute el siguiente comando de la CLI de Azure para comprobar el estado. El resultado debe ser Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Resuelva los problemas de la subred. Si acaba de crear la subred, compruebe el estado de nuevo después de unos minutos.

  3. Si el problema persiste, abra una solicitud de soporte técnico al cliente en línea.

    En la solicitud de soporte técnico, proporcione el identificador de ejecución de prueba de carga.

Se produce un error al iniciar la prueba de carga con Subnet has {0} free IPs, {1} more free IP(s) required to run {2} engine instance load test (ALTVNET014)

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.

Siga estos pasos para actualizar la configuración de la subred y aumentar el intervalo de direcciones IP.

Se produce un error al iniciar la prueba de carga con Management Lock is enabled on Resource Group of VNET (ALTVNET015)

Si hay un bloqueo en el grupo de recursos que contiene la red virtual, el servicio no puede insertar las máquinas virtuales del motor de prueba en la red virtual. Quite el bloqueo de administración antes de ejecutar la prueba de carga. Aprenda a configurar bloqueos en Azure Portal.

Se produce un error al iniciar la prueba de carga con Insufficient public IP address quota in VNET subscription (ALTVNET016)

Al iniciar la prueba de carga, 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.

Asegúrese de que tiene cuota para al menos una dirección IP pública disponible en la suscripción para usarla en la prueba de carga.

Se produce un error al iniciar la prueba de carga con Subnet with name "AzureFirewallSubnet" cannot be used for load testing (ALTVNET017)

La subred AzureFirewallSubnet está reservada y no se puede usar para Azure Load Testing. Seleccione otra subred para la prueba de carga.

Pasos siguientes