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

Edge for Private Cloud 4.19.01

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

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

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

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

  • Оба экземпляра Edge SSO должны быть подключены к одному серверу Postgres. Apigee рекомендует использовать для Edge SSO выделенный сервер 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

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

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

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

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

SSO_TOMCAT_PORT=9033

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

http://LB_DNS_NAME:9033

Доступ по HTTPS к системе единого входа Edge

Вы можете настроить экземпляры 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 используйте режим 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 в двух центрах обработки данных, вам необходимо следующее:

  • 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