通訊埠需求

需要管理防火牆的能力不只是虛擬主機而已;VM 和實體主機 防火牆必須允許元件所需的通訊埠流量,與各個元件相互通訊 其他。

連接埠圖表

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

單一資料中心

下圖顯示單一資料中每個邊緣元件的通訊埠需求 中心設定:

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

此圖表的注意事項:

  • 前置字串為「M」的通訊埠是用來管理元件的通訊埠,且必須在 元件,方便管理伺服器存取
  • Edge UI 需要在 API Proxy 公開的通訊埠上存取路由器,才能提供支援 追蹤工具中的「Send」按鈕。
  • 您可以設定 JMX 通訊埠存取權,要求輸入使用者名稱/密碼。詳情請見 詳情請參閱如何監控
  • 您可以選擇針對特定連線設定 TLS/SSL 存取,讓 不同的通訊埠請參閱TLS/SSL: 內容。
  • 您可以設定管理伺服器和 Edge UI,透過外部 SMTP 傳送電子郵件 伺服器若執行這項操作,請務必確保管理伺服器和 UI 可以存取必要的資源 通訊埠 (未顯示)。如果是非 TLS SMTP,通訊埠號碼通常為 25。適用對象 已啟用 TLS 的 SMTP (通常是 465),但請與您的 SMTP 供應商聯絡。

多個資料中心

如果安裝 12-node 具備兩個資料中心的叢集設定,確保兩個資料中心內的節點 可透過以下所示的通訊埠進行通訊:

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

注意事項:

  • 所有管理伺服器都必須能存取所有其他資料中的所有 Cassandra 節點 例如 AI 開發原則
  • 所有資料中心中的所有訊息處理器都必須能夠透過 通訊埠 4528
  • 管理伺服器必須能夠透過連接埠 8082 存取所有訊息處理器。
  • 所有管理伺服器和所有 Qpid 節點都必須能夠存取所有其他的 Postgres 這些功能以虛擬方式整合為 類似實體資料中心的資源
  • 基於安全性考量,除了上方顯示的通訊埠和任何其他通訊埠外 您的網路需求,因此資料之間不應開啟其他通訊埠 例如 AI 開發原則

根據預設,元件之間的通訊不會加密。您可以透過以下方式新增加密機制: 正在安裝 Apigee mTLS。詳情請參閱 Apigee mTLS 簡介

通訊埠詳細資料

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

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

訊息處理器必須開啟通訊埠 4528 做為管理通訊埠。如有多個 訊息處理器,訊息處理者必須能夠透過通訊埠 4528 (以 上圖中,關於訊息處理器通訊埠 4528 的環狀箭頭)。如果 多個資料中心,前提是所有資料中的訊息處理器都必須能夠存取這個通訊埠 例如 AI 開發原則

8082

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

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

訊息處理器上的通訊埠 8082。當您上線時, 設定路由器和訊息處理器之間的 TLS/SSL。如果不設定 TLS/SSL 在預設情況下,通訊埠 8082 仍必須 必須在訊息處理器上開啟即可管理元件,但路由器並不需要 可以授予使用者存取權

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

用於在同一部 Qpid 伺服器與代理元件之間通訊 節點。在含有多個 Qpid 節點的拓撲中,伺服器必須能連線至 通訊埠 5672 的代理程式。

8083 Qpid 伺服器上的預設管理通訊埠,必須在元件上開啟,才能使用 可存取管理伺服器
8090 Qpid 代理程式的預設通訊埠;必須保持開啟才能存取 或管理 API 來進行監控
路由器 4527 適用於分散式快取和管理呼叫。

路由器必須開啟通訊埠 4527 做為其管理通訊埠。如果您有多個路由器 都必須能夠透過 4527 通訊埠 (以 示意圖,瞭解路由器的通訊埠 4527)。

您可以開啟路由器的 4527 通訊埠 (這並非必要), 訊息處理器。否則,「訊息處理者」中可能會顯示錯誤訊息 記錄檔

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

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

如要取得路由器的狀態,負載平衡器會向 路由器:

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

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

59001 用於測試 apigee-validate 公用程式測試 Edge 安裝作業的通訊埠。 這個公用程式需要存取路由器上的通訊埠 59001。詳情請見 如要進一步瞭解通訊埠 59001,請測試安裝作業
SmartDocs 59002 傳送 SmartDoc 頁面要求的 Edge 路由器上的通訊埠。
ZooKeeper 2181 由管理伺服器、路由器、訊息處理器等其他元件使用
2888、3888 ZooKeeper 會在內部用於 ZooKeeper 叢集 (也稱為 ZooKeeper 集體) 通訊

下一個表格列出相同的通訊埠 (以數字形式列出),且來源和目的地 元件:

通訊埠號碼 目的 來源元件 目的地元件
virtual_host_port HTTP 以及用於虛擬主機 API 呼叫流量的任何其他通訊埠。通訊埠 80 和 443 訊息路由器可以終止 TLS/SSL 連線。 外部用戶端 (或負載平衡器) 訊息路由器上的接聽器
1099 至 1103 JMX 管理 JMX 用戶端 Management Server (1099)
訊息處理器 (1101)
Qpid 伺服器 (1102)
Postgres 伺服器 (1103)
2181 動物保密協議 (Zookeeper) 客戶溝通 管理伺服器
路由器
訊息處理器
Qpid 伺服器
Postgres 伺服器
Zookeeper
2888 和 3888 動物園人員跨節點管理 Zookeeper Zookeeper
4526 遠端程序呼叫 (RPC) 管理通訊埠 管理伺服器 管理伺服器
4527 用於分散式快取和管理呼叫的遠端程序呼叫 (RPC) 通訊埠,以及用於通訊 連線至路由器 管理伺服器
路由器
路由器
4528 適用於訊息處理器之間的分散式快取呼叫及用於通訊 連線至路由器 管理伺服器
路由器
訊息處理器
訊息處理器
4529 用於分散式快取和管理呼叫的 RPC 管理通訊埠 管理伺服器 Qpid 伺服器
4530 用於分散式快取和管理呼叫的 RPC 管理通訊埠 管理伺服器 Postgres 伺服器
5432 Postgres 用戶端 Qpid 伺服器 Postgres
5636 營利 外部 JMS 元件 管理伺服器
5672
  • 單一資料中心:用於從路由器傳送數據分析,以及 傳送至 Qpid 的訊息處理器,
  • 多個資料中心:用於 Qpid 節點之間的通訊 分別位於不同資料中心

用於在同一部 Qpid 伺服器與代理元件之間通訊 節點。在含有多個 Qpid 節點的拓撲中,伺服器必須能連線至 通訊埠 5672 的代理程式。

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)
8090 Qpid 代理程式的預設管理通訊埠,用於管理及監控佇列。 瀏覽器或 API 用戶端 Qpid 代理程式 (apigee-qpidd)
8443 TLS 啟用時,路由器與訊息處理器之間的通訊 路由器 訊息處理器
8998 路由器與訊息處理器之間的通訊 路由器 訊息處理器
9000 預設邊緣管理 UI 通訊埠 瀏覽器 管理 UI 伺服器
9042 CQL 原生傳輸 路由器
訊息處理器
管理伺服器
Cassandra
9099 外部 IdP 驗證 IdP、瀏覽器和管理伺服器 Apigee 單一登入 (SSO)
9160 Cassandra 等待用戶端 路由器
訊息處理器
管理伺服器
Cassandra
10389 LDAP 通訊埠 管理伺服器 OpenLDAP
15999 健康狀態檢查通訊埠。負載平衡器會使用這個通訊埠來判斷路由器是否 廣告。 負載平衡器 路由器
59001 apigee-validate 公用程式使用的通訊埠,用於測試 Edge 安裝作業 apigee-validate 路由器
59002 傳送 SmartDoc 頁面要求的路由器通訊埠 SmartDocs 路由器

訊息處理器會讓專屬連線集區保持開放 Cassandra (已設定的 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. 在所有路由器上編輯 /opt/apigee/customer/application/router.properties 即可新增下列屬性如果檔案不存在,請建立一個。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. 重新啟動路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart