Apigee-SSO für Hochverfügbarkeit installieren

Sie installieren in zwei Szenarien mehrere Instanzen von Apigee-SSO für Hochverfügbarkeit:

  • Installieren Sie in einer einzigen Rechenzentrumsumgebung zwei Apigee-SSO-Instanzen, um eine hohe Verfügbarkeitsumgebung, d. h. das System funktioniert weiter, wenn eine der Apigee-SSO Moduls sinkt.
  • Installieren Sie in einer Umgebung mit zwei Rechenzentren die Apigee-SSO in beiden Rechenzentren, damit die das System weiterhin funktioniert, wenn eines der Apigee-SSO-Module ausfällt.

Zwei Apigee-SSO-Module im selben Rechenzentrum

Sie stellen zur Unterstützung zweier Instanzen von Apigee-SSO auf verschiedenen Knoten in einem einzigen Rechenzentrum bereit. Hochverfügbarkeit. Für dieses Beispiel gilt:

  • Beide Instanzen der Apigee-SSO müssen mit demselben Postgres-Server verbunden sein. Apigee empfiehlt einen dedizierten Postgres-Server für die Apigee-SSO verwenden und nicht denselben Postgres-Server, mit Edge installiert.
  • Beide Instanzen der Apigee-SSO müssen dasselbe JWT-Schlüsselpaar verwenden, das im SSO_JWT_SIGNING_KEY_FILEPATH und SSO_JWT_VERIFICATION_KEY_FILEPATH in der Konfigurationsdatei. Siehe Apigee-SSO installieren und konfigurieren finden Sie weitere Informationen zum Festlegen dieser Eigenschaften.
  • Sie benötigen einen Load-Balancer vor den beiden Instanzen der Apigee-SSO:
    • Der Load-Balancer muss die Wiederkehrrate von anwendungsgenerierten Cookies und die Sitzung Cookie muss den Namen JSESSIONID haben.
    • Konfigurieren Sie den Load-Balancer so, dass eine TCP- oder HTTP-Systemdiagnose für die Apigee-SSO ausgeführt wird. Bei TCP: Verwenden Sie die URL der Apigee-SSO:
      http_or_https://edge_sso_IP_DNS:9099

      Geben Sie den Port wie von der Apigee-SSO festgelegt 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 in der Apigee-SSO aktiviert haben. Weitere Informationen finden Sie in der finden Sie in den folgenden Abschnitten.

HTTP-Zugriff zu Apigee-SSO

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

  • Verwenden Sie den HTTP-Modus, um eine Verbindung zur Apigee-SSO herzustellen.
  • Überwachen Sie denselben Port wie die Apigee-SSO.

    Standardmäßig wartet die Apigee-SSO auf Port 9099 auf HTTP-Anfragen. Optional können Sie SSO_TOMCAT_PORT, um den Apigee-SSO-Port festzulegen. Wenn Sie SSO_TOMCAT_PORT verwendet haben Um den Standard-SSO-Port von Apigee zu ändern, achten Sie darauf, dass der Load-Balancer diesen Port überwacht. Port.

Legen Sie beispielsweise für jede Apigee-SSO-Instanz den Port auf 9033 fest, indem Sie Folgendes zum Konfigurationsdatei:

SSO_TOMCAT_PORT=9033

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

http://LB_DNS_NAME:9033

HTTPS-Zugriff auf Apigee-SSO

Sie können die Apigee-SSO-Instanzen so konfigurieren, dass HTTPS für eine sichere Kommunikation verwendet wird. Führen Sie in diesem Szenario die Schritte in Konfigurieren Sie die Apigee-SSO für HTTPS-Zugriff. Legen Sie beim Aktivieren von HTTPS den SSO_TOMCAT_PROFILE in der Apigee-SSO-Konfigurationsdatei so fest:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Legen Sie optional den Port fest, der von der Apigee-SSO für den HTTPS-Zugriff verwendet wird:

SSO_TOMCAT_PORT=9443

Konfigurieren Sie den Load-Balancer so, dass eine ordnungsgemäße Kommunikation zwischen dem Load-Balancer und der Apigee-SSO möglich ist:

  • Verwenden Sie den TCP-Modus, nicht den HTTP-Modus, um eine Verbindung zur Apigee-SSO herzustellen. Dadurch können SSL-Verbindungen ohne Beendigung am Load-Balancer weitergeleitet werden.
  • Überwachen Sie denselben Port wie die Apigee-SSO, wie in SSO_TOMCAT_PORT definiert (z.B. 9443).
  • Anfragen an eine Apigee-SSO-Instanz am selben Port (9443) weiterleiten.

Achten Sie darauf, dass die öffentliche URL den DNS- und Porteinstellungen des Load-Balancers entspricht. Die öffentliche URL der Apigee-SSO in diesem Szenario lautet:

https://LB_DNS_NAME:9443

Apigee-SSO in mehreren Rechenzentren installieren

In einer Umgebung mit mehreren Rechenzentren installieren Sie in jedem Rechenzentrum eine Apigee-SSO-Instanz. Dann wird der gesamte Traffic von einer Apigee-SSO-Instanz verarbeitet. Wenn diese Apigee-SSO-Instanz ausfällt, können Sie zur zweiten Apigee-SSO-Instanz wechseln.

Bevor Sie die Apigee-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 normalerweise einen Postgres-Server pro Daten und im Master-Standby-Replikationsmodus konfigurieren. In diesem Beispiel werden data center 1 enthält den Master-Postgres-Server und das Rechenzentrum 2 enthält Standby. Weitere Informationen finden Sie unter Master-Standby-Replikation einrichten für Postgres

  • Ein einzelner DNS-Eintrag, der auf eine Apigee-SSO-Instanz verweist. Beispiel: Sie erstellen ein DNS Eintrag im Formular unten, der auf die Apigee SSO-Instanz im Rechenzentrum 1 verweist:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Beide Instanzen der Apigee-SSO müssen dasselbe JWT-Schlüsselpaar verwenden, wie im SSO_JWT_SIGNING_KEY_FILEPATH und SSO_JWT_VERIFICATION_KEY_FILEPATH in der Konfigurationsdatei. Siehe Apigee-SSO installieren und konfigurieren finden Sie weitere Informationen zum Festlegen dieser Eigenschaften.

Wenn Sie die Apigee-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 Apigee SSO
SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com
# Default port is 9099.
SSO_PUBLIC_URL_PORT=9099

Wenn die Apigee-SSO in Rechenzentrum 1 ausfällt, können Sie in den Daten zur Apigee-SSO-Instanz wechseln Zentrum 2:

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