通訊埠需求

Edge for Private Cloud 4.18.05

管理防火牆的事宜不能侷限於虛擬主機,VM 和實體主機防火牆都必須允許元件所需的通訊埠流量互相通訊。

通訊埠圖表

下圖顯示單一資料中心和多個資料中心設定的連接埠需求:

單一資料中心

下圖顯示單一資料中心設定中每個 Edge 元件的連接埠需求:

單一資料中心設定中每個 Edge 元件的連接埠需求

此圖表的注意事項:

  • 前置為「M」的通訊埠是用於管理元件的通訊埠,必須在元件上開啟,才能供管理伺服器存取。
  • Edge UI 需要存取路由器 (在 API Proxy 所公開的通訊埠) 上,以支援追蹤工具中的 [Send] 按鈕。
  • 您可以設定 JMX 連接埠的存取權,要求使用者輸入使用者名稱/密碼。詳情請參閱「如何監控」。
  • 您可以選擇針對可使用不同通訊埠的特定連線設定 TLS/SSL 存取。詳情請參閱 TLS/SSL
  • 您可以設定管理伺服器和 Edge UI,透過外部 SMTP 伺服器傳送電子郵件。如果您選擇這麼做,請務必確保管理伺服器和 UI 可存取 SMTP 伺服器上的必要連接埠 (未顯示)。對於非 TLS SMTP,通訊埠號碼通常為 25。對於支援 TLS 的 SMTP,通常為 465,但請向 SMTP 供應商確認。

多個資料中心

如果您安裝含有兩個資料中心的 12 節點叢集組態,請確認兩個資料中心中的節點可透過下列通訊埠進行通訊:

12 節點叢集設定中每個節點的通訊埠需求

請注意:

  • 所有管理伺服器都必須能夠存取所有其他資料中心的所有 Cassandra 節點。
  • 所有資料中心中的所有訊息處理器都必須能夠透過通訊埠 4528 互相存取。
  • 管理伺服器必須能夠透過連接埠 8082 存取所有訊息處理器。
  • 所有管理伺服器和所有 Qpid 節點都必須能夠存取所有其他資料中心的 Postgres。
  • 基於安全考量,除了上述的連接埠和您自己的網路需求所需的其他連接埠外,資料中心之間不應開啟其他連接埠。

通訊埠詳細資料

下表列出 Edge 元件需要在防火牆中開啟的通訊埠:

元件 通訊埠 說明
標準 HTTP 通訊埠 80、443 HTTP 和您用於虛擬主機的其他通訊埠
Cassandra 7000、9042、9160 用於 Cassandra 節點之間通訊和供其他 Edge 元件存取的 Apache Cassandra 通訊埠。
7199 JMX 通訊埠。必須開放管理伺服器存取。
LDAP 10389 OpenLDAP
管理伺服器 1099 JMX 連接埠
4526 用於分散式快取和管理呼叫的端口。這個連接埠可進行設定。
8080 Edge 管理 API 呼叫的端口。這些元件需要存取管理伺服器上的通訊埠 8080:路由器、訊息處理器、UI、Postgres 和 Qpid。
管理 UI 9000 瀏覽器存取管理 UI 的通訊埠
訊息處理器 1101 JMX 連接埠
4528 用於訊息處理器之間的分散式快取和管理呼叫,以及從路由器和管理伺服器通訊。

訊息處理器必須開啟 4528 通訊埠做為管理通訊埠。如果您有多個訊息處理器,這些處理器都必須能夠透過通訊埠 4528 互相存取 (以上圖中的訊息處理器通訊埠 4528 中的環狀箭頭表示)。如果您有多個資料中心,則所有資料中心的所有 Message Processor 都必須能存取該連接埠。

8082

訊息處理器的預設管理通訊埠,必須在元件上開啟,以便管理伺服器存取。

如果您在 Router 和 Message Processor 之間設定 TLS/SSL,Router 會使用這項設定對 Message Processor 進行健康狀態檢查。

只有在您在 Router 和 Message Processor 之間設定 TLS/SSL 時,才需要開放 Message Processor 上的 8082 通訊埠供 Router 存取。如果您未在路由器和訊息處理器之間設定 TLS/SSL,您仍須在訊息處理器上開啟預設設定,通訊埠 8082 才能管理元件,但路由器不需要存取。

8443 在路由器與訊息處理器之間啟用 TLS 後,您必須在訊息處理器上開啟通訊埠 8443,才能讓路由器存取。
8998 用於路由器通訊的訊息處理器連接埠
Postgres 22 如果要將兩個 Postgres 節點設定為使用主機待命複寫,您必須在每個節點上開啟通訊埠 22,以便存取 SSH。
1103 JMX 連接埠
4530 用於分散式快取和管理呼叫
5432 用於從 Qpid/Management 伺服器到 Postgres 的通訊
8084 您必須在元件上開啟 Postgres 伺服器的預設管理通訊埠,才能讓管理伺服器存取。
Qpid 1102 JMX 連接埠
4529 用於分散式快取和管理呼叫
5672
  • 單一資料中心:用於將分析數據從路由器和訊息處理器傳送至 Qpid。
  • 多個資料中心:用於不同資料中心的 Qpid 節點之間的通訊。
8083 Qpid 伺服器上的預設管理通訊埠,必須在元件上開啟,才能由管理伺服器存取。
路由器 4527 用於分散式快取和管理呼叫。

路由器必須開啟 4527 通訊埠做為管理通訊埠。如果您有多個路由器,則這些路由器必須都能透過通訊埠 4527 互相存取 (上方圖表中路由器上的通訊埠 4527 有循環箭頭表示)。

雖然這不是必要步驟,但您可以開啟 Router 上的通訊埠 4527,讓任何 Message Processor 都能存取。否則,您可能會在 Message Processor 記錄檔中看到錯誤訊息。

8081 路由器的預設管理端口,必須在元件上開啟,才能由管理伺服器存取。
15999

健康狀態檢查通訊埠。負載平衡器會使用這個通訊埠,判斷路由器是否可用。

為了取得路由器的狀態,負載平衡器會向路由器的 15999 連接埠提出要求:

curl -v http://routerIP:15999/v1/servers/self/reachable

如果可連線路由器,則要求會傳回 HTTP 200。

59001 apigee-validate 公用程式用於測試 Edge 安裝作業。這項公用程式需要存取路由器上的 59001 埠。如要進一步瞭解 59001 通訊埠,請參閱「測試安裝程序」。
SmartDocs 59002 Edge 路由器上傳送 SmartDocs 網頁要求的連接埠。
ZooKeeper 2181 可供管理伺服器、路由器、訊息處理器等其他元件使用
2888、3888 由 ZooKeeper 用於 ZooKeeper 叢集 (稱為 ZooKeeper 集合) 的內部通訊

下表列出相同的連接埠,並以數字列出來源和目的地元件:

通訊埠號碼 目的 來源元件 目的地元件
virtual_host_port HTTP 加上用於虛擬主機 API 呼叫流量的任何其他通訊埠。最常使用的為 80 和 443 埠;訊息路由器可以終止 TLS/SSL 連線。 外部用戶端 (或負載平衡器) 訊息路由器上的事件監聽器
1099 到 1103 JMX 管理 JMX 用戶端 管理伺服器 (1099)
訊息處理器 (1101)
Qpid 伺服器 (1102)
Postgres 伺服器 (1103)
2181 動物保密協議 (Zookeeper) 客戶溝通 管理伺服器
路由器
訊息處理器
Qpid 伺服器
Postgres 伺服器
Zookeeper
2888 和 3888 Zookeeper 節點間管理 Zookeeper Zookeeper
4526 RPC 管理通訊埠 管理伺服器 管理伺服器
4527 用於分散快取和管理呼叫,以及路由器之間通訊的 RPC 管理通訊埠 管理伺服器
路由器
路由器
4528 針對訊息處理工具之間的散發快取呼叫,以及來自路由器的通訊 管理伺服器
路由器
訊息處理器
訊息處理器
4529 用於分散式快取和管理呼叫的 RPC 管理通訊埠 管理伺服器 Qpid 伺服器
4530 用於分散式快取和管理呼叫的 RPC 管理通訊埠 管理伺服器 Postgres 伺服器
5432 Postgres 用戶端 Qpid 伺服器 Postgres
5672
  • 單一資料中心:用於將分析數據從路由器和訊息處理器傳送至 Qpid。
  • 多個資料中心:用於不同資料中心內 Qpid 節點之間的通訊。
Qpid 伺服器 Qpid 伺服器
7000 Cassandra 節點間通訊 Cassandra 其他 Cassandra 節點
7199 JMX 管理。管理伺服器必須開放 Cassandra 節點的存取權。 JMX 用戶端 Cassandra
8080 Management API 連接埠 Management API 用戶端 管理伺服器
8081 到 8084

元件 API 通訊埠,可用來直接發出 API 要求給個別元件。每個元件都會開啟不同的通訊埠;實際使用的通訊埠取決於設定,但必須在元件上開啟,才能供管理伺服器存取

Management API 用戶端 路由器 (8081)
訊息處理器 (8082)
Qpid 伺服器 (8083)
Postgres 伺服器 (8084)
8443 啟用 TLS 時,路由器和訊息處理器之間的通訊 路由器 訊息處理器
8998 路由器與訊息處理器之間的通訊 路由器 訊息處理器
9000 預設 Edge 管理 UI 通訊埠 瀏覽器 管理 UI 伺服器
9042 CQL 原生傳輸 路由器
訊息處理器
管理伺服器
Cassandra
9160 Cassandra Thrift 用戶端 路由器
訊息處理器
管理伺服器
Cassandra
10389 LDAP 通訊埠 管理伺服器 OpenLDAP
15999 健康狀態檢查通訊埠。負載平衡器會使用這個通訊埠,判斷路由器是否可用。 負載平衡器 路由器
59001 apigee-validate 公用程式用於測試 Edge 安裝作業的通訊埠 Apigee-validate 路由器
59002 傳送 SmartDocs 網頁要求的路由器通訊埠 SmartDocs 路由器

訊息處理工具會持續開啟專屬的 Cassandra 連線集區,並設為永不逾時。當防火牆位於訊息處理器和 Cassandra 伺服器之間時,防火牆可能會讓連線逾時。不過,訊息處理器不適合用於重新建立與 Cassandra 的連線。

為避免這種情況,Apigee 建議將 Cassandra 伺服器、訊息處理器和路由器放在同一個子網路中,這樣防火牆就不會參與這些元件的部署作業。

如果路由器和訊息處理器之間有防火牆,且已設定空閒 TCP 逾時,建議您採取以下做法:

  1. 在 Linux OS 的 sysctl 設定中設定 net.ipv4.tcp_keepalive_time = 1800,其中 1800 應低於防火牆閒置 TCP 逾時時間。這項設定應讓連線維持在已建立狀態,以免防火牆中斷連線。
  2. 在所有訊息處理工具上,編輯 /opt/apigee/customer/application/message-processor.properties 以新增下列屬性。如果檔案不存在,請建立該檔案。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. 重新啟動訊息處理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. 在所有 Router 上,編輯 /opt/apigee/customer/application/router.properties 以新增下列屬性。如果檔案不存在,請建立檔案。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. 重新啟動路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart