Edge Microgateway 總覽

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

Edge Microgateway 3.0.x 版

Apigee Edge Microgateway 是以 HTTP 為基礎的 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 整合

常見用途

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

  • 縮短在鄰近位置執行的服務的 API 流量延遲時間。舉例來說,如果 API 消費者和生產者距離很近,您不一定會希望 API 經過中央閘道。
  • 將 API 流量維持在企業核准的界線內,以確保安全或符合規範。
  • 即使暫時失去網路連線,仍可繼續處理訊息。
  • 為 Kubernetes 叢集中執行的服務提供 Apigee API 管理功能。請參閱「 將 Edge Microgateway 與 Kubernetes 整合」。

如需其他使用案例,請參閱這篇 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 會安裝在同一部機器上。單一 Edge Microgateway 執行個體可用於多個後端目標應用程式的前端

Edge Microgateway 已部署在您的網路上。處理來自用戶端的 API 要求,並呼叫目標服務。微型閘道會與 Apigee Edge Cloud 通訊,傳送 Proxy 和數據分析資料。
圖 1: Edge Microgateway 最簡單的部署方式

不同機器

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

Edge Microgateway 部署在一台機器上,後端服務則部署在另一個位置。API 要求會由微型閘道處理,並傳送至後端目標。微型閘道會與 Apigee Edge Cloud 傳輸 Proxy 和數據分析資料。
圖 2: Edge Microgateway 與後端目標 API 分開

使用負載平衡器

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

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

內部網路部署

如圖 4 所示,使用 Edge Microgateway 保護內部網路流量,同時使用 Apigee Edge 保護網際網路流量。假設 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 感知」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。

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

Edge Microgateway 感知 Proxy 的特性如下:

  • 這些檔案會提供兩項重要資訊給 Edge Microgateway:基本路徑和目標網址。
  • 必須指向 HTTP 目標端點。後端目標不得為 TargetEndpoint 定義中 ScriptTarget 元素參照的 Node.js 應用程式。詳情請參閱上述附註。
  • Proxy 名稱必須以 edgemicro_ 開頭。例如:edgemicro_weather
  • 您無法在這些 Proxy 中新增政策或條件流程。如果嘗試這麼做,系統會忽略這些要求。否則,Edge Management UI 中會顯示 Edge Microgateway 感知 Proxy,與 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 數據分析功能,同時維持相對較小的資源用量,並盡量減少處理負擔或封鎖。您和團隊可以運用全套 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 呼叫就會繼續前往後端目標。如果無效,系統會傳回錯誤。

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

在 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 Microgateway 說明文件 - 說明文件包含安裝指南、入門教學課程,以及完整的參考資料和設定資訊。

  • 影片 - Apigee 開發人員四分鐘影片系列包含 Edge Microgateway 的一系列集數。

  • Apigee 社群是提問的好地方,您也可以參考其他人的問題和解答。