Установите Apigee SSO для высокой доступности

Вы устанавливаете несколько экземпляров Apigee SSO для обеспечения высокой доступности в двух сценариях:

  • В среде одного центра обработки данных установите два экземпляра Apigee SSO, чтобы создать среду высокой доступности. Это означает, что система продолжит работать, если один из модулей Apigee SSO выйдет из строя.
  • В среде с двумя центрами обработки данных установите Apigee SSO в обоих центрах обработки данных, чтобы система продолжала работать, если один из модулей Apigee SSO выйдет из строя.

Установите два модуля Apigee SSO в одном дата-центре.

Вы развертываете два экземпляра Apigee SSO на разных узлах в одном центре обработки данных для обеспечения высокой доступности. В этом сценарии:

  • Оба экземпляра Apigee SSO должны быть подключены к одному и тому же серверу Postgres. Apigee рекомендует использовать выделенный сервер Postgres для единого входа Apigee, а не тот же сервер Postgres, который вы установили с Edge.
  • Оба экземпляра Apigee SSO должны использовать одну и ту же пару ключей JWT, указанную в свойствах SSO_JWT_SIGNING_KEY_FILEPATH и SSO_JWT_VERIFICATION_KEY_FILEPATH в файле конфигурации. Дополнительные сведения о настройке этих свойств см. в разделе Установка и настройка единого входа Apigee .
  • Вам потребуется балансировщик нагрузки перед двумя экземплярами Apigee SSO:
    • Балансировщик нагрузки должен поддерживать сохранение файлов cookie, созданных приложением, а файл cookie сеанса должен иметь имя JSESSIONID .
    • Настройте балансировщик нагрузки для выполнения проверки работоспособности TCP или HTTP в Apigee SSO. Для TCP используйте URL-адрес Apigee SSO:
      http_or_https://edge_sso_IP_DNS:9099

      Укажите порт, установленный Apigee SSO. Порт 9099 используется по умолчанию.

      Для HTTP включите /healthz :

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Некоторые настройки балансировщика нагрузки зависят от того, включили ли вы HTTPS в Apigee SSO. Дополнительные сведения см. в следующих разделах.

HTTP-доступ к Apigee SSO

Если вы используете HTTP-доступ к Apigee SSO, настройте балансировщик нагрузки следующим образом:

  • Используйте режим HTTP для подключения к Apigee SSO.
  • Слушайте тот же порт, что и Apigee SSO.

    По умолчанию Apigee SSO прослушивает HTTP-запросы на порту 9099. При желании вы можете использовать SSO_TOMCAT_PORT для установки порта Apigee SSO. Если вы использовали SSO_TOMCAT_PORT для изменения порта Apigee SSO по умолчанию, убедитесь, что балансировщик нагрузки прослушивает этот порт.

Например, для каждого экземпляра Apigee SSO вы устанавливаете порт 9033, добавляя в файл конфигурации следующее:

SSO_TOMCAT_PORT=9033

Затем вы настраиваете балансировщик нагрузки для прослушивания порта 9033 и пересылки запросов на экземпляр Edge SSO на порту 9033. Общедоступный URL-адрес Apigee SSO в этом сценарии:

http://LB_DNS_NAME:9033

HTTPS-доступ к Apigee SSO

Вы можете настроить экземпляры Apigee SSO для использования HTTPS. В этом сценарии выполните действия, описанные в разделе Настройка единого входа Apigee для доступа по HTTPS . В процессе включения HTTPS вы устанавливаете SSO_TOMCAT_PROFILE в файле конфигурации Apigee SSO, как показано ниже:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Вы также можете дополнительно установить порт, используемый Apigee SSO для доступа по HTTPS:

SSO_TOMCAT_PORT=9443

Затем настройте балансировщик нагрузки следующим образом:

  • Для подключения к Apigee SSO используйте режим TCP, а не режим HTTP.
  • Прослушивайте тот же порт, что и Apigee SSO, как определено SSO_TOMCAT_PORT .

Затем вы настраиваете балансировщик нагрузки для пересылки запросов на экземпляр Apigee SSO через порт 9433. Общедоступный URL-адрес Apigee SSO в этом сценарии:

https://LB_DNS_NAME:9443

Установите Apigee SSO в нескольких центрах обработки данных.

В среде с несколькими центрами обработки данных вы устанавливаете экземпляр Apigee SSO в каждом центре обработки данных. Затем один экземпляр Apigee SSO обрабатывает весь трафик. Если этот экземпляр Apigee SSO выйдет из строя, вы можете переключиться на второй экземпляр Apigee SSO.

Прежде чем установить Apigee SSO в двух центрах обработки данных, вам необходимо следующее:

  • IP-адрес или доменное имя главного сервера Postgres.

    В среде с несколькими центрами обработки данных вы обычно устанавливаете один сервер Postgres в каждом центре обработки данных и настраиваете их в режиме репликации Master-Standby. В этом примере центр обработки данных 1 содержит главный сервер Postgres, а центр обработки данных 2резервный . Дополнительные сведения см. в разделе Настройка репликации Master-Standby для Postgres .

  • Одна запись DNS, указывающая на один экземпляр Apigee SSO. Например, вы создаете запись DNS в форме ниже, которая указывает на экземпляр Apigee SSO в центре обработки данных 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • Оба экземпляра Apigee SSO должны использовать одну и ту же пару ключей JWT, указанную в свойствах SSO_JWT_SIGNING_KEY_FILEPATH и SSO_JWT_VERIFICATION_KEY_FILEPATH в файле конфигурации. Дополнительные сведения о настройке этих свойств см. в разделе Установка и настройка единого входа Apigee .

Когда вы устанавливаете 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

Если единый вход Apigee в центре обработки данных 1 отключится, вы можете переключиться на экземпляр единого входа Apigee в центре обработки данных 2:

  1. Преобразуйте резервный сервер Postgres в центре обработки данных 2 в главный, как описано в разделе Обработка отказа базы данных PostgreSQL .
  2. Обновите запись DNS, чтобы указать my-sso.domain.com на экземпляр Apigee SSO в центре обработки данных 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Обновите файл конфигурации для Apigee SSO в центре обработки данных 2, чтобы он указывал на новый главный сервер Postgres в центре обработки данных 2:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Перезапустите Apigee SSO в дата-центре 2, чтобы обновить его конфигурацию:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart