Como instalar o SSO de borda para alta disponibilidade

Edge para nuvem privada v4.18.01

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

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

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

Você implanta duas instâncias do SSO de borda em nós diferentes, em um único data center para garantir a 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 dedicado do Postgres para o SSO de borda e não usar o mesmo servidor Postgres que você instalou com o Edge.
  • É preciso ter um balanceador de carga na frente das duas instâncias do SSO de borda:
    • O balanceador de carga precisa ser compatível com a permanência do cookie gerado pelo aplicativo, e o cookie de sessão 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 do Edge:

      http_or_https://edge_sso_IP_DNS:9099

      Especifique a porta conforme definido 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 da ativação do HTTPS no SSO de borda. Consulte as seções a seguir para saber mais.

Como usar o acesso HTTP ao SSO do Edge

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

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

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

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

SSO_TOMCAT_PORT=9033

Em seguida, você vai configurar o balanceador de carga para detectar a porta 9033 e encaminhar solicitações para uma instância de SSO de borda 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 de borda para usar HTTPS. Neste 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 de SSO do Edge, 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 borda, configure o balanceador de carga para:

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

Depois você vai configurar o balanceador de carga para encaminhar solicitações para uma instância de SSO de borda 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 com vários data centers, você instala uma instância de SSO no Edge em cada um deles. Uma instância de SSO no Edge gerencia todo o tráfego. Se essa instância ficar inativa, será possível alternar para a segunda instância.

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 com vários data centers, você normalmente instala um servidor Postgres em cada data center e o configura no modo de replicação mestre em espera. Neste exemplo, o data center 1 contém o servidor Master do Postgres e o data center 2 contém o Standby. 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 no Edge. Por exemplo, você cria uma entrada de DNS no formato abaixo que aponta para a instância de SSO de borda 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

Também é possível 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 borda no data center 1 ficar inativo, você poderá alternar para a instância desse recurso no data center 2:

  • Converta o servidor Postgres espera no data center 2 em mestre, conforme descrito em Como processar um failover de banco de dados PostgreSQL.
  • Atualize o registro DNS para apontar my-sso.domain.com para a instância de SSO no 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