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