Como instalar o SSO de borda para alta disponibilidade

Edge para nuvem privada v4.18.05

Você instala várias instâncias do Edge SSO para alta disponibilidade em dois cenários:

  • Em um único ambiente de data center, instale duas instâncias do Edge SSO para criar um ambiente de disponibilidade, ou seja, o sistema continuará funcionando se um dos módulos ficam inativos.
  • Em um ambiente com dois data centers, instalar o Edge SSO em ambos os data centers o sistema continuará funcionando se um dos módulos de SSO do Edge ficar inativo.

Instale dois módulos de SSO do Edge no mesmo data center

Você implanta duas instâncias do Edge SSO em nós diferentes em um único data center para possibilitar alta disponibilidade. Nesse caso:

  • As duas instâncias do SSO de Borda precisam estar conectadas ao mesmo servidor Postgres. A Apigee recomenda usar um servidor Postgres dedicado para SSO de borda e não usar o mesmo servidor Postgres que você instalado com o Edge.
  • É necessário um balanceador de carga na frente das duas instâncias do Edge SSO:
    • O balanceador de carga precisa oferecer suporte à adesão do cookie gerada pelo aplicativo, e a sessão cookie precisa ser nomeado como JSESSIONID.
    • Configure o balanceador de carga para executar uma verificação de integridade TCP ou HTTP no SSO de Borda. Para TCP, use o URL do SSO de Borda:
      http_or_https://edge_sso_IP_DNS:9099

      Especifique a porta conforme definido pelo SSO de Borda. A porta 9099 é o padrão.

      Para HTTP, inclua /healthz:

      http_or_https://edge_sso_IP_DNS:9099/healthz
    • Algumas configurações do balanceador de carga dependem da ativação do HTTPS no SSO do Edge. Consulte a nas seções a seguir.

Como usar o acesso HTTP SSO de borda

Se você estiver usando o acesso HTTP ao SSO de Edge, configure o balanceador de carga para:

  • Usar o modo HTTP para se conectar ao Edge SSO
  • Detecte na mesma porta do SSO do Edge

    Por padrão, o SSO do Edge detecta solicitações HTTP na porta 9099. Opcionalmente, você pode usar SSO_TOMCAT_PORT para definir a porta SSO do Edge. Se você usou SSO_TOMCAT_PORT Para alterar a porta SSO do Edge para o padrão, verifique se o balanceador de carga atende a porta

Por exemplo, em cada instância do Edge SSO, você define a porta como 9033 adicionando o seguinte ao arquivo de configuração:

SSO_TOMCAT_PORT=9033

Depois, configure o balanceador de carga para detectar na porta 9033 e encaminhar solicitações para um perímetro instância de SSO na porta 9033. O URL público do SSO de Borda nesse cenário é:

http://LB_DNS_NAME:9033

Como usar o acesso HTTPS SSO de borda

É possível configurar as instâncias do Edge SSO para usar HTTPS. Nesse caso, siga as etapas em Configure a Apigee-sso para acesso HTTPS. Conforme como parte do processo de ativação do HTTPS, é necessário definir SSO_TOMCAT_PROFILE no SSO do Edge, de configuração do Terraform, conforme mostrado abaixo:

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Também é possível definir a porta usada pelo SSO de Borda para acesso HTTPS:

SSO_TOMCAT_PORT=9443

Se você estiver usando o acesso HTTPS ao SSO de Edge, configure o balanceador de carga para:

  • Usar o modo TCP, não o modo HTTP, para se conectar ao Edge SSO
  • Detecte na mesma porta que o SSO do Edge, conforme definido por SSO_TOMCAT_PORT

Depois você vai configurar o balanceador de carga para encaminhar solicitações a uma instância do Edge SSO na porta 9433. O URL público do SSO de Borda nesse cenário é:

https://LB_DNS_NAME:9443

Instalar o SSO do Edge em vários data centers

Em um ambiente com vários data centers, você instala uma instância do Edge SSO em cada um deles. Depois, uma instância do Edge SSO processa todo o tráfego. Se essa instância do SSO do Edge ficar inativa, você poderá mude para a segunda instância do Edge SSO.

Antes de instalar o SSO do Edge em dois data centers, você precisa do seguinte:

  • O endereço IP ou nome de domínio do servidor Master Postgres.

    Em um ambiente com vários data centers, normalmente é instalado um servidor Postgres em cada um e configurá-las no modo de replicação mestre-em espera. Para este exemplo, data center 1 contém o servidor Master Postgres e o data center 2 contém o modo Standby. Para mais informações, consulte Configurar replicação mestre em espera para Postgres.

  • Uma única entrada DNS que aponta para uma instância do Edge SSO. Por exemplo, você cria um objeto DNS entrada no formulário abaixo que aponta para a instância do Edge SSO no data center 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb

Ao instalar o SSO do Edge em cada data center, você configura os dois para usar o Postgres Master no data center 1:

## Postgres configuration
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
PG_PORT=5432

Você também vai configurar ambos para usar a entrada DNS como o URL acessível publicamente:

# Externally accessible URL of Edge SSO
SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com
# Default port is 9099.
SSO_PUBLIC_URL_PORT=9099

Se o SSO de Edge no data center 1 ficar inativo, você poderá alternar para a instância do SSO do Edge nos dados centro 2:

  1. Converta o servidor Postgres em espera no data center 2 em mestre, conforme descrito em Como lidar com um failover de banco de dados PostgreSQL.
  2. Atualize o registro DNS para apontar my-sso.domain.com para a instância do SSO do Edge em data center 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Atualize o arquivo de configuração do SSO do Edge no data center 2 para apontar para o novo Postgres Master servidor no data center 2:
    ## Postgres configuration
    PG_HOST=IP_or_DNS_of_PG_Master_in_DC2
  4. Reinicie o SSO de Edge no data center 2 para atualizar a configuração:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart