私有雲 v4.18.01 的邊緣
硬體需求
在實際工作環境等級的環境中,您必須符合以下最低硬體需求,才能使用高可用性的基礎架構。如需「安裝拓撲」中所述的所有安裝情境,下表列出安裝元件的最低硬體需求。
在這些表格中,除了作業系統所需的硬碟空間之外,硬碟需求並未涵蓋硬碟空間。視應用程式和網路流量而定,安裝作業需要的資源可能會少於或低於下列列出的資源。
安裝元件 | RAM | CPU | 硬碟下限 |
---|---|---|---|
Cassandra | 16 GB | 8 核心 | 250 GB 本機儲存空間 (具備 SSD 或支援 2000 IOPS 的快速 HDD) |
同一部機器上的訊息處理器/路由器 | 16 GB | 8 核心 | 100 GB |
數據分析 - Postgres/Qpid 位於相同伺服器 (不建議用於實際工作環境) | 16GB* | 8 核心* | 500 GB - 1 TB** 網路儲存空間***,最好使用 SSD 後端,且支援 1000 IOPS 以上* |
數據分析 - 獨立發布 Postgres | 16GB* | 8 核心* | 500 GB - 1 TB** 網路儲存空間***,最好使用 SSD 後端,且支援 1000 IOPS 以上* |
數據分析 - 獨立 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 以上),或使用上表的規則。 |
數據分析 - 獨立發布 Postgres | 16 GB | 8 核心 | 500 GB - 1 TB 網路儲存空間 (最好使用 SSD 後端,支援 1000 IOPS 以上),或使用上表的規則。 |
數據分析 - 獨立 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 堆疊* | 8 GB | 4 核心 | 60 至 80 GB |
API BaaS 入口網站 | 1 GB | 2 核心 | 20GB |
Cassandra** | 16 GB | 8 核心 | 250 GB 本機儲存空間 (具備 SSD 或支援 2000 IOPS 的快速 HDD) |
* 您可以在同一節點上安裝 ElasticSearch 與 API 裸機堆疊。如果確定要這麼做,請將 ElasticSearch 設為使用 4 GB 的記憶體 (預設值)。如果 ElasticSearch 是在自己的節點上安裝,請將該節點設為使用 6 GB 的記憶體。
** 選用:通常您會針對 Edge 和 API BaaS 服務使用相同的 Cassandra 叢集。
作業系統和第三方軟體需求
這些安裝操作說明和提供的安裝檔案已在支援的軟體和支援的版本中列出的作業系統和第三方軟體上進行測試。
建立 Apigee 使用者
安裝程序會建立一個名為「apigee」的 Unix 系統使用者。邊緣目錄和檔案由「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 包裝函式
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 Router 可存取 /etc/rc.d/init.d/functions
邊緣路由器和 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_name
initial_token
partitioner
seeds
listen_address
rpc_address
snitch
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」) 的軟硬鎖定節點、無檔案和位址空間 (做為) 限制,如下所示: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 版。
Network Security Services (NSS)
網路安全服務 (NSS) 是一組程式庫,支援開發已啟用安全性的用戶端和伺服器應用程式。請確認您已安裝 NSS 3.19 以上版本。
如要查看目前的版本,請按照下列步驟操作:
yum info nss
如何更新 NSS:
yum update nss
詳情請參閱 RedHat 的這篇文章。
使用 NSCD 時停用 IPv6 的 DNS 查詢功能 (Name Service 快取 Daemon)
如果您安裝並啟用 NSCD (名稱服務快取 Daemon),訊息處理器將會進行兩項 DNS 查詢:分別針對 IPv4 和 IPv6 查詢。使用 NSCD 時,應停用 IPv6 的 DNS 查詢功能。
如何停用 IPv6 的 DNS 查詢:
- 在每個訊息處理器節點上編輯
/etc/nscd.conf
- 設定下列屬性:
enable-cache hosts no
為 RedHat/CentOS 7 在 Google Cloud Platform 上停用 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 |
使用者新增 |
bash |
主機名稱 |
ls |
sed |
wc |
bc |
id |
net-tools |
sudo |
wget |
curl |
Libaio |
Perl (從 採購單) |
塔 |
Xerces-c |
Cyrus-Sasl | libdb4 | pgrep (來自 procps) | tr | 好吃 |
日期 |
libdb-cxx |
ps |
uuid |
chkconfig |
dirname | 自由王 | 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。在此釐清,virtual
一詞主要用於兩種用途:
- 虛擬機器 (VM):非必要,但部分部署作業會使用 VM 技術為其 Apigee 元件建立獨立的伺服器。如同實體主機,VM 主機可以擁有網路介面和防火牆。
- 虛擬主機:網路端點,類似於 Apache 虛擬主機。
VM 中的路由器可以公開多個虛擬主機,前提是這些主機的主機別名或介面通訊埠中的虛擬主機不相同。
就像命名範例一樣,單一實體伺服器 A
可能會執行兩個名為「VM1」和「VM2」的 VM。假設「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 組合的基本路徑不同,則可共用端點。舉例來說,一個基本路徑可以定義為 http://api.mycompany.com:80/
,另一個則定義為 http://api.mycompany.com:80/salesdemo
。
在這種情況下,您需要某個類型的負載平衡器或流量目錄,將 http://api.mycompany.com:80/ 流量拆分到兩個 IP 位址之間 (111.111.111.111
在 VM1 上,111.111.111.222
在 VM2 上)。這個函式僅適用於特定安裝作業,且是由本機網路群組進行設定。
系統會在您部署 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 來管理元件,但路由器不需要存取通訊埠 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 存取。
- 您可以將 Management Server 和 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 | 用於 Cassandra 節點之間通訊的 Apache 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 | 接收 SmartDocs 網頁要求的 Edge 路由器通訊埠。 |
下表以數字列出相同的通訊埠,其中包含來源和目的地元件:
通訊埠編號 | 目的 | 來源元件 | 目的地元件 |
---|---|---|---|
virtual_host_port | HTTP 加上您用於虛擬主機 API 呼叫流量的任何其他通訊埠。最常使用通訊埠 80 和 443;訊息路由器可終止 TLS/SSL 連線。 | 外部用戶端 (或負載平衡器) | 訊息路由器的監聽器 |
1099 到 1103 | JMX 管理 | JMX 用戶端 | 管理伺服器 (1099) 郵件處理器 (1101) Qpid 伺服器 (1102) Postgres 伺服器 (1103) |
2181 | 動物園總經理客戶通訊 | 管理伺服器 路由器 訊息處理器 Qpid 伺服器 Postgres 伺服器 |
Zookeeper |
2888 和 3888 | 動物園跨節點管理 | 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 | 。管理伺服器必須開放存取 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 入口網站元件。這些元件會使用下圖中的通訊埠:
這張圖表中的注意事項:
- API BaaS 入口網站絕不會直接傳送要求給 BaaS 堆疊節點。開發人員登入入口網站時,入口網站應用程式會下載到瀏覽器。接著,在瀏覽器中執行的入口網站應用程式會向 BaaS Stack 節點發出要求。
- 在實際工作環境中安裝 API BaaS,會在 API BaaS 入口網站節點與 API BaaS 堆疊節點之間使用負載平衡器。設定入口網站及進行 BaaS API 呼叫時,請指定負載平衡器的 IP 位址或 DNS 名稱,而非堆疊節點。
- 所有堆疊節點都必須開啟通訊埠 2551,才能從所有其他堆疊節點進行存取 (上圖中針對 Stack 節點通訊埠 2551 的迴圈箭頭表示)。若您有多個資料中心,則必須從所有資料中心的所有 Stack 節點中存取該通訊埠。
- 您必須設定所有 Baas Stack 節點,才能透過外部 SMTP 伺服器傳送電子郵件。如果不是 TLS SMTP,通訊埠編號通常為 25。如果是已啟用 TLS 的 SMTP,通常是 465,但請向 SMTP 供應商確認。
- Cassandra 節點可用於 API 基礎架構,或與 Edge 共用。
下表列出必須在防火牆中開啟的預設通訊埠,也就是元件:
元件 | 通訊埠 | 說明 |
---|---|---|
API BaaS 入口網站 | 9000 | API BaaS UI 的通訊埠 |
API BaaS 堆疊 | 8080 | 接收 API 要求的通訊埠 |
2551 |
用於所有 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 銷售團隊聯絡。