Como instalar o SSO de borda para alta disponibilidade

Edge para nuvem privada v. 4.17.09

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

  • Em um único ambiente de data center, instale duas instâncias de SSO do Edge para criar um ambiente de alta disponibilidade, o que significa que o sistema continuará funcionando se um dos módulos de SSO do Edge ficar inativo.
  • Em um ambiente com dois data centers, instale o SSO do Edge em ambos para que o sistema continue funcionando se um dos módulos do SSO do Edge falhar.

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

Implante duas instâncias do SSO do Edge em nós diferentes em um único data center para oferecer suporte à alta disponibilidade. Nesse caso:

  • As duas instâncias do SSO do Edge precisam estar conectadas ao mesmo servidor Postgres. A Apigee recomenda usar um servidor Postgres dedicado para o SSO do Edge e não usar o mesmo servidor Postgres que você instalou com o Edge.
  • Você precisa de um balanceador de carga na frente das duas instâncias do SSO do Edge:
    • O balanceador de carga precisa ser compatível com a fixação de cookies gerados pelo aplicativo, e o cookie de sessão precisa ser chamado de JSESSIONID.
    • Configure o balanceador de carga para realizar uma verificação de integridade de TCP ou HTTP no SSO do Edge. Para TCP, use o URL do SSO do Edge:

      http_or_https://edge_sso_IP_DNS:9099

      Especifique a porta definida pelo SSO do Edge. 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 de você ter ativado o HTTPS no SSO do Edge. Consulte as seções a seguir para mais informações.

Como usar o acesso HTTP ao SSO do Edge

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

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

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

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

SSO_TOMCAT_PORT=9033

Em seguida, configure o balanceador de carga para detectar na porta 9033 e encaminhar solicitações para uma instância de SSO do Edge na porta 9033. O URL público do SSO do Edge neste cenário é:

http://LB_DNS_NAME:9033

Como usar o acesso HTTPS ao SSO do Edge

É possível configurar as instâncias de SSO do Edge para usar HTTPS. Nesse cenário, siga as etapas em Configurar o apigee-sso para acesso HTTPS. Como parte do processo de ativação do HTTPS, defina SSO_TOMCAT_PROFILE no arquivo de configuração do SSO do Edge, conforme mostrado abaixo:

SSO_TOMCAT_PROFILE=SSL_TERMINATION 

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

SSO_TOMCAT_PORT=9443

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

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

Em seguida, configure o balanceador de carga para encaminhar solicitações para uma instância de SSO do Edge na porta 9433. O URL público do SSO do Edge neste cenário é:

https://LB_DNS_NAME:9443

Instalar o SSO do Edge em vários data centers

Em um ambiente de vários data centers, você instala uma instância de SSO do Edge em cada data center. Uma instância de SSO do Edge processa todo o tráfego. Se essa instância do SSO do Edge ficar inativa, será possível alternar para a segunda instância do SSO do Edge.

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

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

    Em um ambiente de vários data centers, normalmente você instala um servidor do Postgres em cada data center e os configura no modo de replicação mestre-em espera. Neste exemplo, o data center 1 contém o servidor Postgres mestre, e o data center 2 contém o em espera. Para mais informações, consulte Configurar a replicação mestre-em espera para o Postgres.
  • Uma única entrada DNS que aponta para uma instância de SSO do Edge. Por exemplo, crie uma entrada DNS no formulário abaixo que aponte para a instância de SSO do Edge no data center 1:

    my-sso.domain.com => apigee-sso-dc1-ip-or-lb

Ao instalar o SSO do Edge em cada data center, configure ambos para usar o mestre do Postgres no data center 1:

## Postgres configuration.
PG_HOST=IP_or_DNS_of_PG_Master_in_DC1
 PG_PORT=5432

Você também configura ambos para usar a entrada de 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 do Edge no data center 1 ficar inativo, será possível alternar para a instância do SSO do Edge no data center 2:

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