Вы устанавливаете несколько экземпляров Apigee SSO для обеспечения высокой доступности в двух сценариях:
- В среде с одним центром обработки данных установите два экземпляра Apigee SSO, чтобы создать среду с высокой доступностью. Это означает, что система продолжит работать, если один из модулей Apigee SSO выйдет из строя.
- В среде с двумя центрами обработки данных установите Apigee SSO в обоих центрах, чтобы система продолжала работать, если один из модулей Apigee SSO выйдет из строя.
Установите два модуля Apigee SSO в одном центре обработки данных.
Вы развертываете два экземпляра Apigee SSO на разных узлах в одном центре обработки данных, чтобы обеспечить высокую доступность. В этом случае:
- Оба экземпляра Apigee SSO должны быть подключены к одному серверу Postgres. Apigee рекомендует использовать для Apigee SSO отдельный сервер Postgres, а не тот, который вы установили с Edge.
- Оба экземпляра Apigee SSO должны использовать одну и ту же пару ключей JWT, как указано в свойствах
SSO_JWT_SIGNING_KEY_FILEPATHиSSO_JWT_VERIFICATION_KEY_FILEPATHв файле конфигурации. Подробнее о том, как задать эти свойства, рассказывается в статье Как установить и настроить систему единого входа Apigee. - Перед двумя экземплярами Apigee SSO необходимо установить балансировщик нагрузки:
- Балансировщик нагрузки должен поддерживать привязку файлов cookie, созданных приложением, а файл cookie сеанса должен называться
JSESSIONID. - Настройте балансировщик нагрузки для выполнения проверки работоспособности TCP или HTTP в системе единого входа Apigee. Для TCP используйте URL системы единого входа Apigee:
http_or_https://edge_sso_IP_DNS:9099
Укажите порт, заданный системой единого входа Apigee. Порт по умолчанию – 9099.
Для HTTP добавьте
/healthz:http_or_https://edge_sso_IP_DNS:9099/healthz
- Некоторые настройки балансировщика нагрузки зависят от того, включили ли вы HTTPS в системе единого входа Apigee. Дополнительную информацию вы найдете в разделах ниже.
- Балансировщик нагрузки должен поддерживать привязку файлов cookie, созданных приложением, а файл cookie сеанса должен называться
Доступ по HTTP к системе единого входа Apigee
Если вы используете доступ по HTTP к системе единого входа Apigee, настройте балансировщик нагрузки следующим образом:
- Используйте режим HTTP для подключения к системе единого входа Apigee.
Прослушивайте тот же порт, что и Apigee SSO.
По умолчанию Apigee SSO прослушивает HTTP-запросы на порту 9099. При необходимости вы можете использовать
SSO_TOMCAT_PORT, чтобы задать порт системы единого входа Apigee. Если вы использовалиSSO_TOMCAT_PORT, чтобы изменить порт системы единого входа Apigee, заданный по умолчанию, убедитесь, что балансировщик нагрузки прослушивает этот порт.
Например, на каждом экземпляре Apigee SSO вы устанавливаете порт 9033, добавляя в файл конфигурации следующее:
SSO_TOMCAT_PORT=9033
Затем вы настраиваете балансировщик нагрузки на прослушивание порта 9033 и переадресацию запросов к экземпляру Edge SSO на порт 9033. Общедоступный URL системы единого входа Apigee в этом сценарии:
http://LB_DNS_NAME:9033
Доступ по HTTPS к Apigee SSO
Вы можете настроить экземпляры системы единого входа Apigee на использование HTTPS для безопасного обмена данными. В этом случае следуйте инструкциям в статье Как настроить систему единого входа Apigee для доступа по протоколу HTTPS. В рамках процесса включения HTTPS задайте значение SSO_TOMCAT_PROFILE в файле конфигурации системы единого входа Apigee, как показано ниже.
SSO_TOMCAT_PROFILE=SSL_TERMINATION
При необходимости задайте порт, используемый Apigee SSO для доступа по HTTPS:
SSO_TOMCAT_PORT=9443
Чтобы обеспечить правильный обмен данными между балансировщиком нагрузки и системой единого входа Apigee, настройте балансировщик нагрузки следующим образом:
- Для подключения к Apigee SSO используйте режим TCP, а не HTTP. Это позволяет SSL-подключениям проходить без завершения в балансировщике нагрузки.
- Прослушивайте тот же порт, что и система единого входа Apigee, как определено в
SSO_TOMCAT_PORT(например, 9443). - Перенаправлять запросы к экземпляру системы единого входа Apigee на тот же порт (9443).
Убедитесь, что общедоступный URL отражает настройки DNS и порта балансировщика нагрузки. Общедоступный URL системы единого входа Apigee в этом сценарии:
https://LB_DNS_NAME:9443
Как установить Apigee SSO в нескольких центрах обработки данных
В среде с несколькими центрами обработки данных вы устанавливаете экземпляр Apigee SSO в каждом центре обработки данных. После этого весь трафик будет обрабатываться одним экземпляром Apigee SSO. Если этот экземпляр Apigee SSO выйдет из строя, вы сможете переключиться на второй.
Прежде чем устанавливать Apigee SSO в двух центрах обработки данных, вам потребуется следующее:
IP-адрес или доменное имя основного сервера Postgres.
В среде с несколькими центрами обработки данных обычно устанавливается по одному серверу Postgres в каждом центре обработки данных и настраивается режим репликации Master-Standby. В этом примере центр обработки данных 1 содержит основной сервер Postgres, а центр обработки данных 2 – резервный. Дополнительную информацию можно найти в статье Как настроить репликацию Master-Standby для Postgres.
- Одна запись DNS, указывающая на один экземпляр системы единого входа Apigee. Например, вы создаете запись DNS в форме ниже, которая указывает на экземпляр системы единого входа Apigee в центре обработки данных 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 в центре обработки данных 2:my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- Обновите файл конфигурации для системы единого входа Apigee в центре обработки данных 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