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

Edge для частного облака v4.19.01

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

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

Установите два модуля Edge SSO в одном центре обработки данных.

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

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

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

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

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

HTTP-доступ к Edge SSO

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

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

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

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

SSO_TOMCAT_PORT=9033

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

http://LB_DNS_NAME:9033

HTTPS-доступ к Edge SSO

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

SSO_TOMCAT_PROFILE=SSL_TERMINATION

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

SSO_TOMCAT_PORT=9443

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

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

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

https://LB_DNS_NAME:9443

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

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

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

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

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

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

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

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