Instalar o SSO da Apigee para alta disponibilidade

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

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

Instalar dois módulos SSO da Apigee no mesmo data center

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

  • As duas instâncias do SSO da Apigee precisam estar conectadas ao mesmo servidor Postgres. A Apigee recomenda usar um servidor dedicado do Postgres para o SSO da Apigee, e não o mesmo servidor Postgres que você instalou com o Edge.
  • As duas instâncias do SSO da Apigee 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 da Apigee para mais informações sobre como definir essas propriedades.
  • Você precisa de um balanceador de carga na frente das duas instâncias do SSO da Apigee:
    • 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 da Apigee. Para TCP, use o URL do SSO da Apigee:
      http_or_https://edge_sso_IP_DNS:9099

      Especifique a porta conforme definido pelo SSO da Apigee. 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 da Apigee. Consulte as seções a seguir para saber mais.

Acesso HTTP ao SSO da Apigee

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

  • Use o modo HTTP para se conectar ao SSO da Apigee.
  • Detecte na mesma porta que o SSO da Apigee.

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

Por exemplo, em cada instância de SSO da Apigee, você define a porta como 9033 adicionando o seguinte 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 da Apigee nesse cenário é:

http://LB_DNS_NAME:9033

Acesso HTTPS ao SSO da Apigee

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

SSO_TOMCAT_PROFILE=SSL_TERMINATION

Também é possível definir a porta usada pelo SSO da Apigee 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 da Apigee.
  • Detecte na mesma porta que o SSO da Apigee, conforme definido por SSO_TOMCAT_PORT.

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

https://LB_DNS_NAME:9443

Instalar o SSO da Apigee em vários data centers

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

Antes de instalar o SSO da Apigee 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 da Apigee. Por exemplo, você cria uma entrada DNS no formato abaixo que aponta para a instância de SSO da Apigee no data center 1:
    my-sso.domain.com => apigee-sso-dc1-ip-or-lb
  • As duas instâncias do SSO da Apigee 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 da Apigee para mais informações sobre como definir essas propriedades.

Ao instalar o SSO da Apigee em cada data center, você configura ambos 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 Apigee SSO
SSO_PUBLIC_URL_HOSTNAME=my-sso.domain.com
# Default port is 9099.
SSO_PUBLIC_URL_PORT=9099

Se o SSO da Apigee no data center 1 ficar inativo, será possível alternar para a instância do SSO da Apigee 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 da Apigee no data center 2:
    my-sso.domain.com => apigee-sso-dc2-ip-or-lb
  3. Atualize o arquivo de configuração do SSO da Apigee 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 da Apigee no data center 2 para atualizar a configuração:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart