Edge Microgateway 總覽

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。
info

Edge Microgateway 2.3.x 版

目標對象

本主題是 Edge Microgateway 的一般簡介,適合所有對象。

什麼是 Apigee Edge Microgateway?

Apigee Edge Microgateway 是以 HTTP 為基礎的 API 安全訊息處理器。主要工作是處理與後端服務之間的安全要求和回應,同時以非同步方式將有價值的 API 執行資料推送至 Apigee Edge,供 Edge Analytics 系統使用。Edge Microgateway 安裝及部署作業簡單易上手,幾分鐘內即可啟動並執行執行個體。

通常,Edge Microgateway 會安裝在可信任的網路中,且與後端目標服務非常接近。提供企業級安全防護,以及尖峰流量抑制、配額和數據分析等重要外掛程式功能,但並未具備 Apigee Edge 的完整功能或足跡。您可以視需要將 Edge Microgateway 安裝在與後端服務相同的資料中心,甚至是同一部機器上。

主要應用實例

Edge Microgateway 等混合式 Cloud API 管理解決方案的常見用途包括:

  • 縮短在鄰近位置執行的服務的 API 流量延遲時間。舉例來說,如果 API 消費者和生產者距離很近,您不一定會希望 API 經過中央閘道。

  • 將 API 流量維持在企業核准的界線內,以確保安全或符合規範。
  • 即使暫時失去網路連線,仍可繼續處理訊息。
  • 另請參閱 Apigee 社群中針對這個用途的討論。

主要功能與優點

  • 安全性。Edge Microgateway 會使用 Apigee Edge 發給每個用戶端應用程式的簽署存取權杖或 API 金鑰,驗證要求。
  • 快速部署。與完整部署 Apigee Edge 不同,您可以在幾分鐘內部署及執行 Edge Microgateway 執行個體。
  • 網路鄰近程度。您可以在與 Edge Microgateway 互動的後端目標 API 相同的機器、子網路或資料中心中,安裝及管理 Edge Microgateway。
  • Analytics。Edge Microgateway 會將 API 執行資料非同步傳送至 Apigee Edge,並由 Edge Analytics 系統處理。您可以使用完整的 Edge Analytics 指標、資訊主頁和 API。
  • 減少延遲。與 Apigee Edge 的所有通訊都是非同步,且不會在處理用戶端 API 要求時發生。這樣一來,Edge Microgateway 就能收集 API 資料並傳送至 Apigee Edge,且不會影響延遲。
  • 熟悉度。Edge Microgateway 會使用並與 Apigee Edge 功能互動,而 Edge 管理員已充分瞭解這些功能,例如 Proxy、產品和開發人員應用程式。
  • 設定:設定及管理 Edge Microgateway 時,不需要程式設計。一切都透過設定處理。
  • 便利性:您可以將 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 會安裝在同一部機器上。

圖 1:最簡單的 Edge Microgateway 部署作業

不同機器

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

圖 2:Edge Microgateway 與後端目標 API 分開

代理多個應用程式

如圖 3 所示,單一 Edge Microgateway 執行個體可用於多個後端目標應用程式的前端。

圖 3:Edge Microgateway 可做為多個 API Proxy 的前端

使用負載平衡器

如圖 4 所示,Edge Microgateway 本身可由標準反向 Proxy 或負載平衡器前端處理,以進行 SSL 終止和/或負載平衡。

圖 4:使用負載平衡器執行 Edge Microgateway

內部網路部署

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

圖 5:執行 Edge Microgateway,保護內部網路流量

對 Apigee Edge 的依附元件

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

  • 啟動時,Edge Microgateway 會取得「Edge Microgateway 感知」Proxy 的特殊清單,以及 Apigee Edge 機構中的所有產品清單。針對每個傳入的用戶端要求,Edge Microgateway 會判斷要求是否與其中一個 API Proxy 相符,然後根據與該 Proxy 相關聯產品中的金鑰,驗證傳入的存取權杖或 API 金鑰。
  • Apigee Edge Analytics 系統會儲存及處理從 Edge Microgateway 非同步傳送的 API 資料。
  • Apigee Edge 提供用於簽署存取權杖的憑證,或提供用戶端透過 Edge Microgateway 呼叫 API 時所需的 API 金鑰。您可以使用 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」,瞭解如何使用便利的 CLI 指令設定及配置 Edge Microgateway。

Edge Microgateway 感知 Proxy 須知

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

您可以自行或由 API 團隊使用 Apigee Edge 管理 UI 或其他方式,在 Apigee Edge 上建立這些 Proxy。這項操作非常簡單,詳情請參閱「設定及配置 Edge Microgateway」。

支援 Edge Microgateway 的 Proxy 具有下列特徵:

  • 微服務感知 Proxy 會提供兩項重要資訊給 Edge Microgateway:基準路徑和目標網址。
  • 微服務感知 Proxy 必須指向 HTTP 目標端點。後端目標不得為 TargetEndpoint 定義中 ScriptTarget 元素參照的 Node.js 應用程式。詳情請參閱上述附註。
  • Proxy 名稱必須以 edgemicro_ 開頭。例如:edgemicro_weather。
  • 您無法在 Apigee Edge 管理 UI 的 Proxy 編輯器中編輯 Edge Microgateway Proxy。也就是說,您無法新增政策或條件式流程。(如果嘗試這麼做,系統會忽略這些要求)。
  • 否則,Edge Microgateway Proxy 會顯示在 Edge 管理使用者介面中,與 Edge 上的任何其他 API Proxy 相同。
  • 與 Edge 上的任何 API Proxy 相同,Edge Microgateway Proxy 可以封裝至產品中,並與開發人員應用程式建立關聯。
  • 與其他 Proxy 相同,您可以追蹤 Edge Microgateway Proxy 的分析資料。
  • 您無法使用 Apigee Edge Trace 工具追蹤 Edge Microgateway 代理項目。

進一步瞭解 Edge Microgateway 和 Apigee Edge Analytics

API 流量流經 Edge Microgateway 時,Edge Microgateway 會緩衝處理 API 執行資料,並以非同步方式傳送至 Apigee Edge,由 Edge Analytics 系統儲存及處理資料。這種非同步通訊方式可讓 Edge Microgateway 運用 Edge 數據分析功能,同時維持相對較小的資源用量,並盡量減少處理負擔或封鎖。您和團隊可以運用全套 Edge Analytics 資訊主頁和自訂報表功能,分析通過 Edge Microgateway 的流量。

圖 6: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 會在初始設定步驟中取得這些憑證一次。(如需詳細步驟,請參閱「設定及配置 Edge Microgateway」一文)。
  • 提供平台,將 API 資源組合為產品、註冊及管理開發人員,以及建立和管理開發人員應用程式。

用戶端應用程式驗證

  • Edge Microgateway 支援透過存取權杖和 API 金鑰進行用戶端驗證。安全金鑰和權杖是由 Apigee Edge 產生,並由 Edge Microgateway 驗證每個 API 呼叫。
  • 如果啟用 OAuth 外掛程式,Edge Microgateway 會檢查已簽署的存取權杖或 API 金鑰,如果有效,API 呼叫就會繼續前往後端目標。如果無效,系統會傳回錯誤。
  • 如需取得及使用存取權杖的步驟,請參閱「設定及設定 Edge Microgateway」。如要瞭解 API 金鑰,請參閱「 Edge Microgateway 的操作和設定參考資料」中的「使用 API 金鑰安全機制」。
主題中的特定操作說明操作。

在 Apigee Edge 上驗證 Edge Microgateway

  • Edge Microgateway 會發出非同步呼叫,在 Apigee Edge 上更新數據分析資料,因此需要驗證。這項驗證是透過傳遞至 Edge Microgateway 的公開/私密金鑰組 (透過 CLI 或使用環境變數) 提供。首次安裝及啟動 Edge Microgateway 時,您會取得並使用這些金鑰一次。

API 產品管理平台

  • Edge 平台可將 API 資源組合為產品、註冊及管理開發人員,以及建立和管理開發人員應用程式。舉例來說,您可為一般 Apigee Edge Proxy 建立及組合產品和開發人員應用程式等實體,只要為每個「套件」產生公開和私密安全金鑰,就能實現 API 層級的安全性。這個機制與 Apigee Edge 的 API 安全防護機制相同。

是否可以將現有的 Edge 代理程式實作項目移至 Edge Microgateway?

您無法將現有 Proxy 連同相關聯的政策或條件流程,遷移至 Edge Microgateway。Edge Microgateway 需要您建立新的「微閘道感知」Proxy。這些 Proxy 必須以特殊前置字串 edgemicro_ 命名。啟動時,Edge Microgateway 會探索這些 edgemicro_* Proxy,並下載每個 Proxy 的設定資訊。包括目標網址和資源路徑。從此時起,系統不會再使用 Proxy。這些 Proxy 中的任何政策或條件流程都不會執行。

建立可感知微閘道的 Proxy 的另一個原因是,Edge Microgateway 會針對每個可感知微閘道的 Proxy,將分析資料非同步推送至 Edge。接著,您就可以在 Edge Analytics 使用者介面中,查看支援微型閘道的 Proxy 的數據分析資料,就像查看其他 Proxy 的資料一樣。

設定主題會逐步說明開始透過 Edge Microgateway 代理 API 呼叫所需的所有步驟,包括在 Apigee Edge 上完成幾個簡單步驟,設定 Edge Microgateway 需使用的設定,包括建立可感知微型閘道的 Proxy。請參閱「設定及配置 Edge Microgateway」。

我可以搭配 Edge Microgateway 代理伺服器使用政策嗎?

如上一節所述,您無法在 Apigee Edge 中,將政策附加至「可感知微閘道」的 Proxy。Edge Microgateway 使用外掛程式提供類似 Edge 政策的功能,例如配額、尖峰流量防範、API 金鑰安全性和 OAuth2 安全性。請參閱「使用外掛程式」。您也可以撰寫自訂外掛程式,詳情請參閱「開發自訂外掛程式」。

瞭解 Edge Microgateway 的最佳方式為何?

Apigee 提供下列資源: