Apigee-SSO für Hochverfügbarkeit installieren

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

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

Zwei Apigee-SSO-Module im selben Rechenzentrum installieren

Sie stellen zwei Instanzen von Apigee SSO in einem Rechenzentrum auf verschiedenen Knoten bereit, um Hochverfügbarkeit zu unterstützen. 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 Einmalanmeldung (SSO) von Apigee zu verwenden und nicht denselben Postgres-Server, den Sie mit Edge installiert haben.
  • Beide Instanzen von Apigee 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 Attribute finden Sie unter Apigee SSO installieren und konfigurieren.
  • Sie benötigen einen Load-Balancer vor den beiden Instanzen der Apigee-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 so, dass er eine TCP- oder HTTP-Systemdiagnose für Apigee-SSO ausführt. Verwenden Sie für TCP die URL der Apigee-SSO:
      http_or_https://edge_sso_IP_DNS:9099

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

HTTP-Zugriff auf Apigee SSO

Wenn Sie den 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.
  • Über denselben Port wie Apigee SSO beobachten.

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

Legen Sie beispielsweise bei jeder Apigee-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 Apigee-SSO in diesem Szenario lautet:

http://LB_DNS_NAME:9033

HTTPS-Zugriff auf Apigee SSO

Sie können die Apigee 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 Apigee SSO-Konfigurationsdatei fest, wie unten gezeigt:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Optional können Sie auch den Port festlegen, der von der Apigee 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 zur Apigee-SSO herzustellen.
  • Überwachen Sie denselben Port wie die Apigee-SSO, wie von SSO_TOMCAT_PORT definiert.

Anschließend konfigurieren Sie den Load-Balancer so, dass Anfragen an eine Apigee-SSO-Instanz an Port 9433 weitergeleitet werden. 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. Eine Apigee-SSO-Instanz verarbeitet dann den gesamten Traffic. Wenn diese Apigee SSO-Instanz ausfällt, können Sie zur zweiten Apigee SSO-Instanz wechseln.

Bevor Sie die Einmalanmeldung (SSO) von Apigee 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 Apigee-SSO-Instanz verweist. Sie erstellen beispielsweise einen DNS-Eintrag im folgenden Formular, der auf die Apigee-SSO-Instanz in Rechenzentrum 1 verweist:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Beide Instanzen von Apigee 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 Attribute finden Sie unter Apigee SSO installieren und konfigurieren.

Wenn Sie die Einmalanmeldung von Apigee 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 zur Apigee 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 Apigee-SSO-Instanz in Rechenzentrum 2 zu verweisen:
    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-Server in Rechenzentrum 2 verweist:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Starten Sie Apigee SSO im Rechenzentrum 2 neu, um seine Konfiguration zu aktualisieren:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart