Edge-SSO für Hochverfügbarkeit installieren

Edge for Private Cloud Version 4.19.01

In zwei Szenarien installieren Sie mehrere Instanzen von Edge-SSO für Hochverfügbarkeit:

  • Installieren Sie in einer einzelnen Rechenzentrumsumgebung zwei Edge-SSO-Instanzen, um eine Hochverfügbarkeitsumgebung zu erstellen, d. h., das System funktioniert weiter, wenn eines der Edge-SSO-Module ausfällt.
  • Installieren Sie in einer Umgebung mit zwei Rechenzentren Edge-SSO in beiden Rechenzentren, damit das System weiter funktioniert, wenn eines der Edge-SSO-Module ausfällt.

Zwei Edge-SSO-Module im selben Rechenzentrum installieren

Sie stellen zwei Instanzen von Edge-SSO auf verschiedenen Knoten in einem einzigen Rechenzentrum bereit, um Hochverfügbarkeit zu unterstützen. Für dieses Beispiel gilt:

  • Beide Instanzen von Edge-SSO müssen mit demselben Postgres-Server verbunden sein. Apigee empfiehlt, einen dedizierten Postgres-Server für Edge-SSO zu verwenden und nicht denselben Postgres-Server, den Sie mit Edge installiert haben.
  • Beide Instanzen von Edge-SSO müssen dasselbe JWT-Schlüsselpaar verwenden, das in der Konfigurationsdatei in den Attributen SSO_JWT_SIGNING_KEY_FILEPATH und SSO_JWT_VERIFICATION_KEY_FILEPATH angegeben ist. Weitere Informationen zum Festlegen dieser Eigenschaften finden Sie unter Edge-SSO installieren und konfigurieren.
  • Sie benötigen einen Load-Balancer vor den beiden Instanzen von Edge-SSO:
    • Der Load-Balancer muss die von der Anwendung generierte Wiederkehrrate von Cookies unterstützen und das Sitzungscookie muss JSESSIONID heißen.
    • Konfigurieren Sie den Load-Balancer, um eine TCP- oder HTTP-Systemdiagnose für Edge-SSO auszuführen. Verwenden Sie für TCP die URL von Edge-SSO:
      http_or_https://edge_sso_IP_DNS:9099

      Geben Sie den von der Edge-SSO festgelegten Port an. Port 9099 ist die Standardeinstellung.

      Geben Sie für HTTP /healthz an:

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Einige Load-Balancer-Einstellungen hängen davon ab, ob Sie HTTPS bei Edge-SSO aktiviert haben. Weitere Informationen finden Sie in den folgenden Abschnitten.

HTTP-Zugriff auf Edge-SSO

Wenn Sie den HTTP-Zugriff auf Edge-SSO verwenden, konfigurieren Sie den Load-Balancer so:

  • Verwenden Sie den HTTP-Modus, um eine Verbindung zu Edge-SSO herzustellen.
  • Überwachen Sie denselben Port wie Edge SSO.

    Standardmäßig überwacht Edge SSO HTTP-Anfragen an Port 9099. Optional können Sie mit SSO_TOMCAT_PORT den Edge-SSO-Port festlegen. Wenn Sie SSO_TOMCAT_PORT verwendet haben, um den Edge-SSO-Port vom Standard zu ändern, achten Sie darauf, dass der Load-Balancer diesen Port überwacht.

Legen Sie beispielsweise bei jeder Edge-SSO-Instanz den Port auf 9033 fest, indem Sie der Konfigurationsdatei Folgendes hinzufügen:

SSO_TOMCAT_PORT=9033

Anschließend konfigurieren Sie den Load-Balancer so, dass er Port 9033 überwacht und Anfragen an eine Edge-SSO-Instanz an Port 9033 weiterleitet. Die öffentliche URL der Edge-SSO in diesem Szenario lautet:

http://LB_DNS_NAME:9033

HTTPS-Zugriff auf Edge-SSO

Sie können die Edge-SSO-Instanzen für die Verwendung von HTTPS konfigurieren. Führen Sie in diesem Szenario die Schritte unter apigee-sso für HTTPS-Zugriff konfigurieren aus. Im Rahmen der Aktivierung von HTTPS legen Sie SSO_TOMCAT_PROFILE in der Konfigurationsdatei für Edge-SSO fest, wie unten gezeigt:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Sie können auch den Port festlegen, der von Edge SSO für den HTTPS-Zugriff verwendet wird:

SSO_TOMCAT_PORT=9443

Konfigurieren Sie dann den Load-Balancer so:

  • Verwenden Sie den TCP-Modus, nicht den HTTP-Modus, um eine Verbindung zu Edge SSO herzustellen.
  • Überwachen Sie denselben Port wie Edge-SSO, wie von SSO_TOMCAT_PORT definiert.

Anschließend konfigurieren Sie den Load-Balancer so, dass Anfragen an eine Edge-SSO-Instanz an Port 9433 weitergeleitet werden. Die öffentliche URL der Edge-SSO in diesem Szenario lautet:

https://LB_DNS_NAME:9443

Installieren Sie Edge-SSO in mehreren Rechenzentren

In einer Umgebung mit mehreren Rechenzentren installieren Sie eine Edge-SSO-Instanz in jedem Rechenzentrum. Eine Edge-SSO-Instanz verarbeitet dann den gesamten Traffic. Wenn diese Edge-SSO-Instanz ausfällt, können Sie zur zweiten Edge-SSO-Instanz wechseln.

Bevor Sie Edge-SSO in zwei Rechenzentren installieren, benötigen Sie Folgendes:

  • Die IP-Adresse oder der Domainname des Master Postgres-Servers.

    In einer Umgebung mit mehreren Rechenzentren installieren Sie in der Regel einen Postgres-Server in jedem Rechenzentrum und konfigurieren sie im Master-Standby-Replikationsmodus. In diesem Beispiel enthält data center 1 den Master Postgres-Server und data center 2 den Standby. Weitere Informationen finden Sie unter Master-Standby-Replikation für Postgres einrichten.

  • Ein einzelner DNS-Eintrag, der auf eine Edge-SSO-Instanz verweist. Sie erstellen beispielsweise einen DNS-Eintrag im Formular unten, der auf die Edge-SSO-Instanz in Rechenzentrum 1 verweist:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Beide Instanzen von Edge-SSO müssen dasselbe JWT-Schlüsselpaar verwenden, das in der Konfigurationsdatei in den Attributen SSO_JWT_SIGNING_KEY_FILEPATH und SSO_JWT_VERIFICATION_KEY_FILEPATH angegeben ist. Weitere Informationen zum Festlegen dieser Eigenschaften finden Sie unter Edge-SSO installieren und konfigurieren.

Wenn Sie Edge-SSO in jedem Rechenzentrum installieren, konfigurieren Sie beide für die Verwendung des Postgres-Masters in Rechenzentrum 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

Außerdem konfigurieren Sie beide Rechenzentren so, dass der DNS-Eintrag als öffentlich zugängliche URL verwendet wird:

# Externally accessible URL of Edge SSO
SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com
# Default port is 9099.
SSO_PUBLIC_URL_PORT=9099

Wenn Edge-SSO in Rechenzentrum 1 ausfällt, können Sie dann zur Edge-SSO-Instanz in Rechenzentrum 2 wechseln:

  1. Konvertieren Sie den Postgres-Standby-Server im Rechenzentrum 2 in einen Master, wie unter Umgang mit einem PostgreSQL-Datenbank-Failover beschrieben.
  2. Aktualisieren Sie den DNS-Eintrag, um my-sso.domain.com auf die Edge-SSO-Instanz in Rechenzentrum 2 zu verweisen:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Aktualisieren Sie die Konfigurationsdatei für Edge-SSO in Rechenzentrum 2, um auf den neuen Postgres-Master-Server in Rechenzentrum 2 zu verweisen:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Starten Sie Edge-SSO im Rechenzentrum 2 neu, um seine Konfiguration zu aktualisieren:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart