StoreFront

Lastenausgleich mit NetScaler® ADC

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

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 für den Zugriff auf die StoreFront-Servergruppe über den NetScaler ADC Appliance-Lastenausgleich.

Beispiel: storefront.example.com löst zur virtuellen IP (VIP) des virtuellen Lastenausgleichsservers auf.

StoreFront-Server konfigurieren

Alle StoreFront-Server, die Sie für den Lastenausgleich verwenden 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 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-Lastenausgleich 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.
  3. Klicken Sie auf Installieren.
  4. Auf der Seite CA-Zertifikat installieren geben Sie einen Zertifikat-Schlüsselpaar-Namen ein, klicken Sie auf Datei auswählen und suchen Sie nach der Zertifikatsdatei.
  5. Klicken Sie auf Installieren.

Serverzertifikat installieren

Um HTTPS zu aktivieren, benötigen Sie ein Zertifikat, dessen alternativer Antragstellername (Subject Alternate Name) 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 Passworts 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.
  3. Klicken Sie auf Installieren.
  4. Auf der Seite CA-Zertifikat installieren:
    1. Geben Sie einen Zertifikat-Schlüsselpaar-Namen ein.
    2. Unter Zertifikatsdateiname klicken Sie auf Datei auswählen und suchen Sie nach der Zertifikatsdatei.
    3. Unter Schlüsseldateiname klicken Sie auf Datei auswählen und suchen Sie nach der Schlüsseldatei.
    4. Geben Sie unter Passwort 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 Zertifikatsinstallation

Einzelne StoreFront-Serverknoten zum NetScaler ADC Appliance-Lastenausgleich 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, die lastausgeglichen werden sollen.

    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 Serverbildschirms mit zwei Servern

Einen 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 und fügen Sie einen neuen Monitor namens StoreFront hinzu und übernehmen Sie alle Standardeinstellungen.
  3. Wählen Sie im Dropdown-Menü Typ 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 prüfen. 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“

Eine Dienstgruppe erstellen, die alle StoreFront-Server enthält

  1. Navigieren Sie zu Traffic Management > Load Balancing > Service Groups. Klicken Sie auf Hinzufügen. Um eine Verbindung zu den StoreFront-Servern über HTTPS 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, und 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 und geben Sie den Headernamen X-Forwarded-For ein. Dies ermöglicht die Verwendung der Client-IP-Adresse in Citrix Virtual Apps and Desktops-Richtlinien.

Einen 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, 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 auf dasselbe wie das Sitzungszeitlimit in StoreFront fest, 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 Persistenzabschnitts

StoreFront-Loopback konfigurieren

Wenn die Basisadresse ein Lastenausgleich ist, könnte dies für die interne 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 schlechter Leistung und unerwartetem Verhalten. Verwenden Sie die StoreFront-Einstellung Loopback-Kommunikation aktivieren, um dies zu vermeiden. Standardmäßig ist dies auf Ein gesetzt, was bedeutet, dass der Host-Teil der Dienstadresse durch die Loopback-IP-Adresse 127.0.0.1 ersetzt wird, wobei 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 das Schema auch 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 ihnen 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 TCP-Port 808 für jede der StoreFront-Servergruppen lastauszugleichen.

Eine 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.
  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 Keine Dienstgruppe zur Monitorbindung.
    2. Klicken Sie auf Hinzufügen. Geben Sie einen Monitor-Namen ein und legen Sie seinen Typ auf TCP fest. Klicken Sie auf Erstellen.
    3. Klicken Sie auf Binden.

Screenshot von Monitoren TCP

Einen 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 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 von Lastenausgleich 808

  7. Klicken Sie auf OK.
  8. Klicken Sie auf Keine Lastenausgleichs-Virtual-Server-Dienstgruppenbindung, wählen Sie die zuvor erstellte Dienstgruppe aus und klicken Sie auf Binden.
  9. Fügen Sie den Abschnitt Methode hinzu und legen Sie die Lastenausgleichsmethode auf ROUNDROBIN fest.
  10. Klicken Sie auf Fertig, um Ihre Änderungen abzuschließen.

StoreFront konfigurieren, um Abonnementdaten über den Lastenausgleich abzurufen

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