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