Configurar vários data centers para o mTLS da Apigee

O mTLS da Apigee oferece suporte a vários data centers para que você possa dimensionar a configuração e incluir topologias mais complexas, como uma instalação de cluster de 12 nós.

O processo de instalação de mTLS em uma topologia de vários data centers é o mesmo que para topologias mais simples. No entanto, é necessário garantir que a instalação atenda aos pré-requisitos e que você mude os arquivos de configuração conforme descrito nas seções a seguir.

Pré-requisitos

Para usar o mTLS do Apigee com vários data centers, você precisa:

  • Desinstale apigee-mtls e reinstale com a configuração de vários data centers. Não é possível modificar uma configuração atual. Para mais informações, consulte Mudar uma configuração apigee-mtls existente.
  • Abra a porta 8302 em todos os hosts que estão executando mTLS.
  • Verifique se todos os membros do cluster mTLS têm endereços IP exclusivos, que são consistentes para todos os membros do cluster.
  • Ao especificar arquivos de configuração, use caminhos absolutos nos comandos em que possa haver ambiguidade.
  • Adicione propriedades de configuração de vários data centers, conforme descrito em Arquivos de configuração para vários data centers.

Arquivos de configuração para vários data centers

Para usar o mTLS da Apigee com vários data centers, crie um arquivo de configuração separado para cada data center.

Em cada um dos arquivos de configuração:

  1. Mude o valor da propriedade de configuração ALL_IP para incluir todos os endereços IP do host em todas as regiões.
  2. Verifique se o valor da propriedade REGION é o nome da região ou do data center atual. Por exemplo, "dc-1".
  3. Adicione as seguintes propriedades:
    Propriedade Descrição
    APIGEE_MTLS_MULTI_DC_ENABLE Se você está usando ou não uma configuração de vários data centers. Defina como "y" se você estiver configurando vários data centers. Caso contrário, omita ou defina como "n". O padrão é omitido.
    MTLS_LOCAL_REGION_IP Uma lista delimitada por espaço de todos os endereços IP usados pela região atual que você está configurando. Por exemplo, "10.0.0.1 10.0.0.2 10.0.0.3".

    Para a segunda região na configuração, use a propriedade MTLP_REMOTE_REGION_1_IP.

    MTLS_REMOTE_REGION_1_NAME O nome da segunda região em uma configuração de vários data centers. Por exemplo, "dc-2".

    No arquivo de configuração da segunda região, você vai usar "dc-2" para REGION e "dc-1" para MTLS_REMOTE_REGION_1_NAME..

    MTLS_REMOTE_REGION_1_IP Uma lista delimitada por espaços de todos os endereços IP usados pela segunda região em uma configuração de vários data centers. Por exemplo, "10.0.0.4 10.0.0.5 10.0.0.6".

Os exemplos a seguir mostram os arquivos de configuração de dois data centers ("dc-1" e "dc-2"). As propriedades específicas de uma configuração de vários data centers estão destacadas:

Arquivo de configuração dc-1

ALL_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104 10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112"
LDAP_MTLS_HOSTS="10.126.0.114 10.126.0.106"
ZK_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95"
CASS_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95"
PG_MTLS_HOSTS="10.126.0.104 10.126.0.112"
RT_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95"
MS_MTLS_HOSTS="10.126.0.114 10.126.0.106"
MP_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95"
QP_MTLS_HOSTS="10.126.0.132 10.126.0.133 10.126.0.102 10.126.0.100"
ENABLE_SIDECAR_PROXY="y"
ENCRYPT_DATA="zRNQ9lhRySNTfegiLLLfIQ=="
PATH_TO_CA_CERT="/opt/consul-agent-ca.pem"
PATH_TO_CA_KEY="/opt/consul-agent-ca-key.pem"

APIGEE_MTLS_MULTI_DC_ENABLE="y"
REGION="dc-1"
MTLS_LOCAL_REGION_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104"
MTLS_REMOTE_REGION_1_NAME="dc-2"
MTLS_REMOTE_REGION_1_IP="10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112"

Arquivo de configuração dc-2

ALL_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104 10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112"
LDAP_MTLS_HOSTS="10.126.0.114 10.126.0.106"
ZK_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95"
CASS_MTLS_HOSTS="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.106 10.126.0.105 10.126.0.95"
PG_MTLS_HOSTS="10.126.0.104 10.126.0.112"
RT_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95"
MS_MTLS_HOSTS="10.126.0.114 10.126.0.106"
MP_MTLS_HOSTS="10.126.0.113 10.126.0.96 10.126.0.105 10.126.0.95"
QP_MTLS_HOSTS="10.126.0.132 10.126.0.133 10.126.0.102 10.126.0.100"
ENABLE_SIDECAR_PROXY="y"
ENCRYPT_DATA="zRNQ9lhRySNTfegiLLLfIQ=="
PATH_TO_CA_CERT="/opt/consul-agent-ca.pem"
PATH_TO_CA_KEY="/opt/consul-agent-ca-key.pem"

APIGEE_MTLS_MULTI_DC_ENABLE="y"
REGION="dc-2"
MTLS_LOCAL_REGION_IP="10.126.0.106 10.126.0.105 10.126.0.95 10.126.0.102 10.126.0.100 10.126.0.112"
MTLS_REMOTE_REGION_1_NAME="dc-1"
MTLS_REMOTE_REGION_1_IP="10.126.0.114 10.126.0.113 10.126.0.96 10.126.0.132 10.126.0.133 10.126.0.104"

Para informações sobre as propriedades de configuração padrão, consulte Etapa 1: atualizar o arquivo de configuração.

Testar uma configuração de vários data centers

O comando raft list-peers mostra uma lista de endereços IP associados a todos os nós do ZooKeeper (ZK) que executam um processo do Consul, conforme indicado pelo processo consul agent em execução no servidor. Esses pares não são limitados a um único data center, mas abrangem todos os data centers na configuração.

Os exemplos a seguir mostram a saída de um comando raft list-peers para uma configuração com 2 DCs ativados para mTLS:

$ /opt/apigee/apigee-mtls-consul/bin/consul operator raft list-peers
Node              ID                                    Address            State     Voter  RaftProtocol
prc-test-2-20036  0f30e0fc-a33b-2cf9-91fc-3dd0c02711c7  10.126.0.116:8300  leader    true   3
prc-test-0-20036  9b00b259-5848-c72b-623e-7991ea1a5d1c  10.126.0.121:8300  follower  true   3
prc-test-1-20036  e92cd7b3-e2f2-30a1-2b06-c434160372f5  10.126.0.122:8300  follower  true   3
prc-test-6-20036  b196a6a1-2813-49d6-e141-b4f0cce19383  10.126.0.118:8300  follower  true   3
prc-test-7-20036  3708ca5f-a17f-a31e-42ed-bb1f92b1506c  10.126.0.120:8300  follower  true   3
prc-test-8-20036  ed7f1658-ea4b-abec-148b-427203d4200c  10.126.0.115:8300  follower  true   3

Para solucionar problemas ou verificar a saída de raft list-peers, verifique se o processo consul agent está em execução em todos os nós do ZK. Para confirmar isso, execute o seguinte comando:

$ ps -elf
4 S consul     77903       1  3  80   0 - 382742 -     Jan13 ?        00:41:10 /opt/apigee/apigee-mtls-consul/bin/consul agent -config-file=/opt/apigee/apigee-mtls-4.52.02-0.0.20256/conf/server.json

Esse comando verifica se o processo do Consul está ativo e configurado corretamente em cada nó na configuração de vários data centers.