Как настроить несколько центров обработки данных для Apigee mTLS

Apigee mTLS поддерживает несколько центров обработки данных, поэтому вы можете масштабировать конфигурацию, чтобы включить более сложные топологии, например кластерную установку из 12 узлов.

Процесс установки mTLS в топологии с несколькими центрами обработки данных такой же, как и в более простых топологиях. Однако вам необходимо убедиться, что ваша установка соответствует требованиям, и изменить файлы конфигурации, как описано в следующих разделах.

Требования

Чтобы использовать Apigee mTLS с несколькими центрами обработки данных, необходимо:

  • Удалите apigee-mtls и установите его заново, выбрав конфигурацию с несколькими центрами обработки данных. Изменить существующую конфигурацию нельзя. Подробнее о том, как изменить существующую конфигурацию apigee-mtls…
  • Откройте порт 8302 на каждом хосте, на котором выполняется mTLS.
  • Убедитесь, что у всех участников кластера mTLS уникальные IP-адреса, которые не меняются для всех участников кластера.
  • При указании файлов конфигурации используйте в командах абсолютные пути, если есть вероятность неоднозначности.
  • Добавьте свойства конфигурации для нескольких центров обработки данных, как описано в разделе Файлы конфигурации для нескольких центров обработки данных.

Файлы конфигурации для нескольких центров обработки данных

Чтобы использовать Apigee mTLS с несколькими центрами обработки данных, создайте отдельный файл конфигурации для каждого центра.

В каждом из файлов конфигурации:

  1. Измените значение свойства конфигурации ALL_IP, чтобы включить все IP-адреса хостов во всех регионах.
  2. Убедитесь, что значение свойства REGION – это название текущего региона или центра обработки данных. Пример: dc-1.
  3. Добавьте следующие свойства:
    Свойство Описание
    APIGEE_MTLS_MULTI_DC_ENABLE Используете ли вы конфигурацию с несколькими центрами обработки данных. Установите значение "y", если вы настраиваете несколько центров обработки данных. В противном случае пропустите этот параметр или задайте значение "n". Значение по умолчанию не указано.
    MTLS_LOCAL_REGION_IP Список всех IP-адресов, используемых текущим регионом, который вы настраиваете, разделенных пробелами. Пример: "10.0.0.1 10.0.0.2 10.0.0.3".

    Для второго региона в конфигурации используйте свойство MTLP_REMOTE_REGION_1_IP.

    MTLS_REMOTE_REGION_1_NAME Название второго региона в конфигурации с несколькими центрами обработки данных. Пример: dc-2.

    В файле конфигурации второго региона для REGION будет использоваться значение dc-2, а для MTLS_REMOTE_REGION_1_NAME. – dc-1.

    MTLS_REMOTE_REGION_1_IP Список всех IP-адресов, используемых вторым регионом в конфигурации с несколькими центрами обработки данных, разделенных пробелами. Пример: "10.0.0.4 10.0.0.5 10.0.0.6".

Ниже приведены примеры файлов конфигурации для двух центров обработки данных ("dc-1" и "dc-2"). Свойства, относящиеся к конфигурации с несколькими центрами обработки данных, выделены.

Файл конфигурации 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"

Файл конфигурации 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"

Информацию о стандартных свойствах конфигурации можно найти в разделе Шаг 1. Обновите файл конфигурации.

Как протестировать конфигурацию с несколькими центрами обработки данных

Команда raft list-peers отображает список IP-адресов, связанных со всеми узлами ZooKeeper (ZK), на которых выполняется процесс Consul, как указано в процессе consul agent, запущенном на сервере. Эти узлы не ограничены одним центром обработки данных, а охватывают все центры обработки данных в конфигурации.

Ниже приведены примеры выходных данных команды raft list-peers для конфигурации с поддержкой 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

Чтобы устранить неполадки или проверить выходные данные raft list-peers, убедитесь, что процесс consul agent выполняется на всех узлах ZK. Вы можете проверить это, выполнив следующую команду:

$ 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

Эта команда проверяет, активен ли процесс Consul и правильно ли он настроен на каждом узле в конфигурации с несколькими центрами обработки данных.