Sie installieren mehrere Instanzen von Apigee-SSO für Hochverfügbarkeit in zwei Szenarien:
- Installieren Sie in einer Umgebung mit einem einzelnen Rechenzentrum zwei Apigee-SSO-Instanzen, um eine Hochverfügbarkeitsumgebung zu erstellen. Das bedeutet, dass das System weiterhin funktioniert, 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 auf verschiedenen Knoten in einem einzelnen Rechenzentrum bereit, um Hochverfügbarkeit zu unterstützen. Für dieses Beispiel gilt:
- Beide Apigee-SSO-Instanzen müssen mit demselben Postgres-Server verbunden sein. Apigee empfiehlt, einen dedizierten Postgres-Server für Apigee-SSO 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, wie in den Attributen
SSO_JWT_SIGNING_KEY_FILEPATHundSSO_JWT_VERIFICATION_KEY_FILEPATHin der Konfigurationsdatei angegeben. Weitere Informationen zum Festlegen dieser Attribute finden Sie unter Apigee-SSO installieren und konfigurieren. - Sie benötigen einen Load Balancer vor den beiden Apigee-SSO-Instanzen:
- Der Load Balancer muss die von der Anwendung generierte Cookie-Affinität unterstützen und das Sitzungscookie muss den Namen
JSESSIONIDhaben. - Konfigurieren Sie den Load Balancer so, dass er eine TCP- oder HTTP-Systemdiagnose für Apigee-SSO durchführt. Verwenden Sie für TCP die URL von Apigee-SSO:
http_or_https://edge_sso_IP_DNS:9099
Geben Sie den Port an, der von Apigee-SSO festgelegt wurde. Port 9099 ist der Standardport.
Fügen Sie für HTTP
/healthzein:http_or_https://edge_sso_IP_DNS:9099/healthz
- Einige Load-Balancer-Einstellungen hängen davon ab, ob Sie HTTPS für Apigee-SSO aktiviert haben. Weitere Informationen finden Sie in den folgenden Abschnitten.
- Der Load Balancer muss die von der Anwendung generierte Cookie-Affinität unterstützen und das Sitzungscookie muss den Namen
HTTP-Zugriff auf Apigee-SSO
Wenn Sie HTTP-Zugriff auf Apigee-SSO verwenden, konfigurieren Sie den Load Balancer so:
- Verwenden Sie den HTTP-Modus, um eine Verbindung zu Apigee-SSO herzustellen.
Überwachen Sie denselben Port wie Apigee-SSO.
Standardmäßig überwacht Apigee-SSO HTTP-Anfragen an Port 9099. Optional können Sie mit
SSO_TOMCAT_PORTden Apigee-SSO-Port festlegen. Wenn SieSSO_TOMCAT_PORTverwendet haben, um den Apigee-SSO-Port vom Standardport zu ändern, achten Sie darauf, dass der Load Balancer diesen Port überwacht.
Beispielsweise legen Sie auf 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 von 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 wie unten dargestellt fest:
SSO_TOMCAT_PROFILE=SSL_TERMINATION
Optional können Sie auch den Port festlegen, der von Apigee-SSO für den HTTPS-Zugriff verwendet wird:
SSO_TOMCAT_PORT=9443
Konfigurieren Sie dann den Load Balancer für Folgendes:
- Verwenden Sie den TCP-Modus, nicht den HTTP-Modus, um eine Verbindung zu Apigee-SSO herzustellen.
- Überwachen Sie denselben Port wie Apigee-SSO, wie von
SSO_TOMCAT_PORTdefiniert.
Anschließend konfigurieren Sie den Load Balancer so, dass Anfragen an eine Apigee-SSO-Instanz an Port 9433 weitergeleitet werden. Die öffentliche URL von 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 Apigee-SSO in zwei Rechenzentren installieren können, 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 Rechenzentrum 1 den Master-Postgres-Server und Rechenzentrum 2 den Standby-Server. 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 im 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, wie in den Attributen
SSO_JWT_SIGNING_KEY_FILEPATHundSSO_JWT_VERIFICATION_KEY_FILEPATHin der Konfigurationsdatei angegeben. Weitere Informationen zum Festlegen dieser Attribute finden Sie unter Apigee-SSO installieren und konfigurieren.
Wenn Sie Apigee-SSO in jedem Rechenzentrum installieren, konfigurieren Sie beide so, dass der Postgres-Master in Rechenzentrum 1 verwendet wird:
## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432Auß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 Apigee-SSO in Rechenzentrum 1 ausfällt, können Sie zur Apigee-SSO-Instanz in Rechenzentrum 2 wechseln:
- Konvertieren Sie den Postgres-Standby-Server in Rechenzentrum 2 in einen Master, wie unter PostgreSQL-Datenbank-Failover verarbeiten beschrieben.
- Aktualisieren Sie den DNS-Eintrag, sodass
my-sso.domain.comauf die Apigee-SSO-Instanz in Rechenzentrum 2 verweist:my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- Aktualisieren Sie die Konfigurationsdatei für Apigee-SSO in Rechenzentrum 2, sodass sie auf den neuen Postgres-Masterserver in Rechenzentrum 2 verweist:
## Postgres configuration PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
- Starten Sie Apigee-SSO in Rechenzentrum 2 neu, um die Konfiguration zu aktualisieren:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart