Tanto los equilibradores de carga como los proxies inversos son tecnologías habituales en las aplicaciones y arquitecturas modernas basadas en la web, y pueden implementarse de forma independiente o en una configuración combinada. En esta sección se ofrece una vista general de estas tecnologías, junto con comentarios sobre los casos de uso relevantes en los sistemas ArcGIS y las funcionalidades pertinentes que proporcionan estas tecnologías.
Muchos sistemas ArcGIS implementan el equilibrio de carga en combinación con el uso de proxy inverso. Entre los patrones de implementación más comunes se incluyen:
Esri proporciona un componente de software ArcGIS instalable, el ArcGIS Web Adaptor, para proporcionar funciones de equilibrio de carga y proxy inverso en las implementaciones de ArcGIS Enterprise. El Web Adaptor no es la única opción para la arquitectura de sistemas ArcGIS Enterprise utilizando un equilibrador de carga y un proxy inverso, pero es un patrón común y proporciona una solución admitida por el Soporte técnico de Esri. También puede utilizarse un equilibrador de carga externo de hardware o software, en función de las preferencias y los requisitos técnicos. El tipo de carga de trabajo y la frecuencia de la demanda le ayudarán a saber qué tipo de equilibrador de carga puede ser apropiado para sus necesidades. Consulte Implementación en varios equipos con un equilibrador de carga de terceros para obtener orientación relacionada con su versión específica de ArcGIS y su sistema operativo.
Para lograr una configuración de alta disponibilidad, el adaptador web puede configurarse con un equipo en un sitio de alta disponibilidad y contiene lógica para detectar los demás equipos del sitio, monitorizar su estado y reenviarles las peticiones cuando estén en buen estado. Esta lógica constituye una importante ventaja de implementación al incluir el ArcGIS Web Adaptor en el diseño de un sistema, ya que puede gestionar los cambios de una implementación de ArcGIS Enterprise con mayor facilidad que una configuración manual de comprobación del estado o del equilibrador de carga.
Aunque el Web Adaptor puede proporcionar funciones de equilibrio de carga y proxy inverso en muchos escenarios, muchos sistemas empresariales construidos con ArcGIS también implementan componentes de software o hardware adicionales y externos para alcanzar los objetivos funcionales de estas dos tecnologías. Algunos de ellos son:
A medida que las organizaciones han pasado de las arquitecturas tradicionales locales, en las que lo más frecuente era utilizar una zona desmilitarizada o DMZ para proporcionar a los clientes basados en Internet acceso a los servicios y extremos, a las arquitecturas en la nube, en las que los servicios nativos en la nube proporcionan esta funcionalidad en la mayoría de los casos, también han cambiado las consideraciones y las prácticas de arquitectura en torno a los proxies inversos y el equilibrio de carga.
Estas tecnologías proporcionan ventajas que incluyen habilitar la escalabilidad, la alta disponibilidad y la seguridad.
El sistema ArcGIS puede escalarse para admitir tanto implementaciones pequeñas como grandes. Para adaptarse a crecientes tamaños de implementación, ArcGIS puede aprovechar muchas técnicas y tecnologías de equilibrio de carga. Los algoritmos de equilibrio de carga, utilizados para despachar las peticiones de los clientes, pueden variar desde simples planteamientos por turnos hasta algoritmos más complejos que tienen en cuenta factores como el recuento de conexiones actuales, el aprovechamiento de los hosts o los tiempos de respuesta en el mundo real.
Un equilibrador de carga contribuye al rendimiento distribuyendo la carga entre varios equipos y recursos apropiados. En el ejemplo de alta disponibilidad, los equilibradores de carga de ArcGIS Web Adaptor distribuyen las solicitudes del servidor SIG entre dos servidores alojados en ArcGIS Enterprise. Si su sistema tiene muchos usuarios que realizan flujos de trabajo similares que requieren cantidades significativas de procesamiento, como un flujo de trabajo de edición que incluye transacciones largas e intensivas en procesamiento, un equilibrador de carga puede garantizar que estas solicitudes se equilibren en todo el hardware disponible, mientras que los flujos de trabajo que incluyen requisitos muy variables para el procesamiento pueden beneficiarse de la separación de la carga de trabajo en lugar del equilibrio de carga.
El equilibrio de carga también permite configuraciones de alta disponibilidad de ArcGIS mediante la distribución de solicitudes a través de un sitio o clúster de máquinas que comparten la misma función. Por ejemplo, cuando se configura la alta disponibilidad en una implementación de ArcGIS Enterprise con varias máquinas, el equilibrador de carga (ArcGIS Web Adaptor) alterna el envío de solicitudes a los servidores de alojamiento de ArcGIS primario y secundario, como se muestra.
En este caso, el proxy inverso proporciona un único punto de entrada: una única dirección IP que ofusca el sistema al usuario final. El proxy inverso dirige el tráfico a ArcGIS Web Adaptors siguiendo su algoritmo, que suele ser por turnos, pero podría ser más robusto. Al igual que ArcGIS Web Adaptor, muchos equilibradores de carga monitorizan el estado o disponibilidad de los servidores y eliminan de la lista de distribución los equipos que no son correctos o están disponibles, lo que proporciona resiliencia a su sistema.
El método y la eficiencia de esta funcionalidad varían en función del equilibrador de carga. Algunos equilibradores de carga por hardware tienen algoritmos ricos que les permiten ajustarse al vuelo en función de la carga o del tiempo de respuesta. Otros trabajan con una simple lista por turnos que puede actualizarse periódicamente para reflejar solo los equipos en buen estado.
Por lo general, un proxy inverso expone una única dirección IP a Internet o a la intranet para un sistema concreto y distribuye las solicitudes al recurso adecuado. De esta forma se reducen enormemente los riesgos de seguridad, ya que la topología interna de la red y los sistemas queda oculta y se reduce el número de puntos de brecha en caso de ataque. Este método también simplifica la prestación y el consumo de servicios al proporcionar un único punto de acceso al sistema. La mayoría de las organizaciones eligen configurar un servidor proxy para que el sitio no esté directamente expuesto a los clientes.
Un servidor proxy inverso puede configurarse para que se comunique directamente con ArcGIS Server o a través del ArcGIS Web Adaptor agregando las URL correspondientes a las directivas proxy.
Para obtener más información, consulte Configurar un servidor proxy inverso con ArcGIS Server.
Las recomendaciones generales para la implementación del equilibrio de carga y los proxies inversos incluyen:
Para muchas otras aplicaciones o sistemas, la terminación de TLS en el equilibrador de carga es una arquitectura de aplicación común. Generalmente, no se recomienda la terminación TLS para los sistemas ArcGIS y, en el caso de Portal for ArcGIS, no se admite. Mantener conexiones TLS de extremo a extremo es una postura de seguridad más sólida y garantiza que las solicitudes y los datos de los usuarios no sean visibles para un atacante dentro de la red.
Cuando implemente cualquier tecnología de equilibrio de carga con un sistema ArcGIS, tenga en cuenta las siguientes estrategias:
verificación del estado
solo deben responder con un resultado positivo si el sistema funciona correctamente y es capaz de recibir solicitudes.Los proxies inversos se implementan con frecuencia como parte de un equilibrador de carga, ya que muchos equilibradores de carga envían las solicitudes a un puerto o servicio backend diferente del que origina la solicitud del frontend. Cuando implemente un proxy inverso (junto con un equilibrador de carga o separado de él), tenga en cuenta algunas de las siguientes recomendaciones de diseño:
Algunos proxies inversos pueden utilizar de forma predeterminada varias partes de la URL para hacer referencia al sistema ArcGIS, como por ejemplo:
https://centralhost.domain.com/systems/gis/rest/services
Tenga en cuenta que el uso de URL de varias partes como esta no se admite con los componentes de ArcGIS Enterprise, el «contexto web» o el nombre del adaptador web debe ser el primer componente de la URL que siga al nombre de host en la URL.