高可用性のために Edge SSO をインストールする

Edge for Private Cloud v4.19.01

高可用性を実現するために、次の 2 つのシナリオで Edge SSO のインスタンスを複数インストールします。

  • 単一のデータセンター環境に 2 つの Edge SSO インスタンスをインストールして、 つまり、いずれかの Edge SSO 環境の 停止します。
  • データセンターが 2 つある環境では、両方のデータセンターに Edge SSO をインストールして、 いずれかの Edge SSO モジュールが停止しても、システムは動作を継続します。

同じ環境に 2 つの Edge SSO モジュールをインストールする データセンター

単一のデータセンターの異なるノードに Edge SSO の 2 つのインスタンスをデプロイして、 高可用性を実現できます。次のようになります。

  • Edge SSO の両方のインスタンスが同じ Postgres サーバーに接続されている必要があります。Apigee の推奨事項 使用しているものと同じ Postgres サーバーではなく、Edge SSO に専用の Postgres サーバーを使用する インストールされています。
  • Edge SSO の両方のインスタンスでは、 SSO_JWT_SIGNING_KEY_FILEPATH および SSO_JWT_VERIFICATION_KEY_FILEPATH プロパティを宣言します。Edge SSO をインストールして構成するをご覧ください。 ご覧ください
  • Edge SSO の 2 つのインスタンスの前にロードバランサを配置する必要があります。 <ph type="x-smartling-placeholder">
      </ph>
    • ロードバランサはアプリケーションで生成された Cookie の固定をサポートする必要があります。また、セッションは Cookie の名前は JSESSIONID にする必要があります。
    • Edge SSO で TCP または HTTP のヘルスチェックを実行するようにロードバランサを構成します。TCP の場合、 Edge SSO の URL を使用します。
      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 が有効かどうかによって異なります。詳しくは、 以下のセクションをご覧ください。

HTTP アクセス Edge SSO へ

Edge SSO への HTTP アクセスを使用している場合は、次のようにロードバランサを構成します。

  • HTTP モードを使用して Edge SSO に接続します。
  • Edge SSO と同じポートでリッスンします。

    デフォルトでは、Edge SSO はポート 9099 で HTTP リクエストをリッスンします。必要に応じて、 SSO_TOMCAT_PORT: Edge SSO ポートを設定します。SSO_TOMCAT_PORT を使用した場合 変更する場合は、ロードバランサがそのポートでリッスンしていることを確認します。 ポートです。

たとえば、各 Edge SSO インスタンスで、ポートを 9033 に設定します。 config ファイル:

SSO_TOMCAT_PORT=9033

次に、ポート 9033 をリッスンしてリクエストを Edge に転送するようにロードバランサを構成します。 SSO インスタンスをポート 9033 で接続します。このシナリオでの Edge SSO の公開 URL は次のとおりです。

http://LB_DNS_NAME:9033

HTTPS アクセス Edge SSO へ

HTTPS を使用するように Edge SSO インスタンスを構成できます。このシナリオでは、 HTTPS アクセス用に apigee-sso を構成します。として HTTPS を有効にするプロセスの一環として、Edge SSO で SSO_TOMCAT_PROFILE を設定します。 次のように指定します。

SSO_TOMCAT_PROFILE=SSL_TERMINATION

HTTPS アクセス用に Edge SSO で使用するポートを設定することもできます。

SSO_TOMCAT_PORT=9443

次に、ロードバランサを次のように構成します。

  • HTTP モードではなく TCP モードを使用して Edge SSO に接続します。
  • SSO_TOMCAT_PORT で定義されている Edge SSO と同じポートでリッスンします。

次に、ポート 9433 でリクエストを Edge SSO インスタンスに転送するようにロードバランサを構成します。 このシナリオでの Edge SSO の公開 URL は次のとおりです。

https://LB_DNS_NAME:9443

複数のデータセンターに Edge SSO をインストールする

複数のデータセンターがある環境では、各データセンターに Edge SSO インスタンスをインストールします。 その後、1 つの Edge SSO インスタンスがすべてのトラフィックを処理します。その Edge SSO インスタンスがダウンした場合でも、 切り替えます。

2 つのデータセンターに Edge SSO をインストールする前に、次のものが必要です。

  • マスター Postgres サーバーの IP アドレスまたはドメイン名。

    複数のデータセンター環境では、通常、データごとに 1 台の Postgres サーバーをインストールします。 マスター / スタンバイ レプリケーション モードで構成できます。この例では、データ center 1 には、マスター Postgres サーバーとデータセンターが含まれます 2 には、スタンバイが含まれています。詳細については、マスター / スタンバイ レプリケーションを設定する Postgres

  • 1 つの Edge SSO インスタンスを参照する単一の DNS エントリ。たとえば、1 つの DNS ドメインに エントリを次のように作成します。
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Edge SSO の両方のインスタンスでは、 SSO_JWT_SIGNING_KEY_FILEPATH および SSO_JWT_VERIFICATION_KEY_FILEPATH プロパティを宣言します。Edge SSO をインストールして構成するをご覧ください。 ご覧ください

各データセンターに Edge SSO をインストールするときに、Postgres マスターを使用するように両方のデータセンターを構成します。 データセンター 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

また、DNS エントリを一般公開 URL として使用するように、両方のデータセンターを構成します。

# 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 がダウンしたら、Data Center のエッジ SSO インスタンスに切り替えることができます。 center 2:

  1. PostgreSQL データベースのフェイルオーバーの処理の説明に沿って、データセンター 2 の Postgres スタンバイ サーバーをマスターに変換します。
  2. my-sso.domain.com が次の Edge SSO インスタンスを参照するように DNS レコードを更新します。 データセンター 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. 新しい Postgres マスターを参照するようにデータセンター 2 の Edge SSO の構成ファイルを更新する データセンター 2 のサーバーです。
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. データセンター 2 の Edge SSO を再起動して、構成を更新します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart