Configure varios centros de datos para Apigee mTLS

La mTLS de Apigee admite varios centros de datos para que puedas escalar tu configuración y, así, incluir topologías más complejas, como una instalación agrupada de 12 nodos.

El proceso de instalación de la mTLS en una topología de varios centros de datos es el mismo que para las topologías más simples. Sin embargo, debes asegurarte de que tu instalación cumpla con los requisitos previos y de que cambies los archivos de configuración como se describe en las siguientes secciones.

Requisitos previos

Para usar la mTLS de Apigee con varios centros de datos, debes hacer lo siguiente:

  • Desinstala apigee-mtls y vuelve a instalarlo con la configuración de varios centros de datos. No puedes modificar una configuración existente. Para obtener más información, consulta Cómo cambiar una configuración existente de apigee-mtls.
  • Abre el puerto 8302 en todos los hosts que ejecutan mTLS.
  • Asegúrate de que todos los miembros del clúster de mTLS tengan direcciones IP únicas, que sean coherentes para todos los miembros del clúster.
  • Cuando especifiques archivos de configuración, usa rutas de acceso absolutas en tus comandos cuando pueda haber ambigüedad.
  • Agrega propiedades de configuración de varios centros de datos, como se describe en Archivos de configuración para varios centros de datos.

Archivos de configuración para varios centros de datos

Para usar la mTLS de Apigee con varios centros de datos, crea un archivo de configuración independiente para cada uno.

En cada uno de los archivos de configuración, haz lo siguiente:

  1. Cambia el valor de la propiedad de configuración ALL_IP para incluir todas las direcciones IP de host en todas las regiones.
  2. Asegúrate de que el valor de la propiedad REGION sea el nombre de la región o el centro de datos actuales. Por ejemplo, "dc-1".
  3. Agrega las siguientes propiedades:
    Propiedad Descripción
    APIGEE_MTLS_MULTI_DC_ENABLE Si usas o no una configuración de varios centros de datos Establece en “y” si vas a configurar varios centros de datos. De lo contrario, omite el valor o configúralo como “n”. Se omite el valor predeterminado.
    MTLS_LOCAL_REGION_IP Es una lista delimitada por espacios de todas las direcciones IP que usa la región actual que estás configurando. Por ejemplo, "10.0.0.1 10.0.0.2 10.0.0.3".

    Para la segunda región en la configuración, usa la propiedad MTLP_REMOTE_REGION_1_IP.

    MTLS_REMOTE_REGION_1_NAME Es el nombre de la segunda región en una configuración de varios centros de datos. Por ejemplo, "dc-2".

    En el archivo de configuración de la segunda región, usarás "dc-2" para REGION y "dc-1" para MTLS_REMOTE_REGION_1_NAME..

    MTLS_REMOTE_REGION_1_IP Es una lista delimitada por espacios de todas las direcciones IP que usa la segunda región en una configuración de varios centros de datos. Por ejemplo, “10.0.0.4 10.0.0.5 10.0.0.6”.

En los siguientes ejemplos, se muestran los archivos de configuración de dos centros de datos ("dc-1" y "dc-2"). Se destacan las propiedades específicas de una configuración de varios centros de datos):

Archivo de configuración de 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"

Archivo de configuración de 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 obtener información sobre las propiedades de configuración estándar, consulta Paso 1: Actualiza tu archivo de configuración.

Prueba una configuración de varios centros de datos

El comando raft list-peers muestra una lista de direcciones IP asociadas con todos los nodos de ZooKeeper (ZK) que ejecutan un proceso de Consul, como lo indica el proceso consul agent que se ejecuta en el servidor. Estos pares no se limitan a un solo centro de datos, sino que abarcan todos los centros de datos de la configuración.

En los siguientes ejemplos, se muestra un resultado de ejemplo de un comando raft list-peers para una configuración habilitada para mTLS de 2 DCs:

$ /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 o verificar el resultado de raft list-peers, asegúrate de que el proceso consul agent se esté ejecutando en todos los nodos de ZK. Para confirmar esto, ejecuta el siguiente 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

Este comando verifica que el proceso de Consul esté activo y configurado correctamente en cada nodo de la configuración de varios centros de datos.