Apigee mTLS 支援多個資料中心,因此您可以擴充設定,納入更複雜的拓撲,例如12 節點叢集安裝。
在多資料中心拓撲上安裝 mTLS 的程序,與在較簡單的拓撲上相同。不過,您必須確保安裝作業符合必要條件,並按照後續章節所述變更設定檔。
必要條件
如要搭配多個資料中心使用 Apigee mTLS,您必須:
- 解除安裝
apigee-mtls,然後使用多個資料中心設定重新安裝。您無法修改現有設定。詳情請參閱「變更現有的 apigee-mtls 設定」。 - 在執行 mTLS 的每部主機上開啟通訊埠 8302。
- 確認所有 mTLS 叢集成員都有專屬 IP 位址,且叢集所有成員的 IP 位址都一致。
- 指定設定檔時,請在指令中使用絕對路徑,以免產生歧義。
- 新增多資料中心設定屬性,如「多資料中心設定檔」所述。
多個資料中心的設定檔
如要搭配多個資料中心使用 Apigee mTLS,請為每個資料中心建立個別的設定檔。
在每個設定檔中:
- 變更
ALL_IP設定屬性的值,納入所有區域中的所有主機 IP 位址。 - 確認
REGION屬性的值是目前區域或資料中心的名稱。例如「dc-1」。 - 新增下列屬性:
屬性 說明 APIGEE_MTLS_MULTI_DC_ENABLE是否使用多資料中心設定。如果您要設定多個資料中心,請設為「y」。否則請省略或設為「n」。預設為省略。 MTLS_LOCAL_REGION_IP以空格分隔的清單,列出您目前設定的區域使用的所有 IP 位址。例如「10.0.0.1 10.0.0.2 10.0.0.3」。 針對設定中的第二個區域,請使用
MTLS_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 中定義的 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 已在兩個資料中心進行測試。不過,您可以使用下列屬性,指定最多 17 個資料中心的設定:
MTLS_REMOTE_REGION_[1-17]_IPMTLS_REMOTE_REGION_[1-17]_NAME