建立及部署新的 API Proxy

您已設定 Google Cloud 和混合式 UI,並安裝及設定執行階段,現在可以瞭解這些項目如何搭配運作。

本節將逐步說明下列事項:

  1. 使用 API Proxy 精靈,在 Apigee UI 中建立新的 API Proxy
  2. 使用 UI 將新 Proxy 部署至叢集

1. 使用混合式 UI 建立新的 API Proxy

本節說明如何使用 API Proxy 精靈,在 UI 中建立新的 API Proxy。

如要使用 API Proxy 精靈建立簡單的 API Proxy,請按照下列步驟操作:

  1. 在瀏覽器中開啟 Apigee UI
  2. 在主要檢視畫面中,依序選取「Develop」>「API Proxies」
  3. 從「環境」下拉式清單中,選取要建立新 API Proxy 的環境。本節假設環境名稱為「test」。您已在「步驟 5:新增環境」中建立至少一個環境。

    混合式使用者介面會顯示該環境的 API Proxy 清單。如果您尚未建立任何 Proxy,清單會是空白的。

  4. 按一下右上方的「+Proxy」。API Proxy 精靈會啟動。
  5. 選取「反向 Proxy」 (最常見),然後點選「下一步」

    系統隨即會顯示「Proxy details」(Proxy 詳細資料) 檢視畫面。

  6. 透過下列設定設定 Proxy:
    • Proxy 名稱:輸入「myproxy」。本節的其餘步驟會假設這是您 Proxy 的 ID。
    • Proxy 底層路徑:系統會自動設為「/myproxy」。Proxy Base Path 是用來向 API 發出要求的網址的一部分。Edge 會使用這個網址比對傳入要求,並將要求轉送至適當的 API Proxy。
    • (選用) 說明:輸入新 API Proxy 的說明,例如「Testing Apigee hybrid with a simple proxy」。
    • 目標 (現有 API):輸入「https://mocktarget.apigee.net」。這會定義 Apigee 在對 API Proxy 發出要求時叫用的目標網址。mocktarget 服務託管於 Apigee,並會傳回簡單的資料。不需要 API 金鑰或存取權杖。

    API 代理程式的詳細資料應如下所示:

  7. 點選「下一步」
  8. 在「政策」畫面中,選取「Pass through (no authorization)」(直接傳遞 (不授權)) 做為安全性選項。
  9. 點選「下一步」
  10. 在「摘要」畫面中,按一下「建立」

    Hybrid 會產生 Proxy (有時稱為「Proxy 組合」):

  11. 按一下「前往 Proxy 清單」

    Hybrid 會顯示「Proxy」檢視畫面,其中列出 API Proxy。新的 Proxy 應會顯示在清單頂端,並帶有灰色狀態指標,表示尚未部署。

2. 使用混合式 UI 將 Proxy 部署至叢集

建立新 Proxy 後,您必須部署 Proxy 才能試用。本節說明如何使用混合式 UI 部署新 Proxy。

如要在混合式使用者介面中部署 API Proxy,請按照下列步驟操作:

  1. 在混合式 UI 中,依序選取「開發」>「API Proxy」

    請務必選取「測試」環境。

    使用者介面會在 Proxy 清單中顯示新的 Proxy:

  2. 按一下「myproxy」Proxy。

    使用者介面會顯示該 Proxy 的「API Proxy 總覽」分頁。

    請注意,「部署」下方的「修訂版本」欄會顯示「未部署」。

  3. 在「修訂版本」欄中,展開下拉式選取器,選擇要部署的修訂版本。

    下拉式清單只會顯示「1」和「取消部署」。

  4. 從下拉式清單中選取要部署的修訂版本「1」。

    使用者介面會提示您確認部署作業:

  5. 按一下「Deploy」(部署)

    使用者介面會開始將新 Proxy 的修訂版本 1 部署到叢集。

    請注意,部署作業不會立即完成。Hybrid 的「最終一致性」部署模型表示,新部署作業會在短時間內推出至叢集,而不是立即推出。

雖然有幾種方法可在 UI 中檢查 Proxy 的部署狀態,但接下來的兩個步驟會說明如何呼叫您剛部署的 API Proxy,以及如何透過呼叫 Apigee API 檢查部署狀態。

3. 呼叫 API Proxy

使用者介面顯示 Proxy 已部署完成後,您可以使用 cURL 或所選的 REST 用戶端呼叫 Proxy。例如:

  1. 將環境群組的主機別名匯出至變數:
    HOSTALIAS=your_host_alias
  2. 呼叫 API Proxy:
    curl -k https://$HOSTALIAS/myproxy

    例如:

    curl -v -k https://apitest.acme.com/myproxy

    如果呼叫成功,您會看到下列輸出內容:

    Hello, Guest!

如果您使用自行簽署的憑證,但收到 TLS/SSL 錯誤訊息,請改為嘗試下列步驟:

  1. 將環境群組的主機別名匯出至變數:
    HOSTALIAS=your_host_alias
  2. 匯出 Ingress 主機:
    export INGRESS_HOST=$(kubectl -n istio-system get service \
      istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  3. 匯出安全 Ingress 通訊埠編號:
    export SECURE_INGRESS_PORT=$(kubectl -n istio-system get \
      service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].port}')
  4. 呼叫 API Proxy:
    curl  -H Host:$HOSTALIAS --resolve \
      $HOSTALIAS:$SECURE_INGRESS_PORT:$INGRESS_HOST  \
      https://$HOSTALIAS:$SECURE_INGRESS_PORT/myproxy -k