고가용성을 위한 Apigee SSO 설치

다음 두 가지 시나리오에서 고가용성을 위해 Apigee SSO의 여러 인스턴스를 설치합니다.

  • 단일 데이터 센터 환경에 두 개의 Apigee SSO 인스턴스를 설치하여 높은 가용성 환경이며, 이는 Apigee SSO 중 하나에라도 시스템이 계속 작동합니다. 다운됩니다
  • 두 개의 데이터 센터가 있는 환경에서 두 데이터 센터 모두에 Apigee SSO를 설치하여 Apigee SSO 모듈 중 하나가 다운되어도 시스템은 계속 작동합니다.

2개의 Apigee SSO 모듈 설치 데이터 센터

단일 데이터 센터에서 서로 다른 노드에 Apigee SSO 인스턴스 2개를 배포하여 고가용성을 제공합니다 이 시나리오에서는 다음과 같습니다.

  • Apigee SSO의 두 인스턴스는 모두 동일한 Postgres 서버에 연결되어야 합니다. Apigee 권장사항 동일한 Postgres 서버를 사용하여 Apigee SSO 전용 Postgres 서버를 자동으로 설치됩니다
  • Apigee SSO의 두 인스턴스 모두 SSO_JWT_SIGNING_KEY_FILEPATHSSO_JWT_VERIFICATION_KEY_FILEPATH 구성 파일에 있습니다. Apigee SSO 설치 및 구성하기를 참고하세요. 참조하세요.
  • Apigee SSO의 두 인스턴스 앞에 부하 분산기가 있어야 합니다.
    • 부하 분산기는 애플리케이션에서 생성한 쿠키 고정을 지원해야 하며 세션은 쿠키의 이름은 JSESSIONID여야 합니다.
    • Apigee SSO에서 TCP 또는 HTTP 상태 점검을 수행하도록 부하 분산기를 구성합니다. TCP의 경우, Apigee SSO URL을 사용합니다.
      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로

Apigee SSO에 대한 HTTP 액세스를 사용하는 경우 다음과 같이 부하 분산기를 구성합니다.

  • HTTP 모드를 사용하여 Apigee SSO에 연결합니다.
  • Apigee SSO와 동일한 포트에서 리슨합니다.

    기본적으로 Apigee SSO는 포트 9099에서 HTTP 요청을 리슨합니다. 원하는 경우 SSO_TOMCAT_PORT: Apigee SSO 포트를 설정합니다. SSO_TOMCAT_PORT을(를) 사용한 경우 Apigee SSO 포트를 기본값에서 변경하려면 부하 분산기가 해당 포트를 리슨하는지 확인하세요. 포트

예를 들어 각 Apigee SSO 인스턴스에서 다음을 추가하여 포트를 9033으로 설정합니다. 구성 파일:

SSO_TOMCAT_PORT=9033

그런 다음 포트 9033에서 수신 대기하고 요청을 에지로 전달하도록 부하 분산기를 구성합니다. 포트 9033의 SSO 인스턴스 이 시나리오에서 Apigee SSO의 공개 URL은 다음과 같습니다.

http://LB_DNS_NAME:9033

Apigee SSO에 대한 HTTPS 액세스

안전한 통신을 위해 HTTPS를 사용하도록 Apigee SSO 인스턴스를 구성할 수 있습니다. 이 시나리오에서는 HTTPS 액세스를 위한 Apigee SSO를 구성합니다. HTTPS를 사용 설정하는 과정에서 아래와 같이 Apigee SSO 구성 파일에서 SSO_TOMCAT_PROFILE를 설정합니다.

SSO_TOMCAT_PROFILE=SSL_TERMINATION

원하는 경우 Apigee SSO에서 HTTPS 액세스에 사용하는 포트를 설정합니다.

SSO_TOMCAT_PORT=9443

부하 분산기와 Apigee SSO 간의 올바른 통신을 위해 다음과 같이 부하 분산기를 구성하세요.

  • HTTP 모드가 아닌 TCP 모드를 사용하여 Apigee SSO에 연결합니다. 이렇게 하면 SSL 연결이 부하 분산기에서 종료되지 않고 통과할 수 있습니다.
  • SSO_TOMCAT_PORT로 정의된 Apigee SSO와 동일한 포트에서 리슨합니다 (예: 9443).
  • 동일한 포트 (9443)의 Apigee SSO 인스턴스로 요청을 전달합니다.

공개 URL이 부하 분산기의 DNS 및 포트 설정을 반영하는지 확인합니다. 이 시나리오에서 Apigee SSO의 공개 URL은 다음과 같습니다.

https://LB_DNS_NAME:9443

여러 데이터 센터에 Apigee SSO 설치

멀티 데이터 센터 환경에서는 각 데이터 센터에 Apigee SSO 인스턴스를 설치합니다. 그러면 Apigee SSO 인스턴스 하나가 모든 트래픽을 처리합니다. Apigee SSO 인스턴스가 다운되면 다음 안내를 따르세요. 두 번째 Apigee SSO 인스턴스로 전환합니다

두 데이터 센터에 Apigee SSO를 설치하려면 다음이 필요합니다.

  • 마스터 Postgres 서버의 IP 주소 또는 도메인 이름입니다.

    여러 데이터 센터 환경에서는 일반적으로 각 데이터에 하나의 Postgres 서버를 설치합니다. 마스터-대기 복제 모드에서 구성해야 합니다 이 예에서 data는 center 1에는 Master Postgres 서버 및 데이터 센터가 있습니다. 2에는 Standby가 포함되어 있습니다. 자세한 내용은 다음을 위한 마스터-대기 복제 설정 Postgres

  • 하나의 Apigee SSO 인스턴스를 가리키는 단일 DNS 항목입니다. 예를 들어 DNS를 만들고 데이터 센터 1의 Apigee SSO 인스턴스를 가리키는 아래 양식에 입력되어 있습니다.
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Apigee SSO의 두 인스턴스 모두 SSO_JWT_SIGNING_KEY_FILEPATHSSO_JWT_VERIFICATION_KEY_FILEPATH 구성 파일에 있습니다. Apigee SSO 설치 및 구성하기를 참고하세요. 참조하세요.

각 데이터 센터에 Apigee SSO를 설치할 때는 둘 다 Postgres Master를 사용하도록 구성합니다. 데이터 센터 1에서:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

또한 DNS 항목을 공개적으로 액세스 가능한 URL로 사용하도록 두 데이터 센터를 구성합니다.

# 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:

  1. PostgreSQL 데이터베이스 장애 조치 처리에 설명된 대로 데이터 센터 2의 Postgres 대기 서버를 마스터로 변환합니다.
  2. my-sso.domain.com이(가) 다음의 Apigee SSO 인스턴스를 가리키도록 DNS 레코드를 업데이트하세요. 데이터 센터 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. 새 Postgres 마스터를 가리키도록 데이터 센터 2에서 Apigee SSO의 구성 파일을 업데이트하세요. 데이터 센터 2의 서버:
    ## 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