StoreFront™ 2507 LTSR

Lastenausgleich mit NetScaler® ADC

Dieser Artikel enthält Anleitungen zur Bereitstellung einer StoreFront-Servergruppe mit zwei oder mehr StoreFront-Servern in einer vollständig aktiven, lastausgeglichenen Konfiguration. Der Artikel beschreibt, wie eine NetScaler ADC Appliance konfiguriert wird, um eingehende Anfragen von der Citrix Workspace-App und Webbrowsern zwischen StoreFront-Servern in der Servergruppe per Lastenausgleich zu verteilen.

DNS-Einträge für den Lastenausgleich der StoreFront-Servergruppe erstellen

Erstellen Sie einen DNS-A- und PTR-Eintrag für Ihren gewählten gemeinsamen FQDN. Clients in Ihrem Netzwerk verwenden diesen FQDN, um über den Lastenausgleich der NetScaler ADC Appliance auf die StoreFront-Servergruppe zuzugreifen.

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

StoreFront-Server konfigurieren

Alle StoreFront-Server, zwischen denen Sie den Lastenausgleich durchführen möchten, sollten als Teil einer StoreFront-Servergruppe konfiguriert werden, die die Konfiguration zwischen den Servern synchronisiert, um sicherzustellen, dass sie identisch konfiguriert sind. Weitere Informationen zum Hinzufügen von Servern zu einer Servergruppe finden Sie unter Einer vorhandenen Servergruppe beitreten.

Jeder Server sollte für HTTPS konfiguriert werden, damit die Kommunikation zwischen dem Lastenausgleich und den StoreFront-Servern verschlüsselt ist. Siehe StoreFront mit HTTPS sichern. Das Zertifikat muss den FQDN des Lastenausgleichs als Common Name (CN) oder als Subject Alternative Name (SAN) enthalten.

Legen Sie die Basis-URL der Servergruppe als URL des Lastenausgleichs fest. Um die Basis-URL zu ändern, klicken Sie in der Citrix StoreFront-Verwaltungskonsole im linken Bereich mit der rechten Maustaste auf Servergruppe und dann auf Basis-URL ändern. Geben Sie die URL des virtuellen Lastenausgleichsservers ein.

Optional: Citrix Service Monitor für HTTPS konfigurieren

Eine StoreFront-Installation umfasst den Windows-Dienst Citrix Service Monitor. Dieser Dienst hat keine weiteren Dienstabhängigkeiten und überwacht den Zustand kritischer StoreFront-Dienste. Dies ermöglicht es dem NetScaler ADC und anderen Drittanbieteranwendungen, den relativen Zustand einer StoreFront-Serverbereitstellung zu überwachen.

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

  1. Öffnen Sie die PowerShell Integrated Scripting Environment (ISE) auf dem primären StoreFront-Server und führen Sie die folgenden 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 der Änderungen übertragen Sie diese auf alle anderen Server in der StoreFront-Servergruppe.

  3. Um einen schnellen Test des Monitors durchzuführen, geben Sie die folgende URL in den Browser auf dem StoreFront-Server oder einem anderen Computer mit Netzwerkzugriff auf den StoreFront-Server ein. Der Browser gibt eine XML-Zusammenfassung des Status jedes StoreFront-Dienstes zurück.

    https://<loadbalancingFQDN>/StoreFrontMonitor/GetSFServicesStatus

    <ArrayOfServiceStatus xmlns="http://schemas.datacontract.org/2004/07/Citrix.DeliveryServices.ServiceMonitor.Contract" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <ServiceStatus>
        <name>Citrix Peer Resolution Service</name>
        <status>running</status>
    </ServiceStatus>
    <ServiceStatus>
        <name>CitrixConfigurationReplication</name>
        <status>running</status>
    </ServiceStatus>
    <ServiceStatus>
        <name>CitrixCredentialWallet</name>
        <status>running</status>
    </ServiceStatus>
    <ServiceStatus>
        <name>CitrixDefaultDomainService</name>
        <status>running</status>
    </ServiceStatus>
    <ServiceStatus>
        <name>CitrixSubscriptionsStore</name>
        <status>running</status>
    </ServiceStatus>
    <ServiceStatus>
        <name>NetTcpPortSharing</name>
        <status>running</status>
    </ServiceStatus>
    <ServiceStatus>
        <name>WAS</name>
        <status>running</status>
    </ServiceStatus>
    <ServiceStatus>
        <name>W3SVC</name>
        <status>running</status>
    </ServiceStatus>
    </ArrayOfServiceStatus>
    <!--NeedCopy-->
    

NetScaler Load Balancer konfigurieren

Stammzertifikat installieren

Wenn Ihre StoreFront-Server ein von einer internen Zertifizierungsstelle signiertes Zertifikat verwenden, müssen Sie das Stammzertifikat auf dem NetScaler installieren. Dies ist erforderlich, damit NetScaler dem Zertifikat des StoreFront-Servers vertraut.

  1. Melden Sie sich bei der Verwaltungs-GUI der NetScaler ADC Appliance an.
  2. Wählen Sie Traffic Management > SSL > Certificates > CA Certificates aus.
  3. Klicken Sie auf Installieren.
  4. Geben Sie auf der Seite CA-Zertifikat installieren einen Zertifikat-Schlüsselpaar-Namen ein, klicken Sie auf Datei auswählen und suchen Sie nach der Zertifikatdatei.
  5. Klicken Sie auf Installieren.

Serverzertifikat installieren

Um HTTPS zu aktivieren, benötigen Sie ein Zertifikat, dessen alternativer Antragstellername den FQDN des Lastenausgleichs enthält. Sie können das Zertifikat mit einer Unternehmens- oder öffentlichen Zertifizierungsstelle signieren.

Sie müssen separate Zertifikats- und Schlüsseldateien im PEM-Format haben. Wenn Sie ein Zertifikat mit dem privaten Schlüssel im PKCS12-Format haben, können Sie openssl verwenden, um die Datei zu konvertieren. Z. B.:

openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.cer
openssl pkcs12 -in cert.pfx -nocerts -out storefrontlbeu.key
<!--NeedCopy-->

Es erscheint eine Aufforderung zur Eingabe des vorhandenen Kennworts und einer neuen PEM-Passphrase.

So installieren Sie das Zertifikat:

  1. Melden Sie sich bei der Verwaltungs-GUI der NetScaler ADC Appliance an.
  2. Wählen Sie Traffic Management > SSL > Certificates > CA Certificates aus.
  3. Klicken Sie auf Installieren.
  4. Auf der Seite CA-Zertifikat installieren:
    1. Geben Sie einen Zertifikat-Schlüsselpaar-Namen ein.
    2. Klicken Sie unter Zertifikatdateiname auf Datei auswählen und suchen Sie nach der Zertifikatdatei.
    3. Klicken Sie unter Schlüsseldateiname auf Datei auswählen und suchen Sie nach der Schlüsseldatei.
    4. Geben Sie unter Kennwort die Passphrase ein.
    5. Klicken Sie auf Installieren.
  5. Klicken Sie auf Verknüpfen, um das Zertifikat mit dem Stammzertifikat zu verknüpfen.

Screenshot des Bildschirms zur Zertifikatinstallation

Einzelne StoreFront-Serverknoten zum Lastenausgleich der NetScaler ADC Appliance hinzufügen

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

    Beispiel = 2 x 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 Serverbildschirms mit zwei Servern

StoreFront-Monitor definieren, um den Status aller StoreFront-Knoten in der Servergruppe zu überprüfen

  1. Melden Sie sich bei der NetScaler ADC-Verwaltungs-GUI an.
  2. Wählen Sie Traffic Management > Load Balancing > Monitors > Add aus und fügen Sie einen neuen Monitor namens StoreFront hinzu, wobei Sie alle Standardeinstellungen übernehmen.
  3. Wählen Sie im Dropdown-Menü Typ die Option StoreFront aus.
  4. Wenn Sie Ihren 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 Port 8000 ein.
  5. Wählen Sie die Option Backend-Dienste überprüfen aus. Diese Option ermöglicht die Überwachung von Diensten, die auf dem StoreFront-Server ausgeführt werden. StoreFront-Dienste werden durch Abfragen eines Windows-Dienstes überwacht, der auf dem StoreFront-Server ausgeführt wird und den Status der folgenden Dienste zurückgibt:
    • W3SVC (IIS)
    • WAS (Windows Process Activation Service)
    • CitrixCredentialWallet
    • CitrixDefaultDomainService

    Screenshot des Bildschirms „Monitor erstellen“

Dienstgruppe erstellen, die alle StoreFront-Server enthält

  1. Navigieren Sie zu Traffic Management > Load Balancing > Service Groups. Klicken Sie auf Hinzufügen. Um über HTTPS eine Verbindung zu den StoreFront-Servern herzustellen, wählen Sie das Protokoll SSL. Belassen Sie andere Einstellungen als Standard. Klicken Sie auf OK.

  2. Klicken Sie in Ihrer Dienstgruppe unter Dienstgruppenmitglieder auf Kein Dienstgruppenmitglied.

    1. Klicken Sie auf Dienstbasiert.
    2. Wählen Sie alle zuvor definierten Server aus.
    3. Um SSL zwischen dem Lastenausgleich und dem StoreFront-Server zu verwenden, geben Sie Port 443 ein. Andernfalls geben Sie Port 80 ein.

    Screenshot der Seite „Dienstgruppenmitglied erstellen“

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

    Screenshot des Monitorbildschirms mit einem aufgelisteten Monitor

  4. Fügen Sie den Abschnitt Zertifikate hinzu.

    1. Binden Sie das Clientzertifikat.
    2. Binden Sie das CA-Zertifikat, das zum Signieren des zuvor importierten Serverzertifikats verwendet wurde, sowie alle anderen CAs, die Teil der PKI-Vertrauenskette sein könnten.

    Screenshot des Bildschirms „Bindung hinzufügen“

  5. Fügen Sie den Abschnitt Einstellungen hinzu. Wählen Sie Client-IP-Header einfügen aus und geben Sie als Headernamen X-Forwarded-For ein. Dies ermöglicht die Verwendung der Client-IP-Adresse in Citrix Virtual Apps and Desktops-Richtlinien.

Virtuellen Lastenausgleichsserver für Benutzerdatenverkehr 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 aus, um einen neuen virtuellen Server zu erstellen.

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

    Screenshot des NetScaler-Bildschirms „Virtueller Lastenausgleichsserver“

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

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

  6. Fügen Sie den Abschnitt Methode hinzu und wählen Sie die Lastenausgleichsmethode aus. Gängige Optionen für den StoreFront-Lastenausgleich sind Round Robin oder Least Connection.

    Screenshot des Abschnitts „Lastenausgleichsmethode“

  7. Fügen Sie den Abschnitt Persistenz hinzu.

    1. Legen Sie die Persistenzmethode auf COOKIEINSERT fest.

    2. Legen Sie das Zeitlimit so fest, dass es dem Sitzungszeitlimit in StoreFront entspricht, das standardmäßig 20 Minuten beträgt.

    3. Benennen Sie das Cookie. Zum Beispiel NSC_SFPersistence, da dies die Identifizierung während des Debuggings erleichtert.

    4. Legen Sie die Backup-Persistenz auf KEINE fest.

    Hinweis:

    Wenn der Client das HTTP-Cookie nicht speichern darf, enthalten die nachfolgenden Anfragen das HTTP-Cookie nicht, und die Persistenz wird nicht verwendet.

Screenshot des Abschnitts „Persistenz“

StoreFront-Loopback konfigurieren

Wenn die Basisadresse ein Lastenausgleich ist, könnte dies bei der internen Kommunikation zwischen StoreFront-Diensten dazu führen, dass der Datenverkehr an den Lastenausgleich und möglicherweise an einen anderen Server weitergeleitet wird. Dies führt zu einer schlechten Leistung und unerwartetem Verhalten. Verwenden Sie die StoreFront-Einstellung Loopback-Kommunikation aktivieren, um dies zu vermeiden. Standardmäßig ist diese auf Ein gesetzt, was bedeutet, dass der Host-Teil der Dienstadresse durch die Loopback-IP-Adresse 127.0.0.1 ersetzt wird, während das Schema (HTTP oder HTTPS) unverändert bleibt. Dies funktioniert für eine Einzelserverbereitstellung und Bereitstellungen mit einem nicht SSL-terminierenden Lastenausgleich. Wenn der Lastenausgleich SSL-terminierend ist und mit StoreFront über HTTP kommuniziert (nicht empfohlen), ist es notwendig, die StoreFront-Loopback-Kommunikation auf OnUsingHttp zu konfigurieren, was bedeutet, dass StoreFront auch das Schema von HTTPS auf HTTP ändert.

NetScaler ADC Lastenausgleich für die Abonnementsynchronisierung zwischen Servergruppen konfigurieren

Wenn Sie eine Multisite-Bereitstellung mit zwei oder mehr StoreFront-Servergruppen haben, können Sie Abonnementdaten zwischen diesen mithilfe einer Pull-Strategie nach einem wiederkehrenden Zeitplan replizieren. Die StoreFront-Abonnementreplikation verwendet TCP-Port 808, sodass die Verwendung eines vorhandenen virtuellen Lastenausgleichsservers auf HTTP-Port 80 oder HTTPS 443 fehlschlägt. Um eine hohe Verfügbarkeit für diesen Dienst zu gewährleisten, erstellen Sie einen zweiten virtuellen Server auf jeder NetScaler ADC Appliance in Ihrer Bereitstellung, um den TCP-Port 808 für jede der StoreFront-Servergruppen per Lastenausgleich zu verteilen.

Dienstgruppe für die Abonnementsynchronisierung konfigurieren

  1. Melden Sie sich bei der Verwaltungs-GUI der NetScaler ADC Appliance an.
  2. Wählen Sie Traffic Management > Load Balancing > Service Groups > Add aus.
  3. Geben Sie einen Dienstgruppennamen ein, ändern Sie das Protokoll auf TCP und klicken Sie auf OK, um zu speichern.
  4. Fügen Sie im Abschnitt Dienstgruppenmitglieder alle StoreFront-Serverknoten hinzu, die Sie zuvor im Abschnitt „Server“ definiert haben, und geben Sie Port 808 an.
  5. Fügen Sie den Abschnitt Monitore hinzu.
    1. Klicken Sie auf die Stelle, an der Keine Dienstgruppe zur Monitorbindung steht.
    2. Klicken Sie auf Hinzufügen. Geben Sie einen Monitor-Namen ein und setzen Sie dessen Typ auf TCP. Klicken Sie auf Erstellen.
    3. Klicken Sie auf Binden.

Screenshot der TCP-Monitore

Virtuellen Lastenausgleichsserver 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 aus und fügen Sie eine neue Dienstgruppe hinzu.
  3. Geben Sie einen Namen ein.
  4. Ändern Sie das Protokoll auf TCP.
  5. Geben Sie eine IP-Adresse ein.
  6. Geben Sie einen Port von 808 ein.

    Screenshot des Lastenausgleichs 808

  7. Klicken Sie auf OK.
  8. Klicken Sie auf Keine Bindung der virtuellen Lastenausgleichsserver-Dienstgruppe, wählen Sie die zuvor erstellte Dienstgruppe aus und klicken Sie auf Binden.
  9. Fügen Sie den Abschnitt Methode hinzu und setzen Sie die Lastenausgleichsmethode auf ROUNDROBIN.
  10. Klicken Sie auf Fertig, um Ihre Änderungen abzuschließen.

StoreFront für das Abrufen von Abonnementdaten über den Lastenausgleich konfigurieren

Siehe Abonnementsynchronisierung konfigurieren.

Beim Konfigurieren des Replikationszeitplans geben Sie eine Servergruppenadresse an, die der virtuellen IP-Adresse des virtuellen Lastenausgleichsservers für die Abonnementsynchronisierung entspricht.

Lastenausgleich mit NetScaler® ADC