Instalar o SSO do Edge para alta disponibilidade

Edge para nuvem privada v4.19.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 do Edge, não o mesmo servidor Postgres que você instalou com o Edge.
  • As duas instâncias do SSO de borda precisam usar o mesmo par de chaves JWT, conforme especificado pelas propriedades SSO_JWT_SIGNING_KEY_FILEPATH e SSO_JWT_VERIFICATION_KEY_FILEPATH no arquivo de configuração. Consulte Instalar e configurar o SSO do Edge para saber mais sobre como definir essas propriedades.
  • É preciso ter um balanceador de carga na frente das duas instâncias de 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 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 de borda. Consulte as seções a seguir para saber mais.

Acesso HTTP ao SSO do Edge

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

  • Use o modo HTTP para se conectar ao SSO de borda.
  • Detecte 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

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

Em seguida, configure o balanceador de carga para:

  • Use o modo TCP, não o modo HTTP, para se conectar ao SSO de borda.
  • Detecte 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
    .
  • As duas instâncias do SSO de borda precisam usar o mesmo par de chaves JWT, conforme especificado pelas propriedades SSO_JWT_SIGNING_KEY_FILEPATH e SSO_JWT_VERIFICATION_KEY_FILEPATH no arquivo de configuração. Consulte Instalar e configurar o SSO do Edge para saber mais sobre como definir essas propriedades.

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 os dois data centers 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:

  1. Converta o servidor Postgres em espera no data center 2 para o mestre, conforme descrito em Como processar um failover de banco de dados do PostgreSQL.
  2. 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
  3. 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
  4. Reinicie o SSO do Edge no data center 2 para atualizar a configuração:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart