私有雲 v4.19.01 的邊緣
在以下兩種情境中,您會安裝多個 Edge SSO 執行個體,以達到高可用性:
- 在單一資料中心環境中,安裝兩個 Edge SSO 執行個體來建立高可用性環境。也就是說,如果其中一個 Edge SSO 模組停止運作,系統會繼續運作。
- 在有兩個資料中心的環境中,在兩個資料中心安裝 Edge SSO。這樣一來,只要其中一個 Edge SSO 模組停止運作,系統才能繼續運作。
在同一個資料中心內安裝兩個 Edge SSO 模組
您會在單一資料中心內部署兩個不同節點的 Edge SSO 執行個體,以支援高可用性。此時:
- 兩個 Edge SSO 執行個體都必須連線至相同的 Postgres 伺服器。Apigee 建議您使用專屬的 Postgres 伺服器進行 Edge SSO,不要使用您在 Edge 安裝的 Postgres 伺服器。
- Edge SSO 執行個體都必須使用設定檔中
SSO_JWT_SIGNING_KEY_FILEPATH
和SSO_JWT_VERIFICATION_KEY_FILEPATH
屬性指定的相同 JWT 金鑰組。如要進一步瞭解如何設定這些屬性,請參閱「安裝及設定 Edge SSO」一節。 - 您必須在兩個 Edge SSO 執行個體前設定負載平衡器:
- 負載平衡器必須支援應用程式產生的 Cookie 黏著度,且工作階段 Cookie 的名稱必須為
JSESSIONID
。 - 設定負載平衡器,以便在 Edge SSO 上執行 TCP 或 HTTP 健康狀態檢查。如為 TCP,請使用 Edge SSO 網址:
http_or_https://edge_sso_IP_DNS:9099
指定 Edge SSO 設定的通訊埠。預設通訊埠 9099。
如果是 HTTP,請加入
/healthz
:http_or_https://edge_sso_IP_DNS:9099/healthz
- 部分負載平衡器設定取決於您是否在 Edge SSO 上啟用 HTTPS。詳情請參閱以下各節的說明。
- 負載平衡器必須支援應用程式產生的 Cookie 黏著度,且工作階段 Cookie 的名稱必須為
Edge SSO 的 HTTP 存取權
如果您會透過 HTTP 存取 Edge SSO,請將負載平衡器設為:
- 使用 HTTP 模式連線至 Edge SSO。
監聽與 Edge SSO 相同的通訊埠。
根據預設,Edge SSO 會監聽通訊埠 9099 的 HTTP 要求。您也可以選擇使用
SSO_TOMCAT_PORT
設定 Edge SSO 通訊埠。如果您使用SSO_TOMCAT_PORT
變更預設的 Edge SSO 通訊埠,請確認負載平衡器會監聽該通訊埠。
舉例來說,您可以在每個 Edge SSO 執行個體中新增下列指令,將通訊埠設為 9033:
SSO_TOMCAT_PORT=9033
接著,您會設定負載平衡器來監聽通訊埠 9033,並將要求轉送至通訊埠 9033 上的 Edge SSO 執行個體。在這個情境中,Edge SSO 的公開網址如下:
http://LB_DNS_NAME:9033
透過 HTTPS 存取邊緣單一登入 (SSO) 服務
您可以將 Edge SSO 執行個體設為使用 HTTPS。在這個情境中,請按照為 HTTPS 存取權設定 apigee-sso 的步驟操作。在啟用 HTTPS 的程序中,您需要在 Edge SSO 設定檔中設定 SSO_TOMCAT_PROFILE
,如下所示:
SSO_TOMCAT_PROFILE=SSL_TERMINATION
您也可以視需要設定 Edge SSO 用來存取 HTTPS 的通訊埠:
SSO_TOMCAT_PORT=9443
接著將負載平衡器設為:
- 使用 TCP 模式 (而非 HTTP 模式) 連線至 Edge SSO。
- 請監聽
SSO_TOMCAT_PORT
定義的 Edge SSO 通訊埠。
接著設定負載平衡器,將要求轉送至通訊埠 9433 的 Edge SSO 執行個體。在這個情境中,Edge SSO 的公開網址如下:
https://LB_DNS_NAME:9443
在多個資料中心安裝 Edge SSO
您也可以在多個資料中心環境中安裝 Edge SSO 執行個體。接著,一個 Edge SSO 執行個體會處理所有流量。如果 Edge SSO 執行個體停止運作,您可以切換至第二個 Edge SSO 執行個體。
在兩個資料中心安裝 Edge SSO 前,您必須具備下列項目:
Master Postgres 伺服器的 IP 位址或網域名稱。
在多個資料中心環境中,您通常會在每個資料中心內安裝一個 Postgres 伺服器,並在主要待命複製模式下進行設定。在這個範例中,「資料中心 1」包含「主要」Postgres 伺服器,而「資料中心 2」包含「待命」。詳情請參閱設定 Postgres 的主要待命複製功能一文。
- 指向一個 Edge SSO 執行個體的單一 DNS 項目。舉例來說,您在以下表單中建立 DNS 項目,指向資料中心 1 中的 Edge SSO 執行個體:
my-sso.domain.com => apigee-sso-dc1-ip-or-lb
- Edge SSO 執行個體都必須使用設定檔中
SSO_JWT_SIGNING_KEY_FILEPATH
和SSO_JWT_VERIFICATION_KEY_FILEPATH
屬性指定的相同 JWT 金鑰組。如要進一步瞭解如何設定這些屬性,請參閱「安裝及設定 Edge SSO」一節。
在每個資料中心安裝 Edge SSO 時,您必須將兩者設為使用資料中心 1 中的 Postgres Master:
## Postgres configuration PG_HOST=IP_or_DNS_of_PG_Master_in_DC1 PG_PORT=5432
您也會將兩個資料中心設為使用 DNS 項目做為可公開存取的網址:
# Externally accessible URL of Edge SSO SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com # Default port is 9099. SSO_PUBLIC_URL_PORT=9099
如果資料中心 1 中的 Edge SSO 服務停止運作,您可以在資料中心 2 中切換至 Edge SSO 執行個體:
- 按照處理 PostgreSQL 資料庫容錯移轉中的說明,將資料中心 2 中的 Postgres 待命伺服器轉換為 Master。
- 更新 DNS 記錄,將
my-sso.domain.com
指向資料中心 2 中的 Edge SSO 執行個體:my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- 更新資料中心 2 中 Edge SSO 的設定檔,以指向資料中心 2 中的新 Postgres 主伺服器:
## Postgres configuration PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
- 重新啟動資料中心 2 中的 Edge SSO 以更新設定:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart