安裝 Apigee 單一登入 (SSO) 以達成高可用性

您會在下列兩種情況下安裝多個 Apigee SSO 例項,以便提供高可用性:

  • 在單一資料中心環境中安裝兩個 Apigee 單一登入 (SSO) 執行個體,以建立高 可用性環境,意味著即使使用 Apigee 單一登入 (SSO) 服務,系統仍會繼續運作 這些模組也會跟著下降
  • 在有兩個資料中心的環境中,請在兩個資料中心中安裝 Apigee SSO,這樣一來,如果其中一個 Apigee SSO 模組發生故障,系統仍可繼續運作。

在同一模組中安裝兩個 Apigee 單一登入 (SSO) 模組 資料中心

您在單一資料中心的不同節點上部署兩個 Apigee SSO 例項,以支援高可用性。此時:

  • 兩個 Apigee SSO 例項都必須連線至相同的 Postgres 伺服器。Apigee 推薦 使用專門用於 Apigee 單一登入 (SSO) 服務的專屬 Postgres 伺服器,而不是您的 Postgres 伺服器 。
  • 兩個 Apigee SSO 執行個體都必須使用相同的 JWT 金鑰組,如設定檔中的 SSO_JWT_SIGNING_KEY_FILEPATHSSO_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。詳情請參閱 以下章節取得更多資訊

HTTP 存取 至 Apigee 單一登入 (SSO)

如果您使用 HTTP 存取 Apigee SSO,請將負載平衡器設定為:

  • 使用 HTTP 模式連線至 Apigee 單一登入服務。
  • 監聽 Apigee SSO 使用的相同通訊埠。

    根據預設,Apigee 單一登入 (SSO) 會監聽通訊埠 9099 的 HTTP 要求。您也可以使用 SSO_TOMCAT_PORT 設定 Apigee SSO 通訊埠。如果您使用 SSO_TOMCAT_PORT 將 Apigee SSO 通訊埠從預設值變更,請確認負載平衡器會在該通訊埠上聆聽。

舉例來說,您可以在每個 Apigee SSO 例項上將連接埠設為 9033,方法是在設定檔中新增下列內容:

SSO_TOMCAT_PORT=9033

接著設定負載平衡器來監聽通訊埠 9033,並將要求轉送至 Edge 通訊埠 9033 的單一登入 (SSO) 執行個體。在這種情況下,Apigee 單一登入 (SSO) 的公開網址如下:

http://LB_DNS_NAME:9033

存取 Apigee 單一登入 (SSO) 的 HTTPS 存取權

您可以將 Apigee 單一登入 (SSO) 執行個體設為使用 HTTPS。在這種情況下,請按照「為 HTTPS 存取權設定 Apigee SSO」中的步驟操作。阿斯 啟用 HTTPS 的過程中,您必須在 Apigee 單一登入 (SSO) 中設定 SSO_TOMCAT_PROFILE 設定檔,如下所示:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

您也可以選擇設定 Apigee 單一登入 (SSO) 用來存取 HTTPS 的通訊埠:

SSO_TOMCAT_PORT=9443

接著設定負載平衡器,以執行下列操作:

  • 使用 TCP 模式 (而非 HTTP 模式) 連線至 Apigee 單一登入 (SSO)。
  • 監聽 SSO_TOMCAT_PORT 定義的 Apigee SSO 所使用的通訊埠。

接下來,請設定負載平衡器,將要求轉送至通訊埠 9433 上的 Apigee 單一登入 (SSO) 執行個體。 在這種情況下,Apigee SSO 的公開網址為:

https://LB_DNS_NAME:9443

在多個資料中心安裝 Apigee SSO

在多個資料中心環境中,您必須在各個資料中心安裝 Apigee 單一登入 (SSO) 執行個體。 然後由一個 Apigee SSO 執行個體處理所有流量。如果該 Apigee SSO 執行個體發生故障,您可以切換至第二個 Apigee SSO 執行個體。

在兩個資料中心安裝 Apigee SSO 之前,您需要:

  • 主 Postgres 伺服器的 IP 位址或網域名稱。

    在多個資料中心環境中,每項資料通常只會安裝一個 Postgres 伺服器 並以主要執行個體待命複製模式加以設定在這個範例中,資料中心 1 包含 Master Postgres 伺服器,而資料中心 2 則包含待命。詳情請參閱「設定主待命: Postgres

  • 指向一個 Apigee 單一登入 (SSO) 執行個體的單一 DNS 項目。例如,您可以建立 DNS 項目,指向資料中心 1 中的 Apigee 單一登入 (SSO) 執行個體:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • 兩個 Apigee SSO 執行個體都必須使用相同的 JWT 金鑰組,也就是設定檔中 SSO_JWT_SIGNING_KEY_FILEPATHSSO_JWT_VERIFICATION_KEY_FILEPATH 屬性所指定的金鑰組。請參閱安裝及設定 Apigee 單一登入 (SSO)。 ,進一步瞭解如何設定這些屬性。

在每個資料中心安裝 Apigee SSO 時,請將兩者都設為使用資料中心 1 中的 Postgres 主機:

## 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 服務發生故障,您可以切換至資料中心 2 的 Apigee SSO 執行個體:

  1. 按照處理 PostgreSQL 資料庫容錯移轉的說明,將資料中心 2 中的 Postgres 待命伺服器轉換為主要執行個體。
  2. 更新 DNS 記錄,將 my-sso.domain.com 指向資料中心 2 中的 Apigee SSO 例項:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. 更新資料中心 2 中 Apigee SSO 的設定檔,指向資料中心 2 中的新 Postgres 主伺服器:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. 重新啟動資料中心 2 中的 Apigee SSO,以更新其設定:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart