Você instala várias instâncias do SSO do 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 uma alta ambiente de disponibilidade, ou seja, o sistema continuará funcionando se um dos provedores de SSO da Apigee módulos ficam inativos.
- Em um ambiente com dois data centers, instale o SSO da Apigee em ambos para que o sistema continuará funcionando se um dos módulos SSO da Apigee ficar fora do ar.
Instalar dois módulos de SSO do 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 suporte alta disponibilidade. Nesse caso:
- As duas instâncias do SSO do Apigee precisam estar conectadas ao mesmo servidor Postgres. A Apigee recomenda usar um servidor Postgres dedicado para o SSO da Apigee, e não o mesmo servidor Postgres que você instalou com o Edge.
- Ambas as instâncias do SSO do Apigee precisam usar o mesmo par de chaves JWT especificado pelas propriedades
SSO_JWT_SIGNING_KEY_FILEPATH
eSSO_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 oferecer suporte à aderência 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 TCP ou HTTP no SSO do Apigee. Para TCP,
use o URL do SSO da Apigee:
http_or_https://edge_sso_IP_DNS:9099
Especifique a porta definida pelo SSO do 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 oferecer suporte à aderência de cookies gerados pelo aplicativo, e o cookie de sessão precisa ser chamado de
Acesso HTTP ao SSO do 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 do Apigee.
Detecte na mesma porta que o SSO da Apigee.
Por padrão, o SSO da Apigee detecta solicitações HTTP na porta 9099. Como alternativa, use
SSO_TOMCAT_PORT
para definir a porta do SSO do Apigee. Se você usouSSO_TOMCAT_PORT
Para alterar a porta SSO da Apigee para o padrão, verifique se o balanceador de carga detecta essa porta porta
Por exemplo, em cada instância do SSO do Apigee, defina a porta como 9033 adicionando o seguinte ao arquivo de configuração:
SSO_TOMCAT_PORT=9033
Depois, configure o balanceador de carga para detectar na porta 9033 e encaminhar solicitações para um perímetro instância de SSO na porta 9033. O URL público do SSO da Apigee nesse cenário é:
http://LB_DNS_NAME:9033
Acesso HTTPS para SSO da Apigee
É possível configurar as instâncias de SSO do Apigee para usar HTTPS. Nesse caso, siga as etapas em
Configure 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
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 HTTP, para se conectar ao SSO do Apigee.
- Detecte na mesma porta que o SSO da Apigee, conforme definido por
SSO_TOMCAT_PORT
.
Em seguida, configure o balanceador de carga para encaminhar solicitações a uma instância do SSO do Apigee na porta 9433. O URL público do SSO do Apigee neste 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 do Apigee em cada um deles. Uma instância do SSO da Apigee processa todo o tráfego. Se essa instância do SSO do Apigee ficar indisponível, você poderá mudar para a segunda instância do SSO do Apigee.
Antes de instalar o SSO da Apigee em dois data centers, você precisa do seguinte:
O endereço IP ou nome de domínio do servidor Master Postgres.
Em um ambiente com vários data centers, normalmente você instala um servidor Postgres em cada data center e o configura no modo de replicação mestre-standby. Neste exemplo, o data center 1 contém o servidor Postgres mestre, e o data center 2 contém o standby. Para mais informações, consulte Configurar a replicação mestre-standby para Postgres.
- Uma única entrada 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 do SSO do Apigee no data center 1:
my-sso.domain.com => apigee-sso-dc1-ip-or-lb
- Ambas as instâncias do SSO do Apigee precisam usar o mesmo par de chaves JWT especificado pelas propriedades
SSO_JWT_SIGNING_KEY_FILEPATH
eSSO_JWT_VERIFICATION_KEY_FILEPATH
no arquivo de configuração. Consulte Instalar e configurar o SSO do Apigee para saber mais sobre como definir essas propriedades.
Ao instalar o SSO do Apigee em cada data center, você configura 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 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 nos dados centro 2:
- Converta o servidor Postgres Standby no data center 2 para o mestre, conforme descrito em Como lidar com um failover do banco de dados PostgreSQL.
- Atualize o registro DNS para apontar
my-sso.domain.com
para a instância do 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