为 Apigee mTLS 配置多个数据中心

Apigee mTLS 支持多个数据中心,因此您可以扩缩配置,使其涵盖 更复杂的拓扑,例如 12 节点 集群安装

多数据中心拓扑上 mTLS 的安装过程如下: 与用于更简单的拓扑相同。不过,您必须确保安装符合 并按照本节中的说明更改配置文件, 跟随。

前提条件

如需将 Apigee mTLS 与多个数据中心搭配使用,您必须执行以下操作:

  • 卸载“apigee-mtls”,然后将其重新安装到多个数据中心 配置。您无法修改现有配置。如需更多信息 请参阅更改现有的 apigee-mtls 配置
  • 在运行 mTLS 的每台主机上打开端口 8302。
  • 确保所有 mTLS 集群成员都具有唯一的 IP 地址,这些地址对所有成员都是一致的 集群成员
  • 指定配置文件时,如果有歧义,请在命令中使用绝对路径 可能存在
  • 添加多数据中心配置属性,如 多个数据中心的配置文件

多个数据中心的配置文件

要将 Apigee mTLS 与多个数据中心搭配使用,您需要为每个数据中心创建单独的配置文件 数据中心。

在每个配置文件中:

  1. ALL_IP 配置属性的值更改为包含 all 所有区域中的主机 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”。

    第二个区域的配置文件中,您将使用“dc-2”用于 REGION 和“dc-1”用于“MTLS_REMOTE_REGION_1_NAME.

    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 命令会显示 MTLS_LOCAL_REGION_IP,表示它们位于同一数据中心内。

以下示例展示了 raft list-peers 命令的示例输出:

[ec2-user]# consul operator raft list-peers

Node              ID                Address            State     Voter  RaftProtocol
prc-test-1-2119   d1361917-b244-42  10.126.0.151:8300  leader    true   3
prc-test-0-2119   fad66fc3-22a0-43  10.126.0.155:8300  follower  true   3
prc-test-2-2119   78847b12-dd83-44  10.126.0.159:8300  follower  true   3
prc-test-6-2119   60bb50ac-37b6-52  10.126.0.152:8300  leader    true   3
prc-test-7-2119   515bbdfd-e968-53  10.126.0.147:8300  follower  true   3
prc-test-8-2119   d869c9a5-b4f6-54  10.126.0.158:8300  follower  true   3

Apigee mTLS 已在两个数据中心进行了测试。 不过,您可以使用以下方式指定多达 8 个数据中心的配置 属性:

  • MTLS_REMOTE_REGION_[2-8]_IP
  • MTLS_REMOTE_REGION_[2-8]_NAME