查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
開始使用
- 如何安裝 Edge Microgateway?
- 請參閱安裝 Edge Microgateway。
- 如何執行 Edge Microgateway?
- 請參閱 設定及設定 Edge Microgateway。
- 我需要資料庫才能執行 微型閘道?
- 透過 Edge Microgateway 代管的 API 可與執行成為目標一部分的資料庫互動 課程中也會快速介紹 Memorystore 這是 Google Cloud 的全代管 Redis 服務不過,Edge Microgateway 與任何資料庫或後端資料均獨立運作 也就是經過處理且會導入模型的資料 接著再透過特徵儲存庫與他人分享
作業
- Edge 相關異動 需要重新啟動 Edge Microgateway 嗎?
- Edge Microgateway 會自動輪詢 Apigee Edge 上的變更,例如:
微閘道感知 Proxy、產品或開發人員
應用程式。預設的輪詢時間間隔為 600 秒;但可以用最後設定選項
config_change_poll_interval
配置設定。 詳情請參閱 Edgemicro 屬性。 ,瞭解如何調查及移除這項存取權。
- 如果不想等待輪詢時間間隔,請使用
edgemicro reload
來接收最新異動詳情請見 重新載入微閘道叢集。 - 如何區分部署於 Edge 和 Edge Microgateway 上的 Proxy?
- 設定 Edge Microgateway 時,會顯示在 Apigee 上的微閘道感知 Proxy 清單
系統會將 Edge 下載至 Edge Microgateway 的本機設定。微閘道感知 Proxy
前置字串為
edgemicro_
的名稱。 - 使用 Edge Microgateway 記錄哪些選項?
- Edge Microgateway 內建記錄功能,如需詳細資訊,請參閱 管理記錄檔。 ,瞭解如何調查及移除這項存取權。
- 你也可以撰寫 a 自訂外掛程式,以便搭配 Edge Microgateway 使用第三方記錄服務。順帶一提 Edge Microgateway 正常運作,您無法使用 Apigee Edge 訊息記錄政策 記錄 Edge Microgateway 的訊息。另請參閱 Microgateway 適用的 Logging Plugin 社群文章。
- 我可以在 Edge Microgateway 執行個體之間重複使用金鑰/密鑰組合嗎?
- 只要 Microgateway 執行個體的機構和環境相同,您就可以 重複使用設定期間產生的金鑰/密鑰配對。
- 如何設定 Edge Microgateway,以便在正式環境中啟動?
- 您可以設定啟動指令參數的環境變數,例如
EDGEMICRO_KEY
、EDGEMICRO_SECRET
、EDGEMICRO_ORG
和EDGEMICRO_ENV
。 您可以善用這些 (及其他) 變數 使用單一指令edgemicro start
的 Edge Microgateway。另請參閱 設定環境變數。 - 我可以 要將自訂產品或開發人員應用程式屬性與 Edge Microgateway 搭配使用嗎?
- 不可以。根據預設,Edge Microgateway 只會在基本路徑和
安全性。不過,您仍可以解決這個問題:
-
新增自訂屬性至 Edge Microgateway 部署至 Apigee 的
edgemicro-auth
Proxy 邊緣使用 API 金鑰或 OAuth 權杖安全性時,您就能使用這些屬性。 - 修改 OAuth 外掛程式以處理這些屬性。
-
新增自訂屬性至 Edge Microgateway 部署至 Apigee 的
- 要求標頭大小是否有限制?
- 如果您將 Node.js 升級至 v8.14.0 或更新版本,請注意,要求的標頭大小上限已從 80 KB 降至 8 KB。 如果標頭超過 8 KB,就會產生 HTTP 431 錯誤。 ,瞭解如何調查及移除這項存取權。
- 在 Node.js v11.6.0 中新增 Node.js 設定選項,可讓您變更預設上限
標頭大小。這個參數
--max-http-header-size
可讓您指定 HTTP 標頭大小上限 (以位元組為單位)。 ,瞭解如何調查及移除這項存取權。
- 如要變更預設設定,請設定
NODE_OPTIONS
環境的值 變數,如下所示:NODE_OPTIONS=--max-http-header-size=NUM_BYTES
例如:
NODE_OPTIONS=--max-http-header-size=80000
Edge Microgateway 使用哪些管理 API?
下列 Edge Microgateway 指令呼叫 Apigee Edge Management API 以執行其工作。 如所述 Edge Microgateway 的 CLI 參考資料:
edgemicro configure
edgemicro upgradeauth
edgemicro upgradekvm
edgemicro rotatekey
edgemicro cert check
edgemicro cert delete
edgemicro cert install
以下各節列出每個指令使用的管理 API 呼叫。
edgemicro configure
和 upgradeauth
指令呼叫
下列管理 API:
- (列出部署作業)
GET: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/deployments
- (取得部署作業資訊)
GET: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=java&name=micro-gateway-products-javacallout-2.0.0.jar
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=adjust-quota.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=generate-jwk.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=generate-verify-jwt.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=jsrsasign-all-min.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=jwt-initialization.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=send-jwk-response.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=send-product-list.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=send-public-key.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=set-jwt-variables.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=set-quota-variables.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=set-response.js
- (上傳資源)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=validate-params.js
- (建立 API Proxy)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis?action=import&validate=false&name=edgemicro-auth
- (上傳政策)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/policies
- (上傳 Proxy)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/proxies?name=default
- (部署 Proxy)「
POST: https://api.enterprise.apigee.com/v1/o/[org]/e/[env]/apis/edgemicro-auth/revisions/1/deployments
」
upgradekvm
指令會呼叫下列 Management API:
PUT: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway
rotatekey
指令會呼叫下列 Management API:
GET: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway/entries/private_key
cert check
指令會呼叫下列 Management API:
GET: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway
cert delete
指令會呼叫下列 Management API:
DELETE: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway
cert install
指令會呼叫下列 Management API:
POST: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps
部署作業
- 可以部署 目標服務執行所在伺服器上的 Edge Microgateway 嗎?
- 可以。Edge Microgateway 是一個輕量程序,可在接近目標服務的情況下執行,包括 同一部機器
- 我可以將現有的 Edge Proxy 套件部署為 Edge Microgateway 部署作業嗎?
- 不可以。Edge Microgateway 感知 Proxy 具有特定要求,且不支援所有功能 一般 Edge Proxy 物件請參閱零件 2:在 Apigee Edge 中建立實體
- 是否可以在 Edge Proxy 套件之間啟用容錯移轉 ?
- 不可以。Edge Microgateway 無法得知 Apigee 中的非 Microgateway API Proxy 部署作業 邊緣
- 什麼是 Edge Microgateway 的高可用性部署模式嗎?
- 如需如何使用 NGINX 做為負載平衡器執行 Edge Microgateway,請參閱 使用 Apigee Edge Microgateway 和 NGINX 管理 API。
- 哪些負載平衡器可以與 Edge Microgateway 搭配使用?
- Edge Microgateway 可與任何負載平衡器搭配使用。
- 我可以部署的 Edge Microgateway Proxy 數量是否有限制?
- 請參閱針對以下項目指定的產品設定限制: 一般邊緣 Proxy 所支援您可以在 Apigee Edge 中部署的微閘道感知 Proxy 數量 機構和環境以及透過 Edge Microgateway 呼叫的呼叫,皆須遵守這些限制。
- 我可以 要將我的 Edge Microgateway 部署作業與特定機構和環境建立關聯嗎?
- 設定 Edge Microgateway 的執行個體時,必須將其與特定 邊緣機構和環境
- 如果我是多區域客戶,可以將我的 Edge Microgateway 部署作業與特定區域建立關聯嗎?
- Edge Microgateway 會自動選擇最適合與 Apigee Edge 互動的區域。 您可以在要提供服務的每個區域中,部署 Edge Microgateway 執行個體。
管理
- 只有機構組織管理員才能設定及部署 Edge Microgateway 嗎?
- 可以。您必須具備機構管理員憑證,才能設定及部署 Edge Microgateway。
- 只有機構組織管理員才能執行 Edge Microgateway 嗎?
- 不可以。Edge Microgateway 是一款
Node.js
應用程式,任何人只要擁有 在特定機器上執行這類應用程式。 - 我的任何機構都可以 使用者是否會使用 Edge Microgateway?
- 即使不是 Apigee Edge 機構使用者,也能透過 Edge 執行 API 呼叫 Microgateway。不過,您必須具備機構層級權限,才能建立或變更 Edge Microgateway 以便瞭解部署在 Edge 上的 Proxy
成效
- 使用 Edge Microgateway 時有哪些效能考量?
- 如果與目標應用程式共用 Edge Microgateway,請確認伺服器已 足夠的容量
- 大規模執行 Edge Microgateway 的最佳做法為何?
- Apigee 建議在前端不同伺服器上執行多個 Edge Microgateway 執行個體 例如 NGINX 等負載平衡器其他參考資訊 使用 Apigee Edge Microgateway 和 NGINX 和 Apigee 社群中的垂直水平資源調度。
- 根據預設,Edge Microgateway TPS 有哪些?硬體需求為何 Microgateway 執行個體
- Edge Microgateway 的硬體需求和 TPS 測量結果難以測量。視情況而定 需要一併調整 Edge Microgateway、外掛程式使用方式、自訂外掛程式 並設定 TLS 等其他項目Apigee 通常會建議您瞭解 並根據特定設定來測試成效
私有雲部署
- 是否邊緣 Microgateway 能與 Edge for Private Cloud 搭配使用嗎?
- 可以。如需詳細資訊,請參閱 Apigee Private Cloud 設定步驟。
外掛程式
- 如何使用 Edge 強制執行配額 微型閘道?
- 您可以選擇為 Edge Microgateway 的執行個體新增配額外掛程式。詳情請參閱 使用配額 外掛程式。
- 《Spike Arrest 》如何 是否透過 Edge Microgateway 強制執行?
- 您可以選擇在 Edge Microgateway 執行個體中新增高點式逮捕外掛程式。適用對象 詳情請參閱使用尖峰 arrest 外掛程式。
- 是
是否有其他方式為 Edge Microgateway 的
Node.js
編寫其他外掛程式? - 不可以。外掛程式必須以
Node.js
編寫。 - 如果 Edge Microgateway 無法將 Analytics 資料上傳至 Edge,會發生什麼事?
- Edge Microgateway 具備記憶體內緩衝區。如果緩衝區填滿,較舊的酬載則會遭到捨棄 讓 API 流量順利流動
- 我可以在 Edge 中新增政策 微型閘道?
- 如果您將一般 Apigee Edge 政策附加至微閘道感知
Apigee Edge 中的 Proxy,系統會忽略這些 Proxy。而 Edge Microgateway 則會使用外掛程式
提供類似 Edge 政策的功能,例如配額、尖峰流量攻擊、API 金鑰安全性
OAuth2 安全性。您也可以編寫自訂外掛程式。詳情請見
使用外掛程式並
開發自訂外掛程式。
下列 Apigee 社群貼文和網誌說明其他外掛程式的用途:
安全性
- 如何保護
/products
資源? - 總覽
- 設定 Edge Microgateway 時,
已部署名為
edgemicro-auth
的 API Proxy 部署至您的 Apigee Edge 環境這個 Proxy 會公開傳回/products
API 產品清單。如果您是在 2018 年 10 月 5 日當天或之前安裝 Edge Microgateway,Apigee 會建議您 採取措施來保護這個端點 其中包含在 Apigee 中建立並修改 API 產品的開發人員電子郵件地址 並根據貴機構的使命 價值觀和目標進行調整 ,瞭解如何調查及移除這項存取權。
- 您可以升級 Edge Microgateway 或設定雙向 TLS,藉此保護端點。兩者皆有 下文將說明這類選項。
- 檢查
/products
端點是否受到保護 -
如果不確定
/products
端點是否受到保護,請參閱本節說明 確認/products
資源受到保護,並採取相應步驟 才能繼續。選項 1:升級 Edge Microgateway
如果您是在 2018 年 10 月 5 日當天或之前安裝 Edge Microgateway,Apigee 建議您升級至 最新版本的 Edge Microgateway請按照 如有網際網路連線,請將 Edge Microgateway 升級。
如果目前無法升級,請前往方法 2。
方法 2:設定雙向傳輸層安全標準 (TLS)
如果目前無法升級 Edge Microgateway,Apigee 建議您 Edge Microgateway 和
edgemicro-auth
Proxy 之間的通訊 TLS (也稱為雙向 TLS)。- 開啟
$HOME/.edgemicro/org-env-config.yaml
檔案。詳情請參閱 如果找不到此檔案,安裝 Edge Microgateway 在哪裡。 - 將下列
tlsOptions
區塊新增至org-env-config.yaml
個檔案,以在 Edge Microgateway 和 Apigee Edge:edge_config: bootstrap: >- https://domain/edgemicro/bootstrap/organization/org/environment/env jwt_public_key: 'https://domain/edgemicro-auth/publicKey' managementUri: 'https://api.enterprise.apigee.com' tlsOptions: agentOptions: requestCert: true cert: 'path/to/cert' key: 'path/to/key'
例如:
tlsOptions: agentOptions: requestCert: true cert: '/Users/jdoe/twowayssl/ssl/client.key' key: '/Users/jdoe/twowayssl/ssl/ca.crt'
您也可以加入下列選用的
agentOptions
參數:ca
:指定憑證授權單位的路徑。pfx
:如果您要使用 p12/pfx 檔案,而不使用憑證和金鑰,請加入這個參數。passphrase
:pfx 檔案的通關密語。ciphers
:指定 TLS 加密方式。
- 請確認部署
edgemicro-auth
Proxy 的虛擬主機已啟用雙向傳輸層安全標準 (TLS)。 詳情請參閱定義雙向 TLS 的虛擬主機。 。以下螢幕截圖顯示如何在 Apigee Edge UI 中,在虛擬主機上啟用雙向傳輸層安全標準 (TLS):
- 在 Edge UI 中查看
edgemicro-auth
API Proxy,確認 請在 Proxy 設定中指定正確的虛擬主機。舉例來說,如果您建立了啟用 TLS 的 名為mutualtls
的虛擬主機,是 Proxy 的HTTPProxyConnection
個授權 看起來應該像這樣:<HTTPProxyConnection> <BasePath>/edgemicro-auth</BasePath> <Properties/> <VirtualHost>mutualtls</VirtualHost> </HTTPProxyConnection>
- 開啟
/products
資源受保護/products
資源都會受到保護完成步驟後,請務必執行這項測試
(方法 1 或選項 2) 來保護資源。您可以用 cURL 這麼做,例如:
curl -v https://your_domain/edgemicro-auth/products
/products
端點受保護:
{ "error":"unauthorized", "error_description": "authentication failed" }
或
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
如果您看到類似這樣的回應,表示 /products
資源未受到保護
可看到下列資訊:
{ "apiProduct":[ { "apiResources":[ "/", "/**" ], "approvalType":"auto", "attributes":[ ], "createdAt":1537374680948, "createdBy":"jdoe@foo.com", "description":"", "displayName":"mock", "environments":[ "test" ], "lastModifiedAt":1537374680948, "lastModifiedBy":"test@test.com", "name":"mock", "proxies":[ "edgemicro-auth", "edgemicro_mock" ], "quota":"null", "quotaInterval":"null", "quotaTimeUnit":"null", "scopes":[ "" ] } ] }
Apigee 也會建議您測試 HTTP 虛擬主機:
例如:
curl -v http://your_domain/edgemicro-auth/products
如果 cURL 呼叫傳回 API 產品清單,則開發人員的電子郵件可能不含
暴露在風險中。如果不想透過這個非傳輸層安全標準 (TLS) 虛擬主機公開端點,請務必從
edgemicro-auth
HTTPProxyConnection 設定。
為保護資源,請執行以下「其中一個」選項:
目前您無法更新指定 Edge Microgateway 執行個體的 JWT 權杖。
解決方法:
每個 JWT 權杖都有一個過期屬性,用來指出權杖的到期日。應用程式可以
會計算到期時間並直接提出 API 呼叫至
edgemicro-auth
權杖端點。舉例來說,您可以發出如下的 API 呼叫:
POST https: //{your_org}-{your_env}.apigee.net/edgemicro-auth/token
... 具有如下的 JSON 內容:
{ "client_id": {your_id}, "client_secret": {your_secret},
"grant_type": "client_credentials" }
另請參閱:
- 安全 透過 Edge Microgateway 說明文件中取得 OAuth 權杖或 API 金鑰的 API。
- 用途 在 Apigee 社群上更新不記名權杖的更新流程。
目前只會檢查基本路徑,藉此判斷 API 是否獲準用於 API 產品 與特定 OAuth 權杖建立關聯
例如:
- 您可以建立具有基本路徑和目標的
edgemicro_
前置字串 Proxy。 - 請將這個 Proxy 新增至產品。例如
edgemicro-prod1
。 - 使用 API 金鑰或 OAuth 透過 Edge Microgateway 發出 API 呼叫時
憑證,Edge Microgateway 檢查 API 的基本路徑是否與
已核准用於該金鑰產品清單的
edgemicro_*
Proxy,或是 產生下一個符記
僅限預設的 Apigee SSL 憑證。目前不支援自訂 SSL 憑證。
解決方法:
如要使用自訂 (非 Apigee 預設) SSL 憑證,您可以選擇下列做法:
-
使用非 SSL
jwt_public_key
端點。修改 Edge Microgateway 設定 檔案才能使用「http://{org}-{env}.apigee.net/edgemicro-auth/publicKey
」-或者 -
啟動 Edge Microgateway 之前,請先設定以下環境變數:export
NODE_TLS_REJECT_UNAUTHORIZED ="0"
另請參閱 確認 Apigee 社群中的 SSL 憑證 Edge Micro 安裝錯誤。
edgemicro-auth
Proxy 部署至 Edge,
需要機構組織管理員憑證才能執行部署作業。你可以使用自己的權杖,但必須先關閉 Edge 的內建授權 Microgateway。做法如下:
- 開啟 Edge Microgateway 的設定檔。
-
將兩個 OAuth 設定變更為 true,如下所示:
oauth: allowNoAuthorization: true allowInvalidAuthorization: true
edgemicro start -o [org] -e [env] -k [key] -s [secret]
測試和偵錯
- 如何 我避免「開啟太多檔案」進行負載測試時發生錯誤?
-
在某些情況下,系統可能會遇到開放檔案連線過多的情形, 這可能會導致 Edge Micro 當機根據預設記錄功能,您必須使用兩個 HTTP 連線: 以及透過 Microgateway 連線的傳入與傳出交易。
為了進行測試和基準化,Apigee 建議設定系統的 ulimit 指令 不限數量:
ulimit -n unlimited
。另請參閱 Edge Apigee 社群的負載測試期間發生微型閘道錯誤。 - 快速的訣竅 開發和偵錯
-
如果您正在開發 Edge Microgateway 外掛程式,可能會發現這類支援 相當有限
以下先提供幾項提示:
- 如要啟動 Edge Microgateway,您可以設定 EDGEMICRO_KEY 環境變數 和 EDGEMICRO_SECRET,複製到 Microgateway 啟動指令所需的金鑰/密鑰組。 這樣您無須在指令中輸入金鑰/密鑰,就能啟動 Edge Microgateway 互動另請參閱 在 Edge Microgateway 文件中設定環境變數。
-
在 DEBUG 模式中啟動 Edge Microgateway,以查看指令終端機中的其他輸出內容:
DEBUG=* edgemicro start -o [org] -e [env] -k [key] -s [secret]
商業與授權
- Apigee-127 與 Edge Microgateway 支援模式之間的關係為何?
-
Apigee-127 是開放原始碼模型支援的開放原始碼軟體專案,沒錯 是,您可以在 GitHub 專案中回報問題,並提出提取要求;如果您嘗試修正問題,可以提出提取要求 例如文字、圖片、模型Apigee-127 與 Apigee。
另一方面,Edge Microgateway 則支援這項服務的 Enterprise 產品 Apigee 客戶。也就是說,Apigee 客戶可以建立支援單、功能要求和錯誤 使用 Google Cloud Apigee Edge 支援製作報表。