您已設定 Google Cloud 和混合式 UI,並安裝及設定執行階段,現在可以查看這些元件如何搭配運作了。
本節將逐步說明下列事項:
- 使用 API Proxy 精靈在 Apigee UI 中建立新的 API Proxy
- 使用 UI 將新的 Proxy 部署至叢集
1. 使用混合式 UI 建立新的 API Proxy
本節說明如何使用 API Proxy 精靈在 UI 中建立新的 API Proxy。
如要使用 API Proxy 精靈建立簡單的 API Proxy,請按照下列步驟操作:
- 在瀏覽器中開啟 Apigee UI。
- 在主畫面中,依序選取「Develop」>「API Proxies」。
- 在「環境」下拉式清單中,選取要建立新 API 代理程式的環境。本節假設環境名稱為「test」。您已在步驟 5:新增環境中建立至少一個環境。
混合型 UI 會顯示該環境的 API Proxy 清單。如果您尚未建立任何 Proxy,清單會是空白的。
- 按一下右上方的「+ Proxy」。API Proxy 精靈會開始執行。
- 選取「Reverse proxy」(反向 Proxy) (最常見),然後點選「Next」。
系統會顯示「Proxy details」檢視畫面。
- 按照下列設定設定 Proxy:
- Proxy Name:輸入「myproxy」。本節的其餘步驟假設這是您的 Proxy ID。
- Proxy Base Path:自動設為「/myproxy」。「Proxy Base Path」是用於向 API 提出要求的網址的一部分。Edge 會使用網址比對並轉送傳入的要求,將其轉送至適當的 API Proxy。
- (選用) 說明:輸入新 API Proxy 的說明,例如「使用簡易 Proxy 測試 Apigee 混合式服務」。
- 目標 (現有 API):輸入「https://mocktarget.apigee.net」。這會定義 Apigee 在對 API Proxy 提出要求時,要叫用的目標網址。mocktarget 服務由 Apigee 代管,並傳回簡單資料。不需要 API 金鑰或存取權杖。
API Proxy 的詳細資料應如下所示:
- 點選「下一步」。
- 在「政策」畫面中,選取「傳送 (不需授權)」做為安全選項。
- 點選「下一步」。
- 在「摘要」畫面中,按一下「建立」。
Hybrid 會產生 Proxy (有時稱為「Proxy 套件」):
- 按一下「前往 Proxy 清單」。
Hybrid 會顯示「Proxies」檢視畫面,列出 API Proxy 清單。新 Proxy 應位於清單頂端,並顯示灰色狀態指標,表示尚未部署。
2. 使用混合型 UI 將 Proxy 部署至叢集
建立新的 Proxy 後,您必須部署 Proxy,才能試用。本節說明如何使用混合 UI 部署新的 Proxy。
如何在混合式 UI 中部署 API Proxy:
- 在混合式 UI 中,依序選取「Develop」>「API Proxies」。
請務必選取「測試」環境。
使用者介面會在 Proxy 清單中顯示新的 Proxy:
按一下「myproxy」Proxy。
UI 會顯示該 Proxy 的「API Proxy 總覽」分頁。
請注意,在「部署」下方,「修訂版本」欄會顯示「未部署」。
- 在「修訂版本」欄中,展開下拉式選取器,選擇要部署的修訂版本。
下拉式清單只會顯示「1」和「Undeploy」。
從下拉式清單中選取「1」(您要部署的修訂版本)。
UI 會提示您確認部署作業:
- 按一下「Deploy」。
使用者介面會開始將新 Proxy 的第 1 個修訂版本部署至叢集。
請注意,部署作業並非即時作業。Hybrid 的「最終一致性」部署模式表示新部署作業會在短時間內推出至叢集,而非立即推出。
雖然有多種方法可在 UI 中檢查 Proxy 的部署狀態,但接下來的兩個步驟會說明如何呼叫您剛部署的 API Proxy,以及如何透過呼叫 Apigee API 來檢查部署狀態。
3. 呼叫 API Proxy
當使用者介面顯示 Proxy 已部署時,您可以嘗試使用 cURL 或所選的 REST 用戶端呼叫 Proxy。例如:
- 將環境群組的代管服務器別名匯出至變數:
HOSTALIAS=your_host_alias
- 呼叫 API Proxy:
curl -k https://$HOSTALIAS/myproxy
例如:
curl -v -k https://apitest.acme.com/myproxy
如果呼叫成功,您會看到下列輸出內容:
Hello, Guest!
如果您使用的是自行簽署的憑證,但收到 TLS/SSL 錯誤,請改為嘗試下列步驟:
- 將環境群組的代管服務器別名匯出至變數:
HOSTALIAS=your_host_alias
- 匯出 ingress 主機:
export INGRESS_HOST=$(kubectl -n istio-system get service \ istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
- 匯出安全入口通訊埠編號:
export SECURE_INGRESS_PORT=$(kubectl -n istio-system get \ service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].port}')
- 呼叫 API Proxy:
curl -H Host:$HOSTALIAS --resolve \ $HOSTALIAS:$SECURE_INGRESS_PORT:$INGRESS_HOST \ https://$HOSTALIAS:$SECURE_INGRESS_PORT/myproxy -k