Edge Microgateway 總覽

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

Edge Microgateway 3.2.x 版

Apigee Edge Microgateway 是一款安全的 API 訊息處理工具,適用於 API。該元件的主要工作是安全地處理往來與後端服務之間的要求與回應,同時以非同步的方式將寶貴的 API 執行資料推送至 Apigee Edge,供 Edge Analytics 系統使用。Edge Microgateway 容易安裝及部署,您只要幾分鐘就能設定好執行個體,並開始執行。

一般而言,Edge Microgateway 會安裝在鄰近後端目標服務的受信任網路中。這項服務可提供企業級的安全防護機制,並提供一些重要外掛程式功能 (例如尖峰流量防範、配額和數據分析),但不具備 Apigee Edge 的完整功能或足跡。您可以視需要將 Edge Microgateway 安裝在相同的資料中心,甚至是與後端服務相同的機器。

您可以將 Edge Microgateway 做為獨立程序執行,或在 Docker 容器中執行。請參閱將 Docker 與 Edge Microgateway 搭配使用一文。您也可以使用 Edge Microgateway 為 Kubernetes 叢集中執行的服務提供 Apigee API 管理服務。無論是要將現有服務和 API 遷移至 Kubernetes 堆疊,或是建立新的服務和 API,Edge Microgateway 都能提供簡潔的 API 管理體驗,包括安全性、流量管理、數據分析與發布等。詳情請參閱「 將 Edge Microgateway 與 Kubernetes 整合」。

常見用途

混合雲 API 管理解決方案 (例如 Edge Microgateway) 的常見用途包括:

  • 縮短在鄰近位置執行服務的 API 流量延遲時間。舉例來說,如果您的 API 取用端和生產端相距不遠,您就不需要讓 API 通過中央閘道。
  • 基於安全性或法規遵循目的,將 API 流量保持在企業核准的範圍內。
  • 網際網路連線暫時中斷時,繼續處理訊息。
  • 為在 Kubernetes 叢集中執行的服務提供 Apigee API 管理服務。請參閱「 整合 Edge Microgateway 與 Kubernetes」。

如需其他用途,請參閱這篇 Apigee 社群文章。

主要特色與優點

功能 優點
安全性 Edge Microgateway 能夠使用已簽署的存取權杖或 API 金鑰來驗證要求,該金鑰是由 Apigee Edge 核發給每個用戶端應用程式。
快速部署 與 Apigee Edge 完整部署不同的是,您可以在幾分鐘內部署及執行 Edge Microgateway 執行個體。
網路鄰近位置 您可以在與 Edge Microgateway 互動的後端目標 API 相同的機器、子網路或資料中心中,安裝及管理 Edge Microgateway。
數據分析 Edge Microgateway 以非同步方式將 API 執行資料傳送至 Apigee Edge,並由 Edge Analytics 系統處理。您可以使用完整的 Edge Analytics 指標、資訊主頁和 API。
縮短延遲時間 所有與 Apigee Edge 的通訊皆為非同步狀態,不會做為處理用戶端 API 要求的一部分進行。這可讓 Edge Microgateway 收集 API 資料並傳送至 Apigee Edge,而不會影響延遲時間。
親切熟悉 Edge Microgateway 能夠與 Edge 管理員熟知的 Apigee Edge 功能使用及互動,例如 Proxy、產品和開發人員應用程式。
設定 您不需要編寫程式即可設定及管理 Edge Microgateway。所有作業都是透過設定處理。
便利 您可以將 Edge Microgateway 與現有的應用程式監控及管理基礎架構和程序整合。請注意,Apigee API Monitoring 不適用於 Edge Microgateway。
記錄 記錄檔會詳細列出 Edge Microgateway 的 API 處理期間發生的所有一般和例外狀況事件。
CLI 指令列介面可讓您啟動、停止及重新啟動 Edge Microgateway、擷取作業統計資料、查看記錄檔、要求存取權杖等。

Edge Microgateway 基礎知識

本節說明 Edge Microgateway 的運作方式,以及基本架構、設定和部署。

為什麼要使用 Edge Microgateway?

將 API 管理元件移至後端目標應用程式可縮短網路延遲時間。雖然您可以在私人雲端環境中安裝 Apigee Edge 的地端部署環境,但完整的 Apigee Edge 不但龐大且複雜,也無法完整支援完整功能組和重要資料,例如金鑰管理、營利和數據分析。這表示各資料中心並非適合在地端部署環境中部署 Apigee Edge。

有了 Edge Microgateway,您就能在後端應用程式附近執行,且不會佔用太多空間應用程式。此外,您還可以充分運用 Apigee Edge 來提供數據分析、安全性和其他功能。

部署情境範例

本節說明 Edge Microgateway 的多種部署情境。

同一部機器

圖 1 顯示以最簡單可能的設定部署 Edge Microgateway 的要求處理路徑,其中 Edge Microgateway 和後端目標 API 安裝在同一部機器中。單一 Edge Microgateway 執行個體可用於前端多個後端目標應用程式

您的網路會部署 Edge Migateway。並處理來自用戶端的 API 要求及呼叫目標服務。Microgateway 能夠與 Apigee Edge Cloud 進行通訊,藉此傳送 Proxy 和數據分析資料。
圖 1: 最簡易的 Edge Microgateway 部署作業

不同的機器

由於用戶端之間的所有通訊 (Edge Microgateway) 和後端 API 實作項目都是 HTTP,因此您可以在與 API 實作項目不同的機器上安裝 Apigee Edge Microgateway,如圖 2 所示。

系統會將 Edge Microgateway 用於某部機器,並將後端服務部署在另一個位置。API 要求會由微閘道處理,且系統會將要求傳送至後端目標。Microgateway 能夠與 Apigee Edge Cloud 通訊 Proxy 和數據分析資料。
圖 2: 與後端目標 API 分開的 Edge Microgateway

有負載平衡器

對於 SSL 終止和/或負載平衡, Edge Microgateway 本身可由標準反向 Proxy 或負載平衡器的前端前端,如圖 3 所示。

負載平衡器會將流量傳送至 Edge Microgateway 的多個執行個體。
              微閘道的執行個體會與 Edge Cloud 和代理程式要求傳送至目標服務。
圖 3: 使用負載平衡器執行 Edge Microgateway

內部網路部署

使用 Edge Microgateway 來保護內部網路流量,同時透過 Apigee Edge 保護網際網路流量,如圖 4 所示。假設 API 端點 /orders 是透過 Apigee Edge Cloud 進行 Proxy 處理,並到達後端目標「https://mycompany.com/orders」。按一下左側的目標 API 實作項目。這個 API 可能會呼叫右側的目標實作項目代表的多個 API 端點。舉例來說,它可能會在內部呼叫 /customers/transactions。另請參閱 Apigee 社群中的 這篇文章

傳送至 Edge Cloud 的 API Proxy 會傳送至您內部網路的目標服務,目標服務則會透過內部網路將要求傳送至 Edge Microgateway。然後將要求傳送至您內部網路中的其他目標 API 服務。
圖 4: 執行 Edge Microgateway 來保護內部網路流量

Apigee Edge 的依附元件

Edge Microgateway 依附於 Apigee Edge 並與之互動。Edge Microgateway 必須與 Apigee Edge 通訊才能正常運作。Edge Microgateway 與 Edge 互動的主要方式如下:

  • 啟動後,Edge Microgateway 會取得「Edge Microgateway-aware」(Edge Microgateway 感知) 特殊 Proxy 的清單,以及您 Apigee Edge 機構中的所有 API 產品清單。針對每個傳入的用戶端要求,Edge Microgateway 會判斷要求是否與其中一個 API Proxy 相符,然後根據與該 Proxy 相關聯的 API 產品中的金鑰,驗證傳入的存取權杖或 API 金鑰。
  • Apigee Edge Analytics 系統會儲存及處理從 Edge Microgateway 以非同步方式傳送的 API 資料。
  • Apigee Edge 提供憑證以簽署存取權杖,或提供用戶端透過 Edge Microgateway 進行 API 呼叫時所需的 API 金鑰。您可以使用 Edge Microgateway 提供的 CLI 指令,取得這些權杖。

一次性設定

您必須先設定 Edge Microgateway,才能與 Apigee Edge 機構通訊。在啟動期間,Edge Microgateway 會透過 Apigee Edge 啟動啟動程序。Edge Microgateway 會從 Apigee Edge 擷取所需資訊,以便自行處理 API 呼叫,包括部署在 Apigee Edge 上的 Edge Microgateway 感知 Proxy。我們稍後會詳細討論這些 Proxy。

Edge Microgateway 不須與 Apigee Edge 共置,Apigee Edge 公開和私有雲產品也能正常運作。

需瞭解 Edge Microgateway 感知 Proxy

Edge Microgateway 感知的 Proxy 會提供特定資訊,讓 Edge Microgateway 處理用戶端 API 要求。當 Edge Microgateway 啟動時,系統會從 Apigee Edge 下載這些 Proxy 到 Edge Microgateway 的相關資訊。

您可以透過 Apigee Edge 管理 UI 或其他方式,在 Apigee Edge 中建立這些 Proxy,完全由您或您的 API 團隊決定。方法很簡單,只要按照設定及設定 Edge Microgateway 一文中的細節說明即可。

Edge Microgateway 感知 Proxy 的特性如下:

  • 並提供 Edge Microgateway 兩項重要資訊:基本路徑和目標網址。
  • 這些端點必須指向 HTTP 目標端點。後端目標不能是 TargetEndpoint 定義中 ScriptTarget 元素參照的 Node.js 應用程式。詳情請參閱上述注意事項。
  • Proxy 名稱必須加上 edgemicro_ 前置字串。例如:edgemicro_weather
  • 您無法在這些 Proxy 中新增政策或條件式流程。如果嘗試,系統會忽略這些參數。否則,Edge Microgateway 感知的 Proxy 顯示在 Edge Management UI 中,與 Edge 上的任何其他 API Proxy 相同。
  • 可和開發人員應用程式搭配運用。
  • 流量資料會顯示在 Edge Analytics 中。
  • 您無法使用 Apigee Edge Trace 工具進行追蹤。

Edge Microgateway 和 Apigee Edge Analytics 簡介

當 API 流量通過 Edge Microgateway 時,Edge Microgateway 緩衝區會以非同步方式將 API 執行資料傳送至 Apigee Edge,其中資料會由 Edge Analytics 系統儲存及處理。這種非同步通訊可讓 Edge Microgateway 運用 Edge Analytics 功能,同時盡可能減少所需的處理量,盡可能減少處理負擔或封鎖負擔。和您的團隊可以使用全套 Edge Analytics 資訊主頁和自訂報表功能,分析通過 Edge Microgateway 的流量。

Proxy 流量資訊主頁會顯示一段時間內的 API 流量、開發人員參與度資料和流量組成資料,並按照開發人員應用程式細分。
圖 5: Edge 上的 Proxy 流量資訊主頁

如要進一步瞭解 Edge Analytics,請參閱「Analytics (分析) 資訊主頁」一文。

關於 Edge Microgateway 安全性

Apigee Edge 的角色

如前所述,Apigee Edge 在保護所有傳送至 Edge Microgateway 的用戶端要求時,扮演了關鍵角色。Apigee Edge 的主要角色如下:

  • 提供用戶端憑證做為 API 金鑰,或產生有效的存取權杖,供用戶端透過 Edge Microgateway 進行安全的 API 呼叫。
  • 提供憑證,讓 Edge Microgateway 將 API 執行資料傳送至 Apigee Edge Analytics 系統。在初始設定步驟中,Edge Microgateway 會產生一次這些憑證。
  • 提供整合 API 資源至產品、註冊及管理開發人員,以及建立及管理開發人員應用程式的平台。

用戶端應用程式驗證

Edge Microgateway 能夠透過存取權杖和 API 金鑰來支援用戶端驗證作業。安全金鑰和權杖是由 Apigee Edge 產生,並由 Edge Microgateway 針對每個 API 呼叫進行驗證。如果 OAuth 外掛程式已啟用,Edge Microgateway 會檢查已簽署的存取權杖或 API 金鑰。如果金鑰有效,API 呼叫就會繼續傳送至後端目標。如果無效,系統會傳回錯誤。

請參閱「設定及設定 Edge Microgateway」,瞭解取得及使用存取權杖和 API 金鑰所需的步驟。

在 Apigee Edge 上對 Edge Microgateway 進行驗證

非同步呼叫 Edge Microgateway 後,如要更新 Apigee Edge 中的數據分析資料,則須進行驗證。這項驗證是以透過 CLI 傳送至 Edge Microgateway 的公開/密鑰組提供,或使用環境變數。首次安裝及啟動 Edge Microgateway 時,您只需要取得並使用這些金鑰一次。

API 產品管理平台

Edge 可以做為將 API 資源與產品整合的平台、註冊及管理開發人員,以及建立及管理開發人員應用程式。舉例來說,就像您可以建立和組合一般 Apigee Edge Proxy 適用的產品和開發人員應用程式等實體,也能對 Edge Microgateway Proxy 執行相同操作。為實現 API 級別的安全保障,您可以為每個「套裝組合」產生公開和私人安全金鑰。這個機制與 Apigee Edge 中 API 安全性的運作方式相同。

可以將現有的 Edge Proxy 實作項目移至 Edge Microgateway 嗎?

您無法將具有相關聯政策或條件式流程的現有 Proxy 遷移至 Edge Microgateway。您必須使用 Edge Microgateway 才能建立新的「可感知微閘道」 Proxy。這些 Proxy 必須以特殊的前置字串 (edgemicro_) 命名。啟動後,Edge Microgateway 會找出這些 Edgemicro_* Proxy,並為每個 Proxy 下載設定資訊。包括目標網址和資源路徑。從那時起,系統就不會使用 Proxy。這些 Proxy 中的任何政策或條件式流程都一律不會執行。

另一個採用微閘道感知 Proxy 的另一個原因,是 Edge Microgateway 針對各個微閘道感知 Proxy 的數據分析資料,以非同步的方式推送至 Edge。接著,您就能查看微閘道感知 Proxy 的數據分析資料,就像在 Edge Analytics 使用者介面中處理任何其他 Proxy 一樣。

這個設定主題會引導您完成透過 Edge Microgateway 進行 API 呼叫 Proxy 處理的所有步驟,其中需在 Apigee Edge 上完成幾個簡單的步驟,以便進行 Edge Microgateway 的設定,包括建立微型閘道感知 Proxy。請參閱「設定及設定 Edge Microgateway」。

進一步瞭解 Edge Microgateway

Apigee 提供以下資源:

  • Edge Microgateway 說明文件:這份說明文件內含安裝指南、入門指南教學課程,以及完整的參考資料與設定資訊。

  • 影片 - Apigee Microgateway 的 Apigee 4 分鐘影片系列包含一系列劇集。

  • Apigee 社群非常適合讓他人提問及獲得解答。