Hola a todos,
Me han encomendado la ardua y chula tarea de instalar y configurar un NetScaler ADC para realizar una prueba de balanceo de servicios en Azure.
En un primer momento, y al no saber que tengo que balancear, me monté un entorno demo en mi CPD para realizar un balanceo sencillo de un servicio HTTP y ver que balancea correctamente (RoundRobin), hasta aquí todo correcto.
En Azure, el tema cambia un poco, ya que NetScaler no se comporta como lo haría en una arquitectura on-premise. Y es algo que Citrix se debería de plantear seriamente, de que la experiencia de usuario (en este caso AdminIT), sea igual o mejor en Azure que en local.
Pero bueno, vamos al lío.
Una vez que hemos creado 2 VM con Windows Server y levantado el rol de IIS, he modificado la pagina por defecto, para añadir el nombre del servidor y así ver de forma rápida y desde cualquier navegador, que realizar el método de balanceo de NetScaler está funcionando correctamente.
Para poder instalar NetScaler, tenemos que realizar una «compra» desde el MarketPlace de Azure. NetScaler viene en formato BYOL (Bring You Own License – Trae tu propia licencia), y procederemos de la siguiente manera:
Buscamos NetScaler y seleccionamos una de las 2 versiones que nos proporcionan
Pulsamos a crear (como vemos, sólo es posible crearlo en Azure Resource Manager)
Configuramos la definición de máquina básica
Seleccionamos el tamaño de máquina más apropiado, sabiendo que los mínimos son 2 vCPU, 2 Gb RAM, 20 Gb HDD
Vinculamos la configuración de red con el resto de máquinas (las IIS)
Aceptamos el resumen de instalación
Realizamos la compra. Sólo se nos informa que vamos a consumir consumo de AzureRM
Una vez que tenemos la máquina creada, vamos a identificar mediante el Adaptador de RED la IP interna que tiene NS, para que desde una de las máquinas que hemos creado anteriormente (las IIS), poder conectarnos y realizar la configuración de NetScaler.
En una configuración estándar, tenemos diferentes interface y/o direcciones IP y cada una de ellas, tiene su cometido:
- NSIP: IP de gestión de NetScaler
- SNIP: IP de acceso al backend (SubNet IP)
- VIP: IP de consumo de servicios
Mientras que en Azure, tal y como está actualmente, tendremos que configurar tanto la NSIP como la VIP con la misma IP, diferente puerto. Mientras que la SNIP, en el wizard de configuración del appliance, lo dejaremos en blanco, sin configurar.
Tal y como muestro en la siguiente captura
Y continuamos con la configuración normal para dar de alta un servicio de balanceo
Añadimos los servidores que vayamos a balancear
Damos de alta los servicios que tenemos que monitorizar
Utilizamos el mismo direccionamiento IP que NSIP, pero, indicando en este caso el puerto personalizado
Lincamos los servicios que hemos creado anteriormente
Seleccionamos el método de balanceo apropiado (RoundRobin)
Tenemos el servicio levantado, y accesible
Si probamos desde las propias VM que hemos creado y que tienen el IIS, podemos probar de acceder y lo haríamos sin problemas. Ahora toca configurar un ALB (Azure LoadBalancing), para enlazar la IP pública a la VIP de NS (10.1.0.6:480).
Indicaremos que el target será nuestro VM de NetScaler y el Port Mapping indicaremos que sea CUSTOM para indicar el puerto 480, que es el que está esperando desde la VIP de NS.
Ahora si accedemos a la IP de NAT, accederemos a los frontales WEB que hemos publicado.