고가용성을 위해 Edge SSO 설치

Private Cloud용 Edge v4.19.01

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

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

동일한 기기에 Edge SSO 모듈 두 개 설치 데이터 센터

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

  • Edge SSO의 두 인스턴스는 모두 동일한 Postgres 서버에 연결되어야 합니다. Apigee 권장사항 동일한 Postgres 서버가 아닌 Edge SSO 전용 Postgres 서버를 자동으로 설치됩니다
  • 두 Edge SSO 인스턴스 모두 SSO_JWT_SIGNING_KEY_FILEPATHSSO_JWT_VERIFICATION_KEY_FILEPATH 구성 파일에 있습니다. Edge SSO 설치 및 구성하기를 참고하세요. 참조하세요.
  • Edge SSO의 두 인스턴스 앞에 부하 분산기가 필요합니다. <ph type="x-smartling-placeholder">
      </ph>
    • 부하 분산기는 애플리케이션에서 생성한 쿠키 고정을 지원해야 하며 세션은 쿠키의 이름은 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 포트를 기본값에서 변경하려면 부하 분산기가 해당 포트를 리슨하는지 확인합니다. 포트

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

SSO_TOMCAT_PORT=9033

그런 다음 포트 9033에서 수신 대기하고 요청을 에지로 전달하도록 부하 분산기를 구성합니다. 포트 9033의 SSO 인스턴스 이 시나리오에서 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

필요한 경우 Edge SSO에서 HTTPS 액세스에 사용하는 포트를 설정할 수도 있습니다.

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 인스턴스를 설치합니다. 그러면 One Edge SSO 인스턴스가 모든 트래픽을 처리합니다. Edge SSO 인스턴스가 다운되면 두 번째 Edge SSO 인스턴스로 전환합니다

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

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

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

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

각 데이터 센터에 Edge 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 Edge SSO
SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com
# Default port is 9099.
SSO_PUBLIC_URL_PORT=9099

데이터 센터 1의 Edge SSO가 다운되면 데이터의 Edge SSO 인스턴스로 전환할 수 있습니다. 센터 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