Edge for Private Cloud v4.18.01
硬體需求
您必須符合下列最低硬體需求,才能在正式環境中建立高可用性基礎架構。在「安裝拓撲」中描述的所有安裝情境,都必須符合下表列出的安裝元件最低硬體需求。
在這些表格中,硬碟需求是作業系統所需硬碟空間以外的額外需求。視應用程式和網路流量而定,安裝作業可能需要比下列資源更多或更少的資源。
| 安裝元件 | RAM | CPU | 最低硬碟空間 |
|---|---|---|---|
| Cassandra | 16 GB | 8 核心 | 250 GB 本機儲存空間,搭載 SSD 或支援 2000 IOPS 的快速硬碟 |
| 同一部電腦上的訊息處理器/路由器 | 16 GB | 8 核心 | 100 GB |
| Analytics - Postgres/Qpid 位於同一部伺服器 (不建議用於正式環境) | 16GB* | 8 核心* | 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上* |
| Analytics - Postgres standalone | 16GB* | 8 核心* | 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上* |
| Analytics - Qpid standalone | 8 GB | 4 核心 | 30 GB 至 50 GB 的本機儲存空間,並使用 SSD 或快速 HDD
如要安裝超過 250 TPS,建議使用支援 1000 IOPS 的本機儲存空間 HDD。 預設的 Qpid 佇列大小為 20 GB。如需增加容量,請新增額外的 Qpid 節點。 |
| 其他 (OpenLDAP、UI、管理伺服器) | 4 GB | 2 核心 | 60 GB |
* 根據處理量調整 Postgres 系統需求:
- 低於 250 TPS:可考慮使用 8 GB、4 核心,以及支援 1000 IOPS 以上的受管理網路儲存空間***
- 超過 250 TPS:16 GB、8 核心、代管網路儲存空間***,支援 1000 IOPS 以上
- 每秒交易數超過 1000:16 GB、8 核心、代管網路儲存空間***,支援 2000 IOPS 以上
- 超過 2000 TPS:32 GB、16 核心、受管理網路儲存空間*** 支援 2000 IOPS 以上
- 超過 4000 TPS:64 GB、32 核心、受管理網路儲存空間*** 支援 4000 IOPS 以上
** Postgres 硬碟值是以 Edge 擷取的現成分析資料為準。 如果您在 Analytics 資料中加入自訂值,這些值就應相應增加。請使用下列公式估算所需儲存空間:
bytes of storage needed =
(# bytes of analytics data/request) *
(requests/second) *
(seconds/hour) *
(hours of peak usage/day) *
(days/month) *
(months of data retention)
例如:
(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)
= 1,194,393,600,000 bytes or 1194.4 GB
*** 建議使用網路儲存空間儲存 PostgreSQL 資料庫,原因如下:
- 可視需要動態擴充儲存空間大小。
- 在現今大多數的環境/儲存/網路子系統中,網路 IOPS 都能即時調整。
- 您可以啟用儲存層級快照,做為備份和復原解決方案的一部分。
此外,如要安裝 Monetization Services,請參閱下列硬體需求:
| 含營利功能的元件 | RAM | CPU | 硬碟 |
|---|---|---|---|
| 管理伺服器 (含營利服務) | 8 GB | 4 核心 | 60 GB |
| Analytics - Postgres/Qpid 位於同一部伺服器 | 16 GB | 8 核心 | 500 GB 至 1 TB 的網路儲存空間,最好使用 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。 |
| Analytics - Postgres standalone | 16 GB | 8 核心 | 500 GB 至 1 TB 的網路儲存空間,最好使用 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。 |
| Analytics - Qpid standalone | 8 GB | 4 核心 | 40 GB 至 500 GB 的本機儲存空間,搭配 SSD 或快速 HDD
如要安裝超過 250 TPS,建議使用支援 1000 IOPS 的本機儲存空間 HDD。 |
如要安裝 API BaaS,請參閱下列硬體需求:
| API BaaS 元件 | RAM | CPU | 硬碟 |
|---|---|---|---|
| ElasticSearch* | 8 GB | 4 核心 | 60 至 80 GB |
| API BaaS Stack* | 8 GB | 4 核心 | 60 至 80 GB |
| API BaaS 入口網站 | 1GB | 2 核心 | 20GB |
| Cassandra** | 16 GB | 8 核心 | 250 GB 本機儲存空間,搭載 SSD 或支援 2000 IOPS 的快速硬碟 |
* 您可以在同一個節點上安裝 ElasticSearch 和 API BaaS Stack。如果需要,請將 ElasticSearch 設定為使用 4 GB 的記憶體 (預設值)。如果 ElasticSearch 安裝在自己的節點上,請將其設定為使用 6 GB 的記憶體。
** 選擇性;通常 Edge 和 API BaaS 服務會使用相同的 Cassandra 叢集。
作業系統和第三方軟體需求
這些安裝說明和隨附的安裝檔案已在「支援的軟體和支援的版本」列出的作業系統和第三方軟體上測試過。
建立 Apigee 使用者
安裝程序會建立名為「apigee」的 Unix 系統使用者。Edge 目錄和檔案由「apigee」擁有,Edge 程序也是如此。也就是說,Edge 元件會以「apigee」使用者身分執行。如有需要,您可以改用其他使用者身分執行元件。
安裝目錄
根據預設,安裝程式會將所有檔案寫入 /opt/apigee 目錄。你無法變更這個目錄位置。您無法變更這個目錄,但可以建立符號連結,將 /opt/apigee 對應至其他位置,如下所述。
在本指南的操作說明中,安裝目錄標示為 /opt/apigee。
從 /opt/apigee 建立符號連結
建立符號連結前,請先建立名為「apigee」的使用者和群組。這與 Edge 安裝程式建立的群組和使用者相同。
如要建立符號連結,請先執行下列步驟,再下載 bootstrap_4.18.01.sh 檔案。 您必須以根使用者身分執行所有這些步驟:
- 建立「apigee」使用者和群組:
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- 從
/opt/apigee建立符號連結至所需安裝根目錄:ln -Ts /srv/myInstallDir /opt/apigee
其中 /srv/myInstallDir 是 Edge 檔案的所需位置。
- 將安裝根目錄和符號連結的擁有權變更為「apigee」使用者:
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
Java
安裝前,請先在每部電腦上安裝支援的 Java 1.8 版本。 如要查看支援的 JDK,請參閱「支援的軟體和支援的版本」。
請確保 JAVA_HOME 指向執行安裝作業的使用者 JDK 根目錄。
SELinux
根據 SELinux 的設定,Edge 可能會遇到安裝及啟動 Edge 元件的問題。如有必要,您可以在安裝期間停用 SELinux 或設為寬鬆模式,然後在安裝完成後重新啟用。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
網路設定
建議您先檢查網路設定,再進行安裝。安裝程式會假設所有電腦都有固定 IP 位址。使用下列指令驗證設定:
hostname會傳回電腦名稱hostname -i會傳回可從其他機器定址的主機名稱 IP 位址。
視作業系統類型和版本而定,如果主機名稱未正確設定,您可能需要編輯 /etc/hosts 和 /etc/sysconfig/network。詳情請參閱特定作業系統的說明文件。
如果伺服器有多個介面卡,「hostname -i」指令會傳回以空格分隔的 IP 位址清單。根據預設,Edge 安裝程式會使用傳回的第一個 IP 位址,但這可能不適用於所有情況。或者,您也可以在安裝設定檔中設定下列屬性:
ENABLE_DYNAMIC_HOSTIP=y
將該屬性設為「y」後,安裝程式會提示您選取要使用的 IP 位址,做為安裝程序的一部分。預設值為「n」。詳情請參閱「Edge 設定檔參考資料」。
TCP Wrappers
TCP Wrappers 可能會封鎖某些通訊埠的通訊,並影響 OpenLDAP、Postgres 和 Cassandra 的安裝作業。在這些節點上,檢查 /etc/hosts.allow 和 /etc/hosts.deny,確保必要的 OpenLDAP、Postgres 和 Cassandra 連接埠沒有任何限制。
iptables
確認沒有 iptables 政策會阻礙必要 Edge 連接埠上的節點連線。如有必要,您可以在安裝期間使用下列指令停止 iptables:
sudo/etc/init.d/iptables stop
在 CentOS 7.x 上:
systemctl stop firewalld
確認 Edge Router 可以存取 /etc/rc.d/init.d/functions
Edge Router 和 BaaS Portal 節點會使用 Nginx 路由器,且需要 /etc/rc.d/init.d/functions 的讀取權限。
如果安全程序要求您在 /etc/rc.d/init.d/functions 上設定權限,請勿將權限設為 700,否則路由器將無法啟動。權限可以設為 744,允許讀取 /etc/rc.d/init.d/functions。
Cassandra
所有 Cassandra 節點都必須連線至環狀拓撲。Cassandra 會將資料副本儲存在多個節點上,確保可靠性及容錯能力。每個 Edge 鍵空間的複製策略會決定副本的放置位置。詳情請參閱「About Cassandra Replication Factor and Consistency Level」。
Cassandra 會根據可用記憶體自動調整 Java 堆積大小。詳情請參閱「調整 Java 資源」。效能降低或記憶體用量偏高時。
安裝 Edge for Private Cloud 後,您可以檢查 /opt/apigee/apigee-cassandra/conf/cassandra.yaml 檔案,確認 Cassandra 設定正確無誤。舉例來說,請確認 Edge for Private Cloud 安裝指令碼已設定下列屬性:
cluster_nameinitial_tokenpartitionerseedslisten_addressrpc_addresssnitch
PostgreSQL 資料庫
安裝 Edge 後,您可以根據系統可用的 RAM 容量,調整下列 PostgreSQL 資料庫設定:
conf_postgresql_shared_buffers = 35% of RAM # min 128kB conf_postgresql_effective_cache_size = 45% of RAM conf_postgresql_work_mem = 512MB # min 64kB
如要設定這些值,請按照下列步驟操作:
- 編輯 postgresql.properties 檔案:
vi /opt/apigee/customer/application/postgresql.properties
如果檔案不存在,請建立檔案。
- 設定上述屬性。
- 儲存編輯內容。
- 重新啟動 PostgreSQL 資料庫:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
系統限制
請確認您已在 Cassandra 和 訊息處理器 節點上設定下列系統限制:
- 在 Cassandra 節點上,為安裝使用者 (預設為「apigee」) 設定軟硬 memlock、nofile 和位址空間 (as) 限制,如以下
/etc/security/limits.d/90-apigee-edge-limits.conf所示:apigee soft memlock unlimited apigee hard memlock unlimited apigee soft nofile 32768 apigee hard nofile 65536 apigee soft as unlimited apigee hard as unlimited
- 在訊息處理器節點上,於
/etc/security/limits.d/90-apigee-edge-limits.conf中將開啟的檔案描述元數量上限設為 64K,如下所示:apigee soft nofile 32768 apigee hard nofile 65536
如有需要,您可以提高上限。舉例來說,如果您一次開啟大量暫存檔。
jsvc
使用 API BaaS 的前提是必須有「jsvc」。安裝 API BaaS 時,系統會安裝 1.0.15-dev 版。
網路安全服務 (NSS)
網路安全服務 (NSS) 是一組程式庫,可支援開發啟用安全性的用戶端和伺服器應用程式。請確認您已安裝 NSS v3.19 以上版本。
如要查看目前的版本:
yum info nss
如要更新 NSS:
yum update nss
詳情請參閱 RedHat 的這篇文章。
使用 NSCD (名稱服務快取精靈) 時,停用 IPv6 的 DNS 查詢
如果您已安裝並啟用 NSCD (名稱服務快取精靈),訊息處理器會執行兩次 DNS 查詢:一次查詢 IPv4,一次查詢 IPv6。使用 NSCD 時,您應停用 IPv6 的 DNS 查詢。
如要停用 IPv6 的 DNS 查詢,請按照下列步驟操作:
- 在每個訊息處理器節點上,編輯
/etc/nscd.conf - 設定下列屬性:
enable-cache hosts no
在 Google Cloud Platform 上為 RedHat/CentOS 7 停用 IPv6
如果您要在 Google Cloud Platform 上的 RedHat 7 或 CentOS 7 安裝 Edge,則必須在所有 Qpid 節點上停用 IPv6。
如需如何停用 IPv6 的說明,請參閱特定 OS 版本的 RedHat 或 CentOS 說明文件。例如,您可以:
- 在編輯器中開啟
/etc/hosts。 - 在下列程式碼行的第一欄插入「#」字元,將該行註解排除:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- 儲存檔案。
AWS AMI
如果您要在 Red Hat Enterprise Linux 7.x 的 AWS Amazon Machine Image (AMI) 上安裝 Edge,請先執行下列指令:
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
工具
安裝程式會使用 EL5 或 EL6 提供的標準版 UNIX 工具。
|
awk |
expr |
libxslt |
每分鐘轉數 |
unzip |
|
basename |
grep |
lua-socket |
rpm2cpio |
useradd |
|
bash |
主機名稱 |
ls |
sed |
wc |
|
bc |
id |
net-tools |
sudo |
wget |
|
curl |
libaio |
perl (來自 procps) |
tar |
xerces-c |
| cyrus-sasl | libdb4 | pgrep (來自 procps) | tr | 好吃 |
|
日期 |
libdb-cxx |
ps |
uuid |
chkconfig |
| 目錄名稱 | libibverbs | pwd | uname | |
| echo | librdmacm | python |
ntpdate
建議同步處理伺服器時間。如果尚未設定,ntpdate 公用程式可達到這個目的,用來驗證伺服器是否已同步處理時間。您可以使用 yum install ntp 安裝公用程式。這項功能特別適合用於複製 OpenLDAP 設定。請注意,您是以世界標準時間設定伺服器時區。
openldap 2.4
地端部署需要 OpenLDAP 2.4。如果伺服器已連上網際網路,Edge 安裝指令碼會下載並安裝 OpenLDAP。如果伺服器沒有網際網路連線,請務必先安裝 OpenLDAP,再執行 Edge 安裝指令碼。在 RHEL/CentOS 上,您可以執行 yum install openldap-clients openldap-servers 安裝 OpenLDAP。
如果是 13 部主機的安裝作業,以及有兩個資料中心的 12 部主機安裝作業,您需要 OpenLDAP 複寫,因為有多個節點代管 OpenLDAP。
防火牆和虛擬主機
「virtual」一詞在 IT 領域中經常被過度使用,Apigee Edge Private Cloud 部署作業和虛擬主機也是如此。為求清楚,我們將「virtual」一詞的兩種主要用途說明如下:
- 虛擬機器 (VM):不需要,但部分部署作業會使用 VM 技術,為 Apigee 元件建立獨立伺服器。與實體主機一樣,VM 主機可以有網路介面和防火牆。
- 虛擬主機:網路端點,類似於 Apache 虛擬主機。
VM 中的路由器可以公開多個虛擬主機 (只要主機別名或介面埠彼此不同)。
以命名為例,單一實體伺服器 A 可能會執行兩個 VM,分別命名為「VM1」和「VM2」。假設「VM1」公開虛擬乙太網路介面,該介面在 VM 內命名為「eth0」,並由虛擬化機制或網路 DHCP 伺服器指派 IP 位址 111.111.111.111;然後假設 VM2 也公開名為「eth0」的虛擬乙太網路介面,並指派 IP 位址 111.111.111.222。
我們可能在每個 VM 中執行 Apigee 路由器。路由器會公開虛擬主機端點,如下列假設範例所示:
VM1 中的 Apigee 路由器會在 eth0 介面 (具有特定 IP 位址) 上公開三個虛擬主機:api.mycompany.com:80、api.mycompany.com:443 和 test.mycompany.com:80。
VM2 中的路由器會公開 api.mycompany.com:80 (與 VM1 公開的名稱和連接埠相同)。
實體主機的作業系統可能設有網路防火牆,如果是,則必須設定該防火牆,才能傳遞要傳送至虛擬介面 (111.111.111.111:{80, 443} 和 111.111.111.222:80) 上公開通訊埠的 TCP 流量。此外,每個 VM 的作業系統可能會在 eth0 介面上提供自己的防火牆,這些防火牆也必須允許通訊埠 80 和 443 的流量連線。
基本路徑是將 API 呼叫路由至您可能已部署的不同 API Proxy 時,所涉及的第三個元件。如果 API Proxy 套件具有不同的 basepath,即可共用端點。舉例來說,一個 basepath 可以定義為 http://api.mycompany.com:80/,另一個則定義為 http://api.mycompany.com:80/salesdemo。
在這種情況下,您需要某種負載平衡器或流量導向器,將 http://api.mycompany.com:80/ 流量分配到兩個 IP 位址 (VM1 上的 111.111.111.111 和 VM2 上的 111.111.111.222)。這項功能專屬於您的特定安裝作業,並由當地網路群組設定。
部署 API 時會設定 basepath。從上述範例中,您可以在機構 mycompany-org 中部署兩個 API (mycompany 和 testmycompany),並使用主機別名為 api.mycompany.com 的虛擬主機,以及設為 80 的連接埠。如果您未在部署作業中宣告 basepath,路由器就不知道要將傳入的要求傳送至哪個 API。
不過,如果您使用 /salesdemo 的基本網址部署 API testmycompany,使用者就會透過 http://api.mycompany.com:80/salesdemo 存取該 API。如果您使用 / 的基本網址部署 API mycompany,使用者就會透過 http://api.mycompany.com:80/ 網址存取 API。
邊緣通訊埠需求
管理防火牆不只是虛擬主機的需要,VM 和實體主機防火牆都必須允許元件彼此通訊所需的通訊埠流量。
下圖顯示每個 Edge 元件的連接埠需求:

這張圖表的注意事項:
- * 如果在路由器和訊息處理器之間設定 TLS/SSL,則只有在路由器存取訊息處理器時,才需要開啟訊息處理器上的通訊埠 8082。如果您未在路由器和訊息處理器之間設定 TLS/SSL,訊息處理器上仍須開啟預設設定的 8082 連接埠,才能管理元件,但路由器不需要存取該連接埠。
- 以「M」為前置字元的通訊埠用於管理元件,且必須在元件上開啟,管理伺服器才能存取。
- 下列元件必須存取管理伺服器上的通訊埠 8080:路由器、訊息處理器、UI、Postgres 和 Qpid。
- 訊息處理器必須開啟通訊埠 4528 做為管理通訊埠。如果您有多個訊息處理器,這些處理器都必須能透過 4528 埠互相存取 (如上圖所示,訊息處理器上的 4528 埠以迴路箭頭表示)。如果您有多個資料中心,則所有資料中心的所有訊息處理器都必須能存取該連接埠。
- 雖然並非必要,但您可以在路由器上開啟 4527 連接埠,供任何訊息處理器存取。否則,您可能會在訊息處理器記錄檔中看到錯誤訊息。
- 路由器必須開啟通訊埠 4527 做為管理通訊埠。如果你有多個路由器,這些路由器必須都能透過通訊埠 4527 互相存取 (如上圖所示,路由器上的通訊埠 4527 以迴圈箭頭表示)。
- Edge UI 必須存取 API Proxy 公開的連接埠上的路由器,才能支援追蹤工具中的「傳送」按鈕。
- 管理伺服器需要存取 Cassandra 節點上的 JMX 連接埠。
- 您可以設定 JMX 連接埠的存取權,要求使用者提供使用者名稱/密碼。詳情請參閱「如何監控」。
- 您可以視需要為特定連線設定 TLS/SSL 存取權,這些連線可使用不同通訊埠。詳情請參閱「TLS/SSL」。
- 如要設定兩個 Postgres 節點以使用主備援複製功能,您必須在每個節點上開啟通訊埠 22,才能透過 SSH 存取。您可以選擇在個別節點上開啟連接埠,允許 SSH 存取。
- 您可以設定管理伺服器和 Edge UI,透過外部 SMTP 伺服器傳送電子郵件。如果使用,請務必確保管理伺服器和使用者介面可以存取 SMTP 伺服器上的必要通訊埠。如果使用非 TLS SMTP,通訊埠編號通常為 25。如果是啟用 TLS 的 SMTP,通常是 465,但請向 SMTP 供應商確認。
下表列出 Edge 元件需要在防火牆中開啟的通訊埠:
| 元件 | 通訊埠 | 說明 |
|---|---|---|
| 標準 HTTP 通訊埠 | 80, 443 | HTTP,以及您用於虛擬主機的任何其他通訊埠 |
| 管理伺服器 | 8080 | 用於 Edge 管理 API 呼叫的通訊埠。這些元件需要存取管理伺服器上的通訊埠 8080:路由器、訊息處理器、UI、Postgres 和 Qpid。 |
| 1099 | JMX 連接埠 | |
| 4526 | 適用於分散式快取和管理呼叫 | |
| 管理 UI | 9000 | 瀏覽器存取管理 UI 的連接埠 |
| 訊息處理器 | 8998 | 訊息處理器連接埠,用於接收來自路由器的通訊內容 |
| 8082 |
訊息處理器的預設管理連接埠,必須在元件上開啟,管理伺服器才能存取。 如果您在路由器和訊息處理器之間設定 TLS/SSL,路由器會使用這項設定檢查訊息處理器的健康狀態。 |
|
| 1101 | JMX 連接埠 | |
| 4528 | 用於訊息處理器之間的分散式快取和管理呼叫,以及路由器和管理伺服器的通訊 | |
| 路由器 | 8081 | 路由器的預設管理連接埠,且必須在元件上開啟,才能供管理伺服器存取。 |
| 4527 | 適用於分散式快取和管理呼叫 | |
| 15999 |
健康狀態檢查通訊埠。負載平衡器會使用這個通訊埠,判斷路由器是否可用。 如要取得路由器狀態,負載平衡器會向路由器上的通訊埠 15999 發出要求: curl -v http://routerIP:15999/v1/servers/self/reachable 如果路由器可連線,要求會傳回 HTTP 200。 |
|
| 59001 | apigee-validate 公用程式用於測試 Edge 安裝作業的通訊埠。
這項公用程式必須存取路由器上的通訊埠 59001。如要進一步瞭解通訊埠 59001,請參閱「測試安裝」。 |
|
| ZooKeeper | 2181 | 供管理伺服器、路由器、訊息處理器等其他元件使用 |
| 2888、3888 | ZooKeeper 內部用於 ZooKeeper 叢集 (又稱 ZooKeeper 集合) 通訊 | |
| Cassandra | 7000、9042、9160 | Apache Cassandra 連接埠,用於 Cassandra 節點之間的通訊,以及供其他 Edge 元件存取。 |
| 7199 | JMX 通訊埠。必須開放管理伺服器存取。 | |
| Qpid | 5672 | 用於從路由器和訊息處理器到 Qpid 伺服器的通訊 |
| 8083 | Qpid 伺服器上的預設管理連接埠,且必須在元件上開啟,供管理伺服器存取。 | |
| 1102 | JMX 連接埠 | |
| 4529 | 適用於分散式快取和管理呼叫 | |
| Postgres | 5432 | 用於 Qpid/管理伺服器與 Postgres 之間的通訊 |
| 8084 | Postgres 伺服器上的預設管理通訊埠,且必須在元件上開啟,才能供管理伺服器存取。 | |
| 1103 | JMX 連接埠 | |
| 4530 | 適用於分散式快取和管理呼叫 | |
| 22 | 如要設定兩個 Postgres 節點以使用主備援複製功能,您必須在每個節點上開啟通訊埠 22,才能進行 SSH 存取。 | |
| LDAP | 10389 | OpenLDAP |
| SmartDocs | 59002 | Edge 路由器上的連接埠,SmartDocs 頁面要求會傳送至該處。 |
下表以數字列出相同通訊埠,並顯示來源和目的地元件:
| 通訊埠號碼 | 目的 | 來源元件 | 目的地元件 |
|---|---|---|---|
| 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 |
用於將 Router 和 訊息處理器 的分析資料傳送至 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) |
| 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 逾時,建議您採取下列做法:
- 在 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
如果您安裝 12 個主機叢集設定,並使用兩個資料中心,請確保兩個資料中心的節點可透過下列通訊埠通訊:

API BaaS 通訊埠需求
如果您選擇安裝 API BaaS,請新增 API BaaS Stack 和 API BaaS Portal 元件。 這些元件會使用下圖所示的連接埠:

這張圖表的注意事項:
- API BaaS 入口網站絕不會直接向 BaaS Stack 節點發出要求。開發人員登入入口網站時,入口網站應用程式會下載至瀏覽器。在瀏覽器中執行的入口網站應用程式,會向 BaaS Stack 節點發出要求。
- API BaaS 的正式環境安裝作業會在 API BaaS 入口網站節點和 API BaaS Stack 節點之間使用負載平衡器。設定入口網站和發出 BaaS API 呼叫時,您會指定負載平衡器的 IP 位址或 DNS 名稱,而非 Stack 節點。
- 所有 Stack 節點都必須開啟通訊埠 2551,才能從所有其他 Stack 節點存取 (如上圖所示,Stack 節點上的通訊埠 2551 以迴圈箭頭表示)。如果您有多個資料中心,則所有資料中心的所有堆疊節點都必須能存取該連接埠。
- 您必須設定所有 BaaS Stack 節點,才能透過外部 SMTP 伺服器傳送電子郵件。對於非 TLS SMTP,通訊埠編號通常為 25。如果是啟用 TLS 的 SMTP,通常是 465,但請向 SMTP 供應商確認。
- Cassandra 節點可專用於 API BaaS,或與 Edge 共用。
下表列出各元件需要在防火牆中開啟的預設通訊埠:
| 元件 | 通訊埠 | 說明 |
|---|---|---|
| API BaaS 入口網站 | 9000 | API BaaS UI 的連接埠 |
| API BaaS Stack | 8080 | 接收 API 要求的通訊埠 |
| 2551 |
所有 Stack 節點之間的通訊埠。資料中心內的所有其他 Stack 節點都必須可存取。 如果您有多個資料中心,則所有資料中心的所有 Stack 節點都必須能存取該連接埠。 |
|
| ElasticSearch | 9200 至 9400 | 用於與 API BaaS Stack 通訊,以及在 ElasticSearch 節點之間通訊 |
授權
每次安裝 Edge 時,都需要使用從 Apigee 取得的專屬授權檔案。安裝管理伺服器時,您需要提供授權檔案的路徑,例如 /tmp/license.txt。
安裝程式會將授權檔案複製到 /opt/apigee/customer/conf/license.txt。
如果授權檔案有效,管理伺服器會驗證到期日和允許的訊息處理器 (MP) 數量。如果任何授權設定過期,您可以在下列位置找到記錄:/opt/apigee/var/log/edge-management-server/logs。
在這種情況下,請聯絡 Apigee Edge 支援團隊,瞭解遷移作業的詳細資訊。
如果還沒有授權,請與 Apigee 銷售團隊聯絡。