es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Entrega Continua con Azure Load Balancer

Tenemos dos máquinas virtuales detrás de un balanceador de carga. Nos gustaría hacer que una de las máquinas virtuales sea inaccesible al público cuando realizamos una nueva implementación, para probar la nueva versión de la aplicación antes de que sea accesible al público. El plan actual es bloquear una de las dos máquinas virtuales cambiando la regla del Grupo de Seguridad de Red a través de la etiqueta de servicio para el balanceador de carga:
Link

Funciona. Cuando cambiamos la regla NSG para VM1 de “Permitir” a “Denegar”, solo VM2 sigue siendo accesible al público. Una vez que verifiquemos que la nueva versión funciona como se espera, luego cambiamos la regla NSG para VM2 y cambiamos la regla NSG para VM1, de modo que solo una máquina virtual con la versión más reciente de la aplicación sea accesible mientras actualizamos la aplicación en la otra máquina virtual.

El problema con eso es que las reglas NSG no se aplican de inmediato y pueden tardar de 1 a 3 minutos en hacer que la máquina virtual sea inaccesible/accesible.
Además, si cambiamos las reglas NSG para ambas máquinas virtuales al mismo tiempo, podemos encontrarnos en situaciones en las que ambas máquinas virtuales con diferentes versiones de software están disponibles públicamente, lo que puede provocar corrupción o pérdida de datos, o ambas máquinas virtuales no sean accesibles. Por lo tanto, la única forma de resolver esto es cambiar la regla NSG para VM2 y luego para VM1, lo que resultaría en un tiempo de inactividad de 2 a 6 minutos. ¿Existe una mejor manera de hacerlo?

Tags:  

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en el equilibrador de carga de Azure, existe una mejor manera de hacer que una de las máquinas virtuales no sea accesible públicamente durante una nueva implementación. En lugar de modificar la regla del Grupo de Seguridad de Red (NSG, por sus siglas en inglés), puedes utilizar Azure Traffic Manager para dirigir el tráfico a solo una máquina virtual mientras la otra se está actualizando.

    Para hacer esto, puedes crear dos puntos finales en Traffic Manager, uno para cada máquina virtual. Durante la implementación de la nueva versión de la aplicación, puedes sacar de rotación el punto final de la máquina virtual que necesita ser actualizada. Esto asegurará que el tráfico solo se dirija al punto final de la máquina virtual con la nueva versión de la aplicación. Una vez que la actualización esté completa, puedes volver a agregar el punto final a la rotación y sacar de rotación el otro punto final para su actualización.

    Este enfoque eliminará la necesidad de modificar las reglas de NSG y garantizará que no haya tiempo de inactividad al cambiar entre las dos máquinas virtuales. También permite realizar pruebas fáciles de la nueva versión de la aplicación sin afectar el punto final disponible públicamente.

Comments are closed.