Sowohl Load Balancer als auch Reverseproxys sind gängige Technologien in modernen, webbasierten Anwendungen und Architekturen und können unabhängig voneinander oder in einer kombinierten Konfiguration eingesetzt werden. Dieser Abschnitt enthält einen Überblick über diese Technologien sowie Kommentare zu relevanten Anwendungsfällen in ArcGIS-Systemen zu und den relevanten Funktionen, die diese Technologien bieten.
Viele ArcGIS-Systeme implementieren das Load-Balancing in Kombination mit der Verwendung von Reverseproxys. Zu den gängigen Implementierungsmustern gehören:
Um die Funktionalität von Load-Balancing und Reverseproxy in ArcGIS Enterprise-Bereitstellungen zu ermöglichen, stellt Esri die installierbare ArcGIS-Softwarekomponente ArcGIS Web Adaptor bereit. Web Adaptor ist nicht die einzige Option für die Architektur von ArcGIS Enterprise-Systemen mit einem Load Balancer und einem Reverseproxy, sondern vielmehr eine Lösung für ein gängiges Muster, die vom technischen Support von Esri unterstützt wird. Je nach Präferenz und technischen Anforderungen kann auch ein Load Balancer in Form externer Hardware oder Software verwendet werden. Der Typ der Arbeitslast und die Häufigkeit der Nachfrage geben Aufschluss darüber, welcher von Load Balancer-Typ für Ihre Anforderungen geeignet ist. Weitere Informationen zu Ihrer ArcGIS-Version und Ihrem Betriebssystem finden Sie unter Bereitstellung auf mehreren Computern mit Load Balancer eines Drittanbieters.
Um eine Hochverfügbarkeitskonfiguration zu erreichen, kann Web Adaptor mit einem Computer auf einer Site mit hoher Verfügbarkeit konfiguriert werden. Darin enthalten ist eine Logik zum Erkennen der anderen Computer auf der Site, zum Überwachen von deren Status und zum Weiterzuleiten von Anforderungen an diese Computer, wenn sie fehlerfrei sind. Diese Logik ist ein wesentlicher Implementierungsvorteil der Einbeziehung von ArcGIS Web Adaptor in einen Systementwurf, da sie die Änderungen an einer ArcGIS Enterprise-Bereitstellung einfacher verarbeiten kann als eine manuell konfigurierte Integritätsprüfung oder Load Balancer-Einstellung.
Während Web Adaptor in vielen Szenarien die Funktionalität von Load-Balancing und Reverseproxy bereitstellen kann, implementieren viele mit ArcGIS erstellte Unternehmenssysteme auch zusätzliche, externe Software- oder Hardwarekomponenten, um die funktionalen Ziele dieser beiden Technologien zu erreichen. Beispiele:
Mit dem Übergang von herkömmlichen lokalen Architekturen, bei denen eine demilitarisierte Zone oder DMZ am häufigsten verwendet wurde, um internetbasierten Clients den Zugriff auf Services und Endpunkte zu ermöglichen, hin zu Cloud-Architekturen, in denen cloudnative Services diese Funktionalität in den meisten Fällen bereitstellen, haben sich auch die Überlegungen und Empfehlungen zur Architektur in Bezug auf Reverse-Proxys und Load-Balancing geändert.
Diese Technologien bieten Vorteile, da sie vor allem Skalierbarkeit, hohe Verfügbarkeit und Sicherheit ermöglichen.
Das ArcGIS-System kann skaliert werden, um sowohl kleine als auch große Bereitstellungen zu unterstützen. Um wachsenden Bereitstellungsgrößen gerecht zu werden, kann ArcGIS viele Load-Balancing-Techniken und -Technologien nutzen. Load-Balancing-Algorithmen, die zum Verteilen von Clientanforderungen verwendet werden, können von einfachen Round-Robin-Ansätzen bis hin zu komplexeren Algorithmen variieren, die Faktoren wie die aktuelle Verbindungsanzahl, die Hostauslastung oder reale Antwortzeiten berücksichtigen.
Ein Load Balancer trägt zur Leistung bei, indem er die Last auf mehrere Computer und die entsprechenden Ressourcen verteilt. Im Beispiel für hohe Verfügbarkeit verteilen die Load Balancer von ArcGIS Web Adaptor die GIS-Serveranforderungen auf zwei ArcGIS Enterprise-Hosting-Server. Wenn Ihr System viele Benutzer hat, die ähnliche Workflows ausführen, bei denen erhebliche Mengen an Verarbeitung erforderlich sind, z. B. ein Workflow für die Bearbeitung, der lange, prozessorintensive Transaktionen umfasst, kann ein Load Balancer sicherstellen, dass diese Anforderungen auf die verfügbare Hardware verteilt werden, während Workflows, die sehr unterschiedliche Anforderungen an die Verarbeitung enthalten, von einer Arbeitslasttrennung anstelle von Load-Balancing profitieren können.
Load-Balancing ermöglicht auch Hochverfügbarkeitskonfigurationen von ArcGIS, indem Anforderungen auf eine Site oder einen Cluster aus Computern mit derselben Rolle verteilt werden. Wenn z. B. in einer ArcGIS Enterprise-Bereitstellung mit mehreren Computern die hohe Verfügbarkeit konfiguriert ist, dann sendet der Load Balancer (ArcGIS Web Adaptor) die Anforderungen abwechselnd an den primären und den sekundären ArcGIS-Hosting-Server (siehe Abbildung).
Der Reverseproxy ist in diesem Fall der zentrale Zugangspunkt (Single Point of Entry) – eine einzelne IP-Adresse, die das System vor dem Endbenutzer verschleiert. Der Reverseproxy leitet den Datenverkehr gemäß seinem Algorithmus an die Instanzen von ArcGIS Web Adaptor weiter. Bei diesem Algorithmus handelt es sich in der Regel um Round-Robin, der aber stabiler sein könnte. Wie ArcGIS Web Adaptor überwachen viele Load Balancer den Zustand oder die Verfügbarkeit des Servers und entfernen fehlerhafte oder nicht verfügbare Computer aus der Verteilerliste, um die Ausfallsicherheit Ihres Systems zu gewährleisten.
Die Methode und Effizienz dieser Funktion variiert je nach Load Balancer. Einige Hardware-Load-Balancer verfügen über umfangreiche Algorithmen, die es ihnen ermöglichen, sich basierend auf der Last oder der Antwortzeit sofort anzupassen. Andere arbeiten mit einer einfachen Round-Robin-Liste, bei der die Liste regelmäßig aktualisiert werden kann, damit sie nur fehlerfreie Computer enthält.
Ein Reverseproxy macht für ein bestimmtes System in der Regel eine einzelne IP-Adresse für das Internet oder Intranet verfügbar und verteilt Anforderungen an die richtige Ressource. Dies reduziert die Sicherheitsrisiken erheblich, da die interne Topologie des Netzwerks und der Systeme verborgen bleibt und die Anzahl der im Falle eines Angriffs getroffenen Punkte reduziert wird. Diese Methode vereinfacht auch die Bereitstellung und Nutzung von Services, indem ein zentraler Zugang zum System bereitgestellt wird. Die meisten Organisationen richten einen Proxyserver ein, damit die Site nicht direkt für Clients erreichbar ist.
Ein Reverseproxyserver kann so konfiguriert werden, dass er entweder direkt mit ArcGIS Server oder über ArcGIS Web Adaptor kommuniziert, indem den Proxy-Direktiven die entsprechenden URLs hinzugefügt werden.
Weitere Informationen finden Sie unter Konfigurieren eines Reverseproxyservers mit ArcGIS Server.
Zu den allgemeinen Empfehlungen für die Implementierung von Load-Balancing und Reverseproxys gehören:
Für viele andere Anwendungen oder Systeme ist das Beenden von TLS am Load Balancer eine gängige Anwendungsarchitektur. Für ArcGIS-Systeme wird die TLS-Beendigung im Allgemeinen nicht empfohlen und im Fall von Portal for ArcGIS nicht unterstützt. Die Aufrechterhaltung von End-to-End-TLS-Verbindungen ist ein stärkerer Sicherheitsstatus und stellt sicher, dass Benutzeranforderungen und -daten für einen Angreifer innerhalb des Netzwerks nicht sichtbar sind.
Wenn Sie eine Load-Balancing-Technologie mit einem ArcGIS-System implementieren, dann sollten Sie die folgenden Strategien berücksichtigen:
healthCheck
-Anforderungen sollten nur dann mit einer positiven Antwort antworten, wenn das System ordnungsgemäß ausgeführt wird und Anforderungen empfangen kann.Reverseproxys werden häufig als Teil eines Load Balancers implementiert, da viele Load Balancer die Anforderungen nicht an den Backend-Port oder -Service, von dem die Frontend-Anforderung stammt, sondern an einen anderen Back-End senden. Beim Implementieren eines Reverseproxys (zusammen mit oder getrennt von einem Load Balancer) sollten Sie einige der folgenden Entwurfsempfehlungen berücksichtigen:
Einige Reverseproxys verwenden möglicherweise standardmäßig mehrere URL-Teile, um das ArcGIS-System zu referenzieren, z. B.:
https://centralhost.domain.com/systems/gis/rest/services
Beachten Sie, dass die Verwendung solcher mehrteiligen URLs für ArcGIS Enterprise-Komponenten nicht unterstützt wird. Der “Webkontext” oder der Web Adaptor-Name muss die erste URL-Komponente sein, die auf den Hostnamen in der URL folgt.