Edge for Private Cloud 4.18.01 版
硬體需求
您必須符合下列最低硬體需求,才能在正式環境中建構高可用性基礎架構。針對「安裝拓撲」一節所述的所有安裝情境,下表列出安裝元件的最低硬體需求。
在這些表格中,硬碟需求是指作業系統所需磁碟空間以外的空間。視應用程式和網路流量而定,安裝作業所需的資源可能多於或少於下列數量。
| 安裝元件 | RAM | CPU | 硬碟最低需求 |
|---|---|---|---|
| Cassandra | 16 GB | 8 核心 | 250 GB 本機儲存空間,搭配 SSD 或支援 2000 IOPS 的快速 HDD |
| 訊息處理器/路由器位於同一部機器 | 16 GB | 8 核心 | 100 GB |
| Analytics - Postgres/Qpid on same server (not recommended for production) | 16GB* | 8 核心* | 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上* |
| Analytics - Postgres 獨立式 | 16GB* | 8 核心* | 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上* |
| Analytics - Qpid 獨立式 | 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 TPS:16 GB、8 核心、代管網路儲存空間***,支援 2000 IOPS 以上
- 大於 2000 TPS:32 GB、16 核心、代管網路儲存空間***,支援 2000 IOPS 以上
- 超過 4000 TPS:64 GB、32 核心、代管網路儲存空間***,支援 4000 IOPS 以上
** Postgres 硬碟值是根據 Edge 擷取的現成數據分析計算得出。 如果您在數據分析資料中加入自訂值,則應相應提高這些值。請使用下列公式估算所需儲存空間:
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 都能即時調整。
- 您可以啟用儲存空間層級快照,做為備份和復原解決方案的一部分。
此外,如要安裝營利服務,請參閱下列硬體需求:
| 具備營利功能的元件 | RAM | CPU | 硬碟 |
|---|---|---|---|
| 管理伺服器 (含營利服務) | 8 GB | 4 核心 | 60 GB |
| Analytics - Postgres/Qpid 位於同一伺服器 | 16 GB | 8 核心 | 500 GB 至 1 TB 的網路儲存空間,最好採用 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。 |
| Analytics - Postgres 獨立式 | 16 GB | 8 核心 | 500 GB 至 1 TB 的網路儲存空間,最好採用 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。 |
| Analytics - Qpid 獨立式 | 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 的快速 HDD |
* 您可以在同一個節點上安裝 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 檔案前,先執行下列步驟。您必須以 root 身分執行下列所有步驟:
- 建立「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 Wrapper
TCP 包裝函式可能會封鎖部分通訊埠的通訊,並影響 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 路由器可以存取 /etc/rc.d/init.d/functions
Edge 路由器和 BaaS 入口網站節點使用 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 鍵空間的複製策略會決定放置副本的 Cassandra 節點。詳情請參閱「關於 Cassandra 複製係數和一致性層級」。
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 節點上,為
/etc/security/limits.d/90-apigee-edge-limits.conf中的安裝使用者 (預設為「apigee」) 設定軟性和硬性 memlock、nofile 和位址空間 (as) 限制,如下所示: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
「jsvc」是使用 API BaaS 的必要條件。安裝 API BaaS 時,系統會安裝 1.0.15-dev 版。
網路安全服務 (NSS)
網路安全服務 (NSS) 是一組程式庫,可支援開發具備安全防護功能的用戶端和伺服器應用程式。請確認您已安裝 NSS 3.19 以上版本。
如要查看目前的版本,請按照下列步驟操作:
yum info nss
如要更新 NSS,請按照下列步驟操作:
yum update nss
詳情請參閱 RedHat 的這篇文章。
使用 NSCD (名稱服務快取 Daemon) 時,停用 IPv6 的 DNS 查詢
如果您已安裝並啟用 NSCD (名稱服務快取 Daemon),訊息處理器會執行兩次 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。
請參閱 RedHat 或 CentOS 說明文件,瞭解特定 OS 版本的 IPv6 停用操作說明。例如,您可以:
- 在編輯器中開啟
/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 |
rpm |
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 設定時特別實用。請注意,伺服器時區是以世界標準時間 (UTC) 設定。
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 for 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 公開的名稱和通訊埠相同)。
實體主機的作業系統可能設有網路防火牆。如果是這樣,您必須設定該防火牆,讓 TCP 流量通過,並傳送至虛擬化介面 (111.111.111.111:{80, 443} 和 111.111.111.222:80) 上公開的通訊埠。此外,每個 VM 的作業系統都可能在 eth0 介面上提供自己的防火牆,而這些防火牆也必須允許通訊埠 80 和 443 流量連線。
基本路徑是第三個元件,用於將 API 呼叫轉送至您可能已部署的不同 API Proxy。如果 API Proxy 繫結組合有不同的基本路徑,則可共用端點。舉例來說,一個基本路徑可以定義為 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 時設定。在上述範例中,您可以為組織 mycompany-org 部署兩個 API:mycompany 和 testmycompany,並使用主機別名為 api.mycompany.com、通訊埠設為 80 的虛擬主機。如未在部署作業中宣告基本路徑,路由器就無法判斷應將傳入要求傳送至哪個 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 公開的通訊埠存取路由器,才能支援追蹤工具中的「Send」(傳送) 按鈕。
- 管理伺服器需要存取 Cassandra 節點上的 JMX 通訊埠。
- 您可以設定 JMX 連接埠的存取權,要求使用者輸入使用者名稱/密碼。詳情請參閱「如何監控」。
- 您可以視需要為特定連線設定 TLS/SSL 存取權,這些連線可以使用不同的通訊埠。詳情請參閱「TLS/SSL」。
- 如要設定兩個 Postgres 節點來使用主要/待命複製功能,您必須在每個節點上開啟通訊埠 22,以便進行 SSH 存取。您可以選擇在個別節點上開啟通訊埠,允許 SSH 存取。
- 您可以設定管理伺服器和 Edge UI,透過外部 SMTP 伺服器傳送電子郵件。如果這麼做,您必須確保管理伺服器和 UI 可以存取 SMTP 伺服器上的必要通訊埠。非 TLS SMTP 的通訊埠編號通常是 25。如果是啟用 TLS 的 SMTP,通常是 465,但請向 SMTP 供應商確認。
下表列出防火牆中需要開啟的通訊埠 (依 Edge 元件區分):
| 元件 | 通訊埠 | 說明 |
|---|---|---|
| 標準 HTTP 通訊埠 | 80、443 | HTTP 和用於虛擬主機的其他通訊埠 |
| 管理伺服器 | 8080 | Edge Management 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 用戶端 | Management Server (1099) 訊息處理器 (1101) Qpid Server (1102) Postgres Server (1103) |
| 2181 | Zookeeper 用戶端通訊 | Management Server Router Message Processor Qpid Server Postgres Server |
Zookeeper |
| 2888 和 3888 | Zookeeper 節點間管理 | Zookeeper | Zookeeper |
| 4526 | RPC 管理通訊埠 | 管理伺服器 | 管理伺服器 |
| 4527 | 分散式快取和管理呼叫,以及路由器之間通訊的 RPC 管理通訊埠 | 管理伺服器 路由器 |
路由器 |
| 4528 | 用於訊息處理器之間的分散式快取呼叫,以及來自路由器的通訊 | 管理伺服器 路由器 訊息處理器 |
訊息處理器 |
| 4529 | 用於分散式快取和管理呼叫的 RPC 管理通訊埠 | 管理伺服器 | Qpid 伺服器 |
| 4530 | 用於分散式快取和管理呼叫的 RPC 管理通訊埠 | 管理伺服器 | Postgres 伺服器 |
| 5432 | Postgres 用戶端 | Qpid 伺服器 | Postgres |
| 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) |
| 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 的迴圈箭頭所示)。如果您有多個資料中心,則所有資料中心內的所有 Stack 節點都必須能存取該通訊埠。
- 您必須設定所有 Baas Stack 節點,透過外部 SMTP 伺服器傳送電子郵件。如果是非 TLS SMTP,通訊埠編號通常是 25。如果是啟用 TLS 的 SMTP,通常是 465,但請向 SMTP 供應商確認。
- Cassandra 節點可以專用於 API BaaS,也可以與 Edge 共用。
下表列出各元件需要在防火牆中開啟的預設通訊埠:
| 元件 | 通訊埠 | 說明 |
|---|---|---|
| API BaaS 入口網站 | 9000 | API BaaS UI 的通訊埠 |
| API BaaS 堆疊 | 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 銷售團隊聯絡。