通訊埠需求

管理防火牆不只是虛擬主機的需求,VM 和實體主機防火牆都必須允許流量通過元件彼此通訊所需的通訊埠。

連接埠圖

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

單一資料中心

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

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

這張圖表的注意事項:

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

多個資料中心

如果您安裝12 節點叢集設定 (含兩個資料中心),請確保兩個資料中心的節點可透過下列通訊埠進行通訊:

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

注意:

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

根據預設,元件之間的通訊不會經過加密。如要新增加密,請安裝 Apigee mTLS。詳情請參閱「Apigee mTLS 簡介」。

通訊埠詳細資料

下表依 Edge 元件說明需要在防火牆中開啟的通訊埠:

元件 通訊埠 說明
標準 HTTP 通訊埠 80、443 HTTP,以及您用於虛擬主機的任何其他通訊埠
Apigee SSO 9099 外部 IDP、管理伺服器和瀏覽器的連線,用於驗證。
Cassandra 7000, 9042 Apache Cassandra 連接埠,用於 Cassandra 節點之間的通訊,以及供其他 Edge 元件存取。
7199 JMX 連接埠。必須開放管理伺服器存取。
LDAP 10389 SymasLDAP
管理伺服器 1099 JMX 連接埠
4526 用於分散式快取和管理呼叫的連接埠。這個連接埠可設定。
5636 營利提交通知的連接埠。
8080 用於 Edge Management API 呼叫的通訊埠。這些元件需要存取管理伺服器上的通訊埠 8080:路由器、訊息處理器、UI、Postgres、Apigee SSO (如已啟用) 和 Qpid。
管理 UI 9000 瀏覽器存取管理 UI 的通訊埠
訊息處理器 1101 JMX 連接埠
4528 用於訊息處理器之間的分散式快取和管理呼叫,以及路由器和管理伺服器的通訊。

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

8082

Message Processor 的預設管理通訊埠,且必須在元件上開啟,才能供 Management Server 存取。

如果您在路由器和訊息處理器之間設定 TLS/SSL,路由器會使用這項設定對訊息處理器執行健康狀態檢查。

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

8443 在路由器和訊息處理器之間啟用 TLS 時,您必須在訊息處理器上開啟 8443 連接埠,供路由器存取。
8998 訊息處理器連接埠,用於接收來自路由器的通訊
Postgres 22 如要設定兩個 Postgres 節點,以使用主要/待命複寫功能,您必須在每個節點上開啟通訊埠 22,才能透過 SSH 存取。
1103 JMX 連接埠
4530 適用於分散式快取和管理呼叫
5432 用於 Qpid/管理伺服器與 Postgres 之間的通訊
8084 Postgres 伺服器上的預設管理通訊埠;必須在元件上開啟,才能供管理伺服器存取。
Qpid 1102 JMX 連接埠
4529 適用於分散式快取和管理呼叫
5672
  • 單一資料中心:用於將 Router 和 Message Processor 的分析資料傳送至 Qpid。
  • 多個資料中心:用於不同資料中心內的 Qpid 節點之間的通訊。

也用於同一節點上的 Qpid 伺服器和代理程式元件之間的通訊。在具有多個 Qpid 節點的拓撲中,伺服器必須能夠連線至所有代理程式的 5672 連接埠。

8083 Qpid 伺服器上的預設管理通訊埠,且必須在元件上開啟,才能供管理伺服器存取。
8090 Qpid Broker 的預設連接埠;必須開啟此連接埠,才能存取 Broker 的管理控制台或管理 API,以利監控。
路由器 4527 適用於分散式快取和管理呼叫。

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

雖然不是必要條件,但您可以在路由器上開啟通訊埠 4527,供任何訊息處理器存取。否則,您可能會在 Message Processor 記錄檔中看到錯誤訊息。

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

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

如要取得 Router 的狀態,負載平衡器會向 Router 上的 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
5636 營利 外部 JMS 元件 管理伺服器
5672
  • 單一資料中心:用於將 Router 和 Message Processor 的分析資料傳送至 Qpid。
  • 多個資料中心:用於不同資料中心內的 Qpid 節點之間的通訊。

也用於同一節點上的 Qpid 伺服器和代理程式元件之間的通訊。在具有多個 Qpid 節點的拓撲中,伺服器必須能夠連線至所有代理程式的 5672 連接埠。

Qpid 伺服器 Qpid 伺服器
7000 Cassandra 節點間通訊 Cassandra 其他 Cassandra 節點
7199 JMX 管理。管理伺服器必須開啟此通訊埠,才能存取 Cassandra 節點。 JMX 用戶端 Cassandra
8080 管理 API 連接埠 Management API 用戶端 管理伺服器
8081 至 8084

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

Management API 用戶端 路由器 (8081)
訊息處理器 (8082)
Qpid 伺服器 (8083)
Postgres 伺服器 (8084)
8090 Qpid Broker 的預設管理通訊埠,用於管理及監控佇列。 瀏覽器或 API 用戶端 Qpid Broker (apigee-qpidd)
8443 啟用 TLS 時,路由器與訊息處理器之間的通訊 路由器 訊息處理器
8998 路由器與訊息處理工具之間的通訊 路由器 訊息處理器
9000 預設 Edge 管理 UI 通訊埠 瀏覽器 管理 UI 伺服器
9042 CQL 原生傳輸 路由器
訊息處理器
管理伺服器
Cassandra
9099 外部 IDP 驗證 IDP、瀏覽器和管理伺服器 Apigee SSO
10389 LDAP 連接埠 管理伺服器 SymasLDAP
15999 健康狀態檢查通訊埠。負載平衡器會使用這個通訊埠判斷路由器是否可用。 負載平衡器 路由器
59001 apigee-validate 公用程式用來測試 Edge 安裝作業的通訊埠 apigee-validate 路由器
59002 傳送 SmartDocs 網頁要求的路由器通訊埠 SmartDocs 路由器

訊息處理器會保持專屬連線集區對 Cassandra 開啟,且設定為永不逾時。如果訊息處理器和 Cassandra 伺服器之間有防火牆,防火牆可能會導致連線逾時。不過,訊息處理器並非設計用於重新建立與 Cassandra 的連線。

為避免這種情況,Apigee 建議 Cassandra 伺服器、Message Processor 和路由器位於同一個子網路中,這樣在部署這些元件時就不會用到防火牆。

如果路由器和訊息處理器之間有防火牆,且已設定閒置 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. 重新啟動 Message Processor:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. 在所有路由器上,編輯 /opt/apigee/customer/application/router.properties ,加入下列屬性。如果檔案不存在,請建立檔案。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. 重新啟動路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart