需要管理防火牆的能力不只是虛擬主機而已;VM 和實體主機 防火牆必須允許元件所需的通訊埠流量,與各個元件相互通訊 其他。
連接埠圖表
下圖顯示單一資料中心和多個資料中心的通訊埠需求 資料中心的設定:
單一資料中心
下圖顯示單一資料中每個邊緣元件的通訊埠需求 中心設定:
此圖表的注意事項:
- 前置字串為「M」的通訊埠是用來管理元件的通訊埠,且必須在 元件,方便管理伺服器存取
- Edge UI 需要在 API Proxy 公開的通訊埠上存取路由器,才能提供支援 追蹤工具中的「Send」按鈕。
- 您可以設定 JMX 通訊埠存取權,要求輸入使用者名稱/密碼。詳情請見 詳情請參閱如何監控。
- 您可以選擇針對特定連線設定 TLS/SSL 存取,讓 不同的通訊埠請參閱TLS/SSL: 內容。
- 您可以設定管理伺服器和 Edge UI,透過外部 SMTP 傳送電子郵件 伺服器若執行這項操作,請務必確保管理伺服器和 UI 可以存取必要的資源 通訊埠 (未顯示)。如果是非 TLS SMTP,通訊埠號碼通常為 25。適用對象 已啟用 TLS 的 SMTP (通常是 465),但請與您的 SMTP 供應商聯絡。
多個資料中心
如果安裝 12-node 具備兩個資料中心的叢集設定,確保兩個資料中心內的節點 可透過以下所示的通訊埠進行通訊:
注意事項:
- 所有管理伺服器都必須能存取所有其他資料中的所有 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 節點的拓撲中,伺服器必須能連線至 通訊埠 5672 的代理程式。 |
|
8083 | Qpid 伺服器上的預設管理通訊埠,必須在元件上開啟,才能使用 可存取管理伺服器 | |
路由器 | 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 節點的拓撲中,伺服器必須能連線至 通訊埠 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) |
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 逾時設定, 請參考以下建議:
- 在 Linux OS 的 sysctl 設定中設定
net.ipv4.tcp_keepalive_time = 1800
,其中 1800 應小於防火牆的閒置 tcp 逾時值。這項設定應保持 連線處於已建立狀態,因此防火牆不會中斷連線。 - 在所有訊息處理器上編輯
/opt/apigee/customer/application/message-processor.properties
即可新增下列屬性如果檔案不存在,請建立一個。conf_system_cassandra.maxconnecttimeinmillis=-1
- 重新啟動訊息處理器:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 在所有路由器上編輯
/opt/apigee/customer/application/router.properties
即可新增下列屬性如果檔案不存在,請建立一個。conf_system_cassandra.maxconnecttimeinmillis=-1
- 重新啟動路由器:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart