Apigee mTLS を使用するように複数のデータセンターを構成する

Apigee mTLS は複数のデータセンターをサポートしているため、12 ノードクラスタ構成など、より複雑なトポロジを含めるように構成をスケーリングできます。

マルチデータセンター トポロジへの mTLS のインストール プロセスは、より単純なトポロジの場合と同じです。ただし、インストール環境が前提条件を満たしていることを確認し、以降のセクションで説明するように構成ファイルを変更する必要があります。

前提条件

複数のデータセンターで Apigee mTLS を使用するには、次の操作を行う必要があります。

  • apigee-mtls をアンインストールし、マルチデータセンター構成で再インストールします。既存の構成は変更できません。詳細については、既存の apigee-mtls 構成を変更するをご覧ください。
  • mTLS を実行しているすべてのホストでポート 8302 を開きます。
  • すべての 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"。

    構成の 2 番目のリージョンには、MTLP_REMOTE_REGION_1_IP プロパティを使用します。

    MTLS_REMOTE_REGION_1_NAME マルチデータセンター構成の 2 番目のリージョンの名前。例: "dc-2"。

    2 番目のリージョンの構成ファイルでは、REGION に "dc-2 "、MTLS_REMOTE_REGION_1_NAME. に "dc-1 " を使用します。

    MTLS_REMOTE_REGION_1_IP マルチデータセンター構成の 2 番目のリージョンで使用されるすべての IP アドレスをスペースで区切ったリスト。例: "10.0.0.4 10.0.0.5 10.0.0.6"。

次の例は、2 つのデータセンター("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 コマンドは、サーバーで実行されている consul agent プロセスによって示されるように、Consul プロセスを実行しているすべての ZooKeeper(ZK)ノードに関連付けられた IP アドレスのリストを表示します。これらのピアは単一のデータセンターに限定されず、構成内のすべてのデータセンターにまたがります。

次の例は、2 つの DC で mTLS を有効にした設定の raft list-peers コマンドの出力例を示しています。

$ /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 の出力のトラブルシューティングまたは確認を行うには、すべての ZK ノードで consul agent プロセスが実行されていることを確認します。これは、次のコマンドを実行して確認できます。

$ 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 プロセスがアクティブで、マルチデータセンター設定の各ノードで正しく構成されていることを確認します。