Lastausgleich mit Citrix ADC-Gerät

Dieser Artikel enthält Informationen zur Verwendung eines Citrix ADC-Geräts für den Lastausgleich zwischen StoreFront-Servern.

Konfigurieren einer StoreFront-Servergruppe und des Lastausgleichs mit Citrix ADC-Gerät

Planen der StoreFront-Bereitstellung mit Lastausgleich

Dieser Artikel enthält Informationen zum Bereitstellen einer StoreFront-Servergruppe mit mindestens zwei StoreFront-Servern in einer aktiven Konfiguration mit Lastausgleich. Der Artikel enthält Angaben zum Konfigurieren eines Citrix ADC-Geräts für den Lastausgleich für von der Citrix Workspace-App bzw. Citrix Receiver für Web eingehende Anforderungen über alle StoreFront-Knoten in der Servergruppe hinweg. Außerdem wird erläutert, wie Sie StoreFront Monitor zur Verwendung mit einem Citrix ADC-Gerät konfigurieren.

Ein Beispiel für eine Lastausgleichskonfiguration finden Sie unten unter “Szenario 1”.

Getestet in der folgenden Umgebung

  • Vier Windows Server 2012 R2 StoreFront 3.0-Knoten in einer einzelnen Servergruppe
  • Ein für Least-Connection-Lastausgleich und Cookie-Persistenz konfiguriertes Citrix ADC-Gerät der Version 12.1.
  • Ein Windows 10-Testclient mit installierter Citrix Workspace-App.

Zertifikatanforderungen für den Lastausgleich bei Verwendung von HTTPS

Lesen Sie den Abschnitt Planen des Einsatzes von Gateway- und Serverzertifikaten.

Ziehen Sie die folgenden Optionen in Betracht, bevor Sie ein Zertifikat von einer kommerziellen Zertifizierungsstelle erwerben oder von der Zertifizierungsstelle Ihres Unternehmens ausstellen lassen.

  • Option 1: Verwenden Sie ein Platzhalterzertifikat *.example.com auf dem virtuellen Lastausgleichsserver und den Knoten der StoreFront-Servergruppe. Dies vereinfacht die Konfiguration und ermöglicht das künftige Hinzufügen weiterer StoreFront-Server, ohne dass das Zertifikat ersetzt werden muss.
  • Option 2: Verwenden Sie ein Zertifikat mit alternativem Antragstellernamen (SANs) auf dem virtuellen Citrix ADC-Lastausgleichsserver und den Knoten der StoreFront-Servergruppe. Zusätzliche SANs in dem Zertifikat, die allen vollqualifizierten Domänennamen der StoreFront-Server entsprechen, sind zwar optional, jedoch empfehlenswert, da sie eine größere Flexibilität bei der StoreFront-Bereitstellung bieten. Schließen Sie einen SAN für die e-mail-basierte Ermittlung ein (discoverReceiver.example.com).

Weitere Informationen über die Konfiguration der e-mail-basierten Ermittlung finden Sie unter http://blogs.citrix.com/2013/04/01/configuring-email-based-account-discovery-for-citrix-receiver/.

Hinweis:

Wenn der private Schlüssel des Zertifikats nicht exportiert werden kann. Verwenden Sie zwei Zertifikate, eines auf dem virtuellen Citrix ADC-Lastausgleichsserver und eines auf den Knoten der StoreFront-Servergruppe. Beide Zertifikate müssen alternative Antragstellernamen enthalten.

lokalisiertes Bild

lokalisiertes Bild

Erstellen eines SSL-Zertifikats für den Citrix ADC-Load Balancer und alle StoreFront-Server

Importieren eines Zertifikats einer Windows-Zertifizierungsstelle in ein Citrix ADC-Gerät

  • WinSCP ist ein nützliches Drittanbietertool zum Verschieben von Dateien von einer Windows-Maschine in das Dateisystem eines Citrix ADC-Geräts. Kopieren Sie Zertifikate für den Import in den Ordner /nsconfig/ssl/ im Dateisystem des Citrix ADC-Geräts.
  • Sie können auch OpenSSL-Tools auf dem Citrix ADC-Gerät verwenden, um das Zertifikat und den Schlüssel aus einer PKCS12/PFX-Datei zu extrahieren, um zwei separate CER- und KEY X.509-Dateien im PEM-Format zu erstellen, die Citrix ADC verwenden kann.
  1. Kopieren Sie die PFX-Datei in den Ordner /nsconfig/ssl auf dem Citrix ADC-Gerät oder VPX.
  2. Öffnen Sie die Befehlszeilenschnittstelle (CLI) des Citrix ADC-Geräts.
  3. Geben Sie Shell ein, um die Befehlszeilenschnittstelle des Citrix ADC-Geräts zu beenden und zur FreeBSD-Shell zu wechseln.
  4. Wechseln Sie das Verzeichnis mit cd /nsconfig/ssl/.
  5. Führen Sie openssl pkcs12 -in <imported cert file>.pfx -nokeys -out <certfilename>.cer aus und geben Sie auf Aufforderung das PFX-Kennwort ein.
  6. Führen Sie openssl pkcs12 -in <imported cert file>.pfx -nocerts -out <keyfilename>.key aus und geben Sie auf Aufforderung das PFX-Kennwort ein und legen Sie eine PEM- Passphrase für den privaten Schlüssel zum Schutz der KEY-Datei fest.
  7. Führen Sie ls -al aus, um zu prüfen, ob die CER- und die KEY-Datei erfolgreich in /nsconfig/ssl/ erstellt wurden.
  8. Geben Sie Exit ein, um zur CLI des Citrix ADC-Geräts zurückzukehren.

Konfigurieren des Serverzertifikats auf dem Citrix ADC-Gerät nach dem Import

  1. Melden Sie sich bei der Verwaltungs-GUI des Citrix ADC-Geräts an.
  2. Wählen Sie “Traffic Management > SSL > SSL Certificates” und klicken Sie auf “Install”.
  3. Geben Sie im Fenster Install Certificate den Namen des Zertifikats und des privaten Schlüsselpaars ein.
    • Wählen Sie die CER-Zertifikatdatei im Dateisystem des Citrix ADC-Geräts unter /nsconfig/ssl/ aus.
    • Wählen Sie die KEY-Datei mit dem privaten Schlüssel am gleichen Speicherort aus.

lokalisiertes Bild

Erstellen von DNS-Datensätzen für den Load Balancer der StoreFront-Servergruppe

Erstellen Sie einen DNS Alias- und einen PTR-Datensatz für den ausgewählten freigegebenen FQDN. Clients im Netzwerk verwenden diesen FQDN für den Zugriff auf die StoreFront-Servergruppe unter Verwendung des Citrix ADC-Load Balancers.

Beispiel - storefront.example.com wird in die virtuelle IP (VIP) des virtuellen Lastausgleichservers aufgelöst.

Szenario 1: Eine durchgängige sichere HTTPS 443-Verbindung zwischen Client und Citrix ADC-Load Balancer und zwischen Load Balancer und mindestens zwei StoreFront 3.0-Servern

Bei diesem Szenario wird ein modifizierter StoreFront-Monitor unter Einsatz von Port 443 verwendet.

Hinzufügen einzelner StoreFront-Serverknoten zum Citrix ADC-Load Balancer

  1. Melden Sie sich bei der Verwaltungs-GUI des Citrix ADC-Geräts an.
  2. Wählen Sie Traffic Management > Load Balancing > Servers > Add und fügen Sie die vier StoreFront-Knoten für den Lastausgleich hinzu.

    Beispiel = 4 x 2012R2 StoreFront-Knoten names 2012R2-A bis –D

  3. Verwenden Sie die IP-basierte Serverkonfiguration und geben Sie die Server-IP-Adresse für jeden StoreFront-Knoten ein.

lokalisiertes Bild

Definieren eines StoreFront-Monitors zur Prüfung des Status aller StoreFront-Knoten in der Servergruppe

  1. Melden Sie sich bei der NetScaler-Verwaltungskonsole an.
  2. Wählen Sie Traffic Management > Load Balancing > Monitors > Add und fügen Sie einen neuen Monitor unter dem Namen “StoreFront” hinzu. Akzeptieren Sie alle Standardeinstellungen.
  3. Wählen Sie im Dropdownmenü Type die Option StoreFront.
  4. Falls Sie HTTPS für die Verbindung zwischen dem virtuellen Lastausgleichsserver und StoreFront verwenden, aktivieren Sie das Kontrollkästchen Secure, falls nicht, lassen Sie es deaktiviert.
  5. Geben Sie den Namen des Stores auf der Registerkarte “Parameters” ein.
  6. Aktivieren Sie das Kontrollkästchen Check Backend Services auf der Registerkarte “Parameters”. Damit wird die Überwachung von auf dem StoreFront-Server ausgeführten Diensten aktiviert. StoreFront-Dienste werden durch Sondieren eines Windows-Diensts auf dem StoreFront-Server überwacht, der den Status der folgenden Dienste zurückgibt:
    • W3SVC (IIS)
    • WAS (Aktivierungsdienst für Windows-Prozesse)
    • CitrixCredentialWallet
    • CitrixDefaultDomainService

lokalisiertes Bild

Erstellen einer HTTPS 443-Dienstgruppe für alle StoreFront-Server

  1. Wählen Sie in der Dienstgruppe die Option “Members” auf der rechten Seite aus und fügen Sie alle StoreFront-Serverknoten, die Sie zuvor im Bereich “Servers” definiert haben, hinzu.

  2. Legen Sie den SSL-Port fest und geben Sie für jeden Knoten beim Hinzufügen eine eindeutige Server-ID an.

lokalisiertes Bild

  1. Wählen Sie auf der Registerkarte “Monitors” den zuvor erstellten StoreFront-Monitor aus.

lokalisiertes Bild

  1. Binden Sie auf der Registerkarte “Certificates” das zuvor importierte Serverzertifikat.

  2. Binden Sie das Zertifizierungsstellenzertifikat, das zum Signieren des zuvor importierten Serverzertifikats verwendet wurde, sowie jegliche Zertifizierungsstellen, die Teil der PKI-Vertrauenskette sind.

lokalisiertes Bild

Erstellen eines virtuellen Lastausgleichservers für den Benutzerdatenverkehr

  1. Melden Sie sich bei der Citrix ADC-Appliance-Management-GUI an.

  2. Wählen Sie Traffic Management > Load Balancing > Virtual Servers > Add zum Erstellen eines neuen virtuellen Servers aus.

  3. Wählen Sie die Lastausgleichsmethode für den virtuellen Server aus. Für den Lastausgleich in StoreFront wird in der Regel round robin oder least connection verwendet.

lokalisiertes Bild

  1. Binden Sie diezuvor erstellte Dienstgruppe an den virtuellen Lastausgleichsserver.

  2. Binden Sie das Serverzertifikat und das ZS-Zertifikat, das Sie zuvor an die Dienstgruppe gebunden haben, an den virtuellen Lastausgleichsserver.

  3. Wählen Sie im Menü für den virtuellen Lastausgleichsserver rechts Persistence aus und legen Sie als Persistenzmethode CookieInsert fest.

  4. Benennen Sie das Cookie. Beispielsweise, NSC_SFPersistence, da dies das Identifizieren von Fiddler-Spuren während des Debuggens erleichtert.

  5. Legen Sie für “Backup persistence” None fest.

lokalisiertes Bild

Erstellen eines virtuellen Lastausgleichsservers für die Abonnementsynchronisierung zwischen Servergruppen

Beim Erstellen eines virtuellen Lastenausgleichsservers sind folgende Optionen in Erwägung zu ziehen:

  • Option 1: Erstellen eines einzelnen virtuellen Servers, um nur für den Benutzerdatenverkehr einen Lastausgleich vorzunehmen. Wenn Sie nur ICA-Starts veröffentlichter Apps und Desktops durchführen, ist nichts weiter erforderlich. (Obligatorisch und in der Regel das einzige Erfordernis.)
  • Option 2: Erstellen zweier virtueller Lastausgleichsserver, einen für den Benutzerdatenverkehr beim Ausführen von ICA-Starts veröffentlichter Apps und Desktops und einen zweiten für die Synchronisierung von Abonnementdaten. (Nur erforderlich, wenn Abonnementdaten zwischen mindestens zwei StoreFront-Servergruppen mit Lastausgleich in einer großen Bereitstellung mit mehreren Standorten übertragen werden.)

Wenn eine Bereitstellung zwei oder mehr StoreFront-Servergruppen an verschiedenen geografischen Standorten umfasst, können Sie die Replikation von Abonnementdaten zwischen diesen Standorten über regelmäßige Pull-Aktionen nach Zeitplan durchführen. Für die StoreFront-Abonnementreplikation wird TCP-Port 808 verwendet, die Verwendung eines vorhandenen virtuellen Lastausgleichsservers an HTTP-Port 80 oder HTTPS-Port 443 schlägt daher fehl. Zur Bereitstellung hoher Dienstverfügbarkeit erstellen Sie einen zweiten virtuellen Server auf jedem Citrix ADC-Gerät in der Bereitstellung zum Durchführen eines Lastausgleichs an TCP-Port 808 für jede der StoreFront-Servergruppen. Legen Sie beim Konfigurieren des Replikationszeitplans für die Servergruppe eine Adresse fest, die der virtuellen IP-Adresse des virtuellen Servers für die Abonnementsynchronisierung entspricht. Die Adresse der Servergruppe muss der FQDN des Load Balancers für die Servergruppe an diesem Standort sein.

Konfigurieren einer Dienstgruppe für die Synchronisierung von Abonnements

  1. Melden Sie sich bei der Verwaltungs-GUI des Citrix ADC-Geräts an.
  2. Wählen Sie Traffic Management > Service Groups > Add aus und fügen Sie eine neue Dienstgruppe hinzu.
  3. Ändern Sie das Protokoll in TCP.
  4. Wählen Sie in der Dienstgruppe die Option **Members** auf der rechten Seite aus und fügen Sie alle StoreFront-Serverknoten, die Sie zuvor im Bereich “Servers” definiert haben, hinzu.
  5. Wählen Sie auf der Registerkarte **Monitors** den TCP-Monitor aus.

lokalisiertes Bild

Erstellen eines virtuellen Lastausgleichsservers für die Abonnementsynchronisierung zwischen Servergruppen

  1. Melden Sie sich bei der Verwaltungs-GUI des Citrix ADC-Geräts an.
  2. Wählen Sie Traffic Management > Service Groups > Add aus und fügen Sie eine neue Dienstgruppe hinzu.
  3. Setzen Sie die Lastausgleichsmethode auf Roundrobin.
  4. Ändern Sie das Protokoll in TCP.
  5. Geben Sie als Portnummer **808** (nicht 443) ein.

lokalisiertes Bild

Mitgliedschaft in CitrixSubscriptionsSyncUsers

Damit StoreFront-Server A am Standort A Abonnementdaten von Server B an einem anderen Standort anfordern und abrufen kann, muss Server A Mitglied der lokalen Sicherheitsgruppe CitrixSubscriptionsSyncUsers auf Server B sein. Die lokale Gruppe CitrixSubscriptionsSyncUsers enthält eine Zugriffssteuerungsliste aller remoten StoreFront-Server, die Abonnementdaten von einem bestimmten Server abrufen dürfen. Bei einer bidirektionalen Abonnementsynchronisierung muss zudem Server B Mitglied der Sicherheitsgruppe CitrixSubscriptionsSyncUsers auf Server A sein, damit er von dort Abonnementdaten abrufen kann.

lokalisiertes Bild

Konfigurieren der StoreFront-Servergruppe für den Lastausgleich

  1. Importieren Sie auf allen StoreFront-Knoten in der Servergruppe das Zertifikat und den privaten Schlüssel, das bzw. den Sie auf dem virtuellen Citrix ADC-Lastausgleichsserver bereitgestellt haben.

  2. Erstellen Sie eine HTTPS-Bindung in IIS auf allen StoreFront-Knoten und binden Sie das zuvor importierte Zertifikat.

    lokalisiertes Bild

  3. Installieren Sie StoreFront auf jedem Knoten in der Servergruppe.

  4. Legen Sie bei der Installation von StoreFront die Host-Basis-URL auf dem primären Knoten als freigegebenen FQDN zur Verwendung durch alle Mitglieder der Servergruppe fest. Sie müssen ein Zertifikat verwenden, das den FQDN mit Lastausgleich als allgemeinen Namen (CN) oder als alternativen Antragstellernamen (Subject Alternative Name, SAN) enthält.

    Weitere Informationen finden Sie unter Erstellen eines SSL-Zertifikats für den Citrix ADC-Load Balancer und alle StoreFront-Server.

  5. Fügen Sie im Rahmen der Erstkonfiguration von StoreFront die einzelnen Knoten nacheinander unter Verwendung des primären Knotens der Servergruppe hinzu.

  6. Wählen Sie für beitretende Server Server Group > Add Server > Copy the Authorization Code aus.

lokalisiertes Bild

  1. Verteilen Sie die Konfiguration vom primären Knoten auf alle anderen Knoten in der Servergruppe.

  2. Testen Sie die Servergruppe mit Lastausgleich mit einem Client, der den freigegebenen FQDN des Load Balancers kontaktieren und auflösen kann.

Citrix Service Monitor

Um die externe Überwachung des Ausführenstatus von Windows-Diensten zu aktivieren, die für den einwandfreien Betrieb von StoreFront erforderlich sind, verwenden Sie den Windows-Dienst Citrix Service Monitor. Dieser Dienst ist von keinem anderen Dienst abhängig und kann andere wichtige StoreFront-Dienste überwachen und Fehler melden. Mit dem Dienst kann die relative Integrität einer StoreFront-Serverbereitstellung extern von anderen Citrix Komponenten, wie Citrix ADC-Geräten, ermittelt werden. Die XML-Antwort des StoreFront-Diensts kann von einer Drittanbieter-Software zur Überwachung der Integrität wichtiger StoreFront-Dienste genutzt werden.

Wenn StoreFront bereitgestellt wird, wird ein Standardmonitor erstellt, der HTTP und Port 8000 verwendet.

Hinweis:

In einer StoreFront-Bereitstellung ist nur eine Instanz eines Monitors zulässig.

Für Änderungen am vorhandenen Standardmonitor, z. B. zum Ändern des Protokolls und Ports auf HTTPS 443, verwenden Sie die drei PowerShell-Cmdlets zum Anzeigen bzw. Konfigurieren der Dienst-URL des StoreFront-Monitors.

Ersetzen des Standarddienstmonitors durch einen Monitor, der HTTPS und Port 443 verwendet

  1. Öffnen Sie PowerShell Integrated Scripting Environment (ISE) auf dem primären StoreFront-Server und führen Sie folgende Befehle aus, um den Standardmonitor auf HTTPS 443 zu ändern.

    $ServiceUrl = "https://localhost:443/StorefrontMonitor"
    Set-STFServiceMonitor -ServiceUrl $ServiceUrl
    Get-STFServiceMonitor
    
  2. Nach Abschluss verteilen Sie die Änderungen auf alle anderen Server in der StoreFront-Servergruppe.

  3. Für einen kurzen Test des neuen Monitors geben Sie die folgende URL im Browser auf dem StoreFront-Server oder auf einem anderen Computer mit Netzwerkzugriff auf den StoreFront-Server ein. Der Browser müsste eine XML-Zusammenfassung des Status jedes StoreFront-Diensts zurückgeben.

    https://<loadbalancingFQDN>:443/StoreFrontMonitor/GetSFServicesStatus

    lokalisiertes Bild

Citrix Gateway und virtuelle Lastausgleichsserver auf demselben Citrix ADC-Gerät

Wenn Sie den virtuellen Citrix Gateway-Server und den virtuellen Lastausgleichsserver auf demselben Citrix ADC-Gerät konfiguriert haben, treten beim Zugriff interner Domänenbenutzer auf die Host-Basis-URL von StoreFront mit Lastausgleich möglicherweise Probleme auf, wenn der Zugriff direkt und nicht über den virtuellen Citrix Gateway-Server erfolgt.

In diesem Szenario geht StoreFront davon aus, dass der Endbenutzer sich bereits bei Citrix Gateway authentifiziert hat, da StoreFront die Quell-IP-Adresse des Benutzers mit der Subnetz-IP-Adresse (SNIP) von Citrix Gateway korreliert. Dadurch wird ein Versuch von StoreFront ausgelöst, den Benutzer unter Verwendung des AGBasic-Protokolls ohne Benutzereingriff bei Citrix Gateway zu authentifizieren, anstatt den Benutzer zur Anmeldung mit seinen Domänenanmeldeinformationen aufzufordern. Um dieses Problem zu vermeiden, verzichten Sie auf die Angabe einer SNIP-Adresse wie unten dargestellt oder geben Sie eine VIP ein, sodass die Authentifizierung mit Benutzernamen und Kennwort anstelle von AGBasic verwendet wird.

Konfigurieren von Citrix Gateway in der StoreFront-Servergruppe

lokalisiertes Bild

Loopback-Optionen beim Lastausgleich für eine StoreFront-Servergruppe mit NetScaler

Bei früheren Versionen von StoreFront (z. B. 2.6) wurde von Citrix empfohlen, die Hostdatei auf jedem StoreFront-Server manuell zu ändern, um den FQDN des Load Balancers der Loopbackadresse oder IP-Adresse auf dem spezifischen StoreFront-Server zuzuordnen. Dadurch wird sichergestellt, dass Receiver für Web in einer Bereitstellung mit Lastausgleich immer mit den StoreFront-Diensten auf dem gleichen Server kommuniziert. Dies ist erforderlich, da bei der expliziten Anmeldung zwischen Receiver für Web und dem Authentifizierungsdienst eine HTTP-Sitzung erstellt wird und Receiver für Web mit StoreFront-Diensten unter Verwendung des Basis-FQDN kommuniziert. Wenn der Basis-FQDN durch einen Load Balancer aufgelöst wird, könnte dieser Daten an einen anderen StoreFront-Server in der Gruppe senden, was zu einem Fehlschlagen der Authentifizierung führen würde. Es erfolgt keine Umgehung des Load Balancers, außer wenn Receiver für Web versucht, eine Verbindung mit dem Storedienst herzustellen, der auf dem gleichen Server wie Receiver für Web selbst residiert.

Sie können Loopback-Optionen mit PowerShell festlegen. Durch die Verwendung von Loopback wird die Erstellung von Hostdateieinträgen auf jedem StoreFront-Server in der Servergruppe überflüssig.

Beispiel einer web.config-Datei für Receiver für Web

<communication attempts="2" timeout="00:01:00" loopback="On" loopbackPortUsingHttp="80">

Beispiel eines PowerShell-Befehls

& "c:\program files\Citrix\receiver storefront\scripts\ImportModules.ps1"
Set-DSLoopback -SiteId 1 -VirtualPath "/Citrix/StoreWeb" -Loopback "OnUsingHttp" -LoopbackPortUsingHttp 81

Der Parameter -Loopback kann einen von drei Werten haben.

Wert Kontext
On - Ändert den Host der URL in 127.0.0.1. Schema und Port (falls angegeben) werden nicht geändert. Kann nicht verwendet werden, wenn Load Balancer mit SSL-Terminierung verwendet wird.
OnUsingHttp — Ändert den Host in 127.0.0.1 und das Schema in HTTP und ändert den Port in den für loopbackPortUsingHttp konfigurierten Wert. Verwenden Sie dies nur, wenn Sie einen Load Balancer mit SSL-Terminierung haben. Die Kommunikation zwischen Load Balancer und StoreFront-Servern erfolgt über HTTP. Sie können den HTTP-Port explizit mit dem Attribut “-loopbackPortUsingHttp” konfigurieren.
Off — Die URL in der Anforderung wird nicht geändert. Für die Problembehandlung verwenden. Tools wie Fiddler können den Datenverkehr zwischen Receiver für Web-Sites und StoreFront-Diensten nicht erfassen, wenn das Loopback auf On gesetzt ist.