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

Edge for Private Cloud версии 4.17.09

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

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

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

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

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

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

SSO_TOMCAT_PROFILE=SSL_TERMINATION 

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

SSO_TOMCAT_PORT=9443

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

  • Для подключения к системе единого входа 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 в каждом центре обработки данных вы настраиваете оба для использования 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:

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