StoreFront

Lastausgleich mit NetScaler ADC

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 NetScaler ADC-Geräts für den Lastausgleich für von der Citrix Workspace-App bzw. Webbrowsern eingehende Anforderungen über die StoreFront-Server in der Servergruppe hinweg.

Serverzertifikatanforderungen für die Bereitstellung mit Lastausgleich

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 der NetScaler ADC Appliance 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 Lastausgleichsserver der NetScaler ADC Appliance 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.

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 Load Balancers der NetScaler ADC Appliance.

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

StoreFront-Server konfigurieren

Alle StoreFront-Server, die Sie in einen Lastausgleich einschließen möchten, müssen als StoreFront-Servergruppe konfiguriert werden, bei der die Konfiguration zwischen den Servern synchronisiert wird, um sicherzustellen, dass alle Server identisch konfiguriert sind. Weitere Informationen zum Hinzufügen von Servern zu einer Servergruppe finden Sie unter Vorhandener Servergruppe beitreten.

Jeder Server sollte für HTTPS konfiguriert sein, damit die Kommunikation zwischen dem Load Balancer und den StoreFront-Servern verschlüsselt ist. Siehe StoreFront mit HTTPS schützen. Das Zertifikat muss den FQDN mit Lastausgleich als allgemeinen Namen (CN) oder als alternativen Antragstellernamen (Subject Alternative Name, SAN) enthalten.

Legen Sie als Basis-URL der Servergruppe die URL des Load Balancers fest. Um die Basis-URL zu ändern, klicken Sie in der Citrix StoreFront-Verwaltungskonsole links mit der rechten Maustaste auf Servergruppe und dann auf Basis-URL ändern. Geben Sie die URL des virtuellen Load Balancer-Servers ein.

Optional: Citrix Service Monitor für HTTPS konfigurieren

StoreFront-Installationen beinhalten den Windows-Dienst Citrix Service Monitor. Dieser Dienst ist von keinem anderen Dienst abhängig und überwacht wichtige StoreFront-Dienste auf Fehler. Dadurch können NetScaler ADC und andere Drittanbieteranwendungen die relative Integrität einer StoreFront-Serverbereitstellung überwachen.

Standardmäßig verwendet der Monitor HTTP auf Port 8000. Sie können dies optional auf HTTPS an Port 443 ändern.

  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
    <!--NeedCopy-->
    
  2. Nach Abschluss verteilen Sie die Änderungen auf alle anderen Server in der StoreFront-Servergruppe.

  3. Für einen kurzen Test des 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 gibt eine XML-Zusammenfassung des Status jedes StoreFront-Diensts zurück.

    https://<loadbalancingFQDN>/StoreFrontMonitor/GetSFServicesStatus

    Lokalisierte Abbildung

NetScaler Load Balancer konfigurieren

Serverzertifikat auf dem NetScaler ADC konfigurieren

  1. Melden Sie sich bei der Verwaltungs-GUI der NetScaler ADC Appliance an.
  2. Wählen Sie Traffic Management > SSL > Certificates > Server Certificates.
  3. Klicken Sie auf Installieren.
  4. Geben Sie auf der Seite Install Server Certificate einen Namen für das Zertifikatsschlüsselpaar ein, klicken Sie auf Choose File und steuern Sie die Zertifikatdatei an. Wenn die Zertifikatdatei den privaten Schlüssel nicht enthält, müssen Sie zusätzlich eine Schlüsseldatei auswählen.

Screenshot des Fensters zur Installation des Zertifikats

Einzelne StoreFront-Serverknoten zum NetScaler ADC-Appliance-Load Balancer hinzufügen

  1. Navigieren Sie zu Traffic Management > Load Balancing > Servers. Klicken Sie auf Hinzufügen und fügen Sie jeden StoreFront-Server hinzu, für den der Lastenausgleich erfolgen soll.

    Beispiel = 2 StoreFront-Server mit den Namen “StoreFront-EU-1” und “StoreFront-EU-2”

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

Screenshot des Fensters "Server" mit zwei Servern

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

  1. Melden Sie sich bei der NetScaler ADC-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. Wenn Sie den StoreFront-Monitor für HTTPS konfiguriert haben, stellen Sie sicher, dass die Option Sicher ausgewählt ist. Andernfalls lassen Sie diese Option deaktiviert und geben Sie als Portnummer 8000 ein.
  5. Wählen Sie die Option Check Backend Services. 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

    Screenshot des Fensters "Create monitor"

Dienstgruppe für alle StoreFront-Server erstellen

  1. Gehen Sie zu Traffic Management > Load Balancing > Service Groups. Klicken Sie auf Add. Um über HTTPS eine Verbindung zu den StoreFront-Servern herzustellen, wählen Sie als Protokoll SSL. Übernehmen Sie bei den anderen Einstellungen den Standardwert. Klicken Sie auf OK.

  2. Klicken Sie in Ihrer Dienstgruppe unter Service Group Members auf No Service Group Member.

    1. Klicken Sie auf Service Based.
    2. Wählen Sie alle Server aus, die Sie zuvor definiert haben.
    3. Zur Verwendung von SSL zwischen dem Load Balancer und dem StoreFront-Server geben Sie Port 443 ein. Andernfalls geben Sie Port 80 ein.

    Screenshot der Seite "Create service group member"

  3. Fügen Sie den Bereich Monitors hinzu und wählen Sie den zuvor erstellten StoreFront-Monitor aus.

    Screenshot der Seite "Monitors" mit einem aufgelisteten Monitor

  4. Fügen Sie den Bereich Certificates hinzu.

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

    Screenshot des Fensters "Add binding"

  5. Fügen Sie den Bereich Settings hinzu. Wählen Sie Insert Client IP Header und geben Sie als Header-Namen X-Forwarded-For ein. Dadurch kann die Client-IP-Adresse in Citrix Virtual Apps and Desktops-Richtlinien verwendet werden.

Erstellen eines virtuellen Lastausgleichservers für den Benutzerdatenverkehr

  1. Melden Sie sich bei der Verwaltungs-GUI der NetScaler ADC Appliance an.

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

  3. Geben Sie einen Namen ein, wählen Sie SSL als Protokoll und geben Sie dann den Port ein. Klicken Sie auf “OK”, um den virtuellen Server zu erstellen.

    Screenshot des Fensters "NetScaler Load Balancing Virtual Server"

  4. Binden Sie die zuvor erstellte Dienstgruppe an den virtuellen Lastenausgleichserver.

  5. Binden Sie den Server und das ZS-Zertifikat, die Sie zuvor an die Dienstgruppe gebunden haben.

  6. Fügen Sie den Bereich Method hinzu und wählen Sie die Lastausgleichmethode. Für den Lastausgleich in StoreFront wird in der Regel round robin oder least connection verwendet.

    Screenshot des Abschnitts zur Lastausgleichsmethode

  7. Fügen Sie den Bereich Persistence hinzu.

    1. Legen Sie die Persistenzmethode auf COOKIEINSERT fest.

    2. Legen Sie für das Timeout denselben Wert wie für “Sitzungstimeout” in StoreFront fest (standardmäßig 20 Minuten).

    3. Benennen Sie das Cookie. Beispielsweise, NSC_SFPersistence, da dies das Identifizieren während des Debuggens erleichtert.

    4. Legen Sie für “Backup persistence” NONE fest.

    Hinweis:

    Wenn der Client kein HTTP-Cookie speichern darf, enthalten nachfolgende Anforderungen kein HTTP-Cookie und “Persistence” wird nicht verwendet.

Screenshot des Abschnitts "persistence"

StoreFront-Loopback konfigurieren

Wenn es sich bei der Basisadresse um einen Load Balancer handelt, kann der Datenverkehr der internen Kommunikation zwischen StoreFront-Diensten an den Load Balancer und möglicherweise an einen weiteren Server weitergeleitet werden. Dies führt zu schlechter Leistung und unerwartetem Verhalten. Verwenden Sie die StoreFront-Einstellung Loopbackkommunikation aktivieren, um dies zu vermeiden. Standardmäßig ist dies auf On festgelegt, sodass der Hostteil der Dienstadresse durch die Loopback-IP-Adresse 127.0.0.1 ersetzt wird, während das Schema (HTTP oder HTTPS) unverändert bleibt. Dies kann bei Einzelserverbereitstellungen und bei Bereitstellungen mit einem Load Balancer ohne SSL-Terminierung eingesetzt werden.

Kommuniziert ein Load Balancer mit SSL-Terminierung über HTTP mit StoreFront (nicht empfohlen), muss die StoreFront-Loopbackkommunikation auf OnUsingHttp festgelegt werden, sodass StoreFront auch das Schema von HTTPS auf HTTP ändert.

  1. Öffnen Sie Citrix StoreFront.
  2. Gehen Sie für jeden Store zu Receiver für Websites verwalten. Gehen Sie für jede Website zu Konfigurieren.
  3. Gehen Sie zu Erweiterte Einstellungen.
  4. Ändern Sie die Einstellung Loopbackkommunikation aktivieren aktivieren in OnUsingHttp.

Screenshot der Aktivierung der Loopbackkommunikation

Kommuniziert ein Load Balancer mit SSL-Terminierung über HTTP mit StoreFront (nicht empfohlen), muss die StoreFront-Loopbackkommunikation auf OnUsingHttp festgelegt werden, sodass StoreFront auch das Schema von HTTPS auf HTTP ändert.

NetScaler ADC Load Balancer für die Abonnementsynchronisierung zwischen Servergruppen konfigurieren

Wenn Sie über mehrere Sites mit zwei oder mehr StoreFront-Servergruppen verfügen, können Sie Abonnementdaten zwischen diesen über regelmäßige Pull-Aktionen nach Zeitplan replizieren. 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 jeder NetScaler ADC-Appliance zum Durchführen eines Lastausgleichs an TCP-Port 808 für jede der StoreFront-Servergruppen.

Konfigurieren einer Dienstgruppe für die Synchronisierung von Abonnements

  1. Melden Sie sich bei der Verwaltungs-GUI der NetScaler ADC Appliance an.
  2. Wählen Sie Traffic Management > Load Balancing > Service Groups > Add.
  3. Geben Sie einen Dienstgruppennamen ein, ändern Sie das Protokoll in TCP und klicken Sie zum Speichern auf OK.
  4. Fügen Sie im Bereich Service Group Members alle StoreFront-Serverknoten hinzu, die Sie zuvor im Bereich “Server” definiert haben, und geben Sie als Port die Nummer 808 an.
  5. Fügen Sie den Bereich Monitors hinzu.
    1. Klicken Sie auf No Service Group to Monitor Binding.
    2. Klicken Sie auf Hinzufügen. Geben Sie einen Monitornamen ein und legen Sie Type auf TCP fest. Klicken Sie auf Erstellen.
    3. Klicken Sie auf Bind.

Screenshot von Monitors TCP

Virtuellen Lastausgleichsserver für die Abonnementsynchronisierung erstellen

  1. Melden Sie sich bei der Verwaltungs-GUI der NetScaler ADC Appliance an.
  2. Wählen Sie Traffic Management> Load Balancing > Virtual Servers > Add und fügen Sie eine neue Dienstgruppe hinzu.
  3. Geben Sie einen Namen ein.
  4. Ändern Sie das Protokoll in TCP.
  5. Geben Sie eine IP-Adresse ein.
  6. Geben Sie als Port die Nummer 808 ein.

    Screenshot von Load balance 808

  7. Klicken Sie auf OK.
  8. Klicken Sie auf No Load Balancing Virtual Server ServiceGroup Binding, wählen Sie die zuvor erstellte Dienstgruppe aus und klicken Sie auf Bind.
  9. Fügen Sie den Bereich Method hinzu und legen Sie Load Balancing Method auf ROUNDROBIN fest.
  10. Klicken Sie auf Done, um die Bearbeitung abzuschließen.

StoreFront für den Abruf von Abonnementdaten über den Load Balancer konfigurieren

Siehe Abonnementsynchronisierung konfigurieren.

Legen Sie beim Konfigurieren des Replikationszeitplans für die Servergruppe eine Adresse fest, die der virtuellen IP-Adresse des Load Balancers des virtuellen Servers für die Abonnementsynchronisierung entspricht.