Você instala várias instâncias do SSO da Apigee para alta disponibilidade em dois cenários:
- Em um ambiente de data center único, instale duas instâncias de SSO da Apigee para criar um ambiente de alta disponibilidade, ou seja, 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 do SSO da Apigee falhar.
Instalar dois módulos de SSO da Apigee no mesmo data center
Implante 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 do Postgres. A Apigee recomenda o uso de um servidor Postgres dedicado 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_FILEPATHeSSO_JWT_VERIFICATION_KEY_FILEPATHno 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 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 da Apigee. Para TCP,
use o URL do SSO da Apigee:
http_or_https://edge_sso_IP_DNS:9099
Especifique a porta definida 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 da ativação do HTTPS no SSO da Apigee. Consulte as seções a seguir para mais informações.
- 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
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.
Detectar na mesma porta que o SSO da Apigee.
Por padrão, o SSO da Apigee detecta solicitações HTTP na porta 9099. Se quiser, use
SSO_TOMCAT_PORTpara definir a porta do SSO da Apigee. Se você usouSSO_TOMCAT_PORTpara alterar a porta padrão do SSO da Apigee, verifique se o balanceador de carga detecta essa porta.
Por exemplo, em cada instância de SSO da Apigee, 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 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 em comunicações seguras. 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 do SSO da Apigee, conforme mostrado abaixo:
SSO_TOMCAT_PROFILE=SSL_TERMINATION
Opcionalmente, defina a porta usada pelo SSO da Apigee para acesso HTTPS:
SSO_TOMCAT_PORT=9443
Para garantir a comunicação adequada entre o balanceador de carga e o SSO da Apigee, configure o balanceador de carga da seguinte maneira:
- Use o modo TCP, não o modo HTTP, para se conectar ao SSO da Apigee. Isso permite que as conexões SSL passem sem encerramento no balanceador de carga.
- Detecte na mesma porta que o SSO da Apigee, conforme definido por
SSO_TOMCAT_PORT(por exemplo, 9443). - Encaminhe as solicitações para uma instância de SSO da Apigee na mesma porta (9443).
Verifique se o URL público reflete as configurações de DNS e porta do balanceador de carga. 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 do SSO da Apigee em cada data center. Uma instância de SSO da Apigee processa todo o tráfego. Se essa instância do SSO da Apigee ficar inativa, você poderá alternar para a segunda instância do 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 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 de DNS que aponta para uma instância de SSO da Apigee. Por exemplo, você cria uma entrada DNS
no formulário 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_FILEPATHeSSO_JWT_VERIFICATION_KEY_FILEPATHno 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, 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=5432Você também configura os dois data centers para usar a entrada de 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:
- 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 do PostgreSQL.
- Atualize o registro DNS para apontar
my-sso.domain.compara a instância de SSO da Apigee no data center 2:my-sso.domain.com => apigee-sso-dc2-ip-or-lb
- 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
- Reinicie o SSO da Apigee no data center 2 para atualizar a configuração:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart