透過 ESP 開始在 Compute Engine 中使用 Cloud Endpoints

本教學課程說明如何設定及部署範例 API 和可擴充服務 Proxy (ESP),上述元件會在 Compute Engine 的預先建立 Docker 容器中運作。本文採用 OpenAPI 規格說明範例 API。另外,本教學課程也會說明如何建立 API 金鑰,以及如何用於 API 要求。

如需 Cloud Endpoints 的總覽資訊,請參閱關於 Endpoints 和 Endpoints 架構。

目標

請根據以下的主要工作清單,逐步進行本教學課程的各個步驟。您必須完成所有工作才能成功傳送要求至 API。

  1. 設定 Google Cloud 專案。請參閱「事前準備」一節。
  2. 建立 Compute Engine VM 執行個體。請參閱建立 Compute Engine 執行個體一節。
  3. 下載程式碼範例。請參閱「取得程式碼範例」。
  4. 設定 openapi.yaml 檔案,這個檔案用於設定 Endpoints。請參閱設定 Endpoints 一節。
  5. 部署 Endpoints 設定以建立 Endpoints 服務。請參閱部署 Endpoints 設定一節。
  6. 在 Compute Engine VM 上部署 API 和 ESP。請參閱部署 API 後端一節。
  7. 使用 IP 位址傳送要求至 API。詳情請參閱使用 IP 位址傳送要求一節。
  8. 為範例 API 設定 DNS 記錄。請參閱為 Endpoints 設定 DNS 一節。
  9. 使用完整的網域名稱將要求傳送至 API,請參閱使用 FQDN 傳送要求一節。
  10. 追蹤 API 活動。請參閱追蹤 API 活動一節。
  11. 避免系統向您的 Google Cloud 帳戶收取相關費用。請參閱「清理」。

費用

在本文件中,您會使用下列 Google Cloud的計費元件:

如要根據預測用量估算費用,請使用 Pricing Calculator。

初次使用 Google Cloud 的使用者可能符合免費試用期資格。

完成本文所述工作後,您可以刪除建立的資源,避免繼續計費,詳情請參閱「清除所用資源」。

事前準備

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. 記下專案 ID,後續步驟將會用到。
  7. 您需要一個可以將要求傳送至範例 API 的應用程式。

    • Linux 和 macOS 使用者:本教學課程提供了使用 curl 的範例,這項工具通常已預先安裝於您的作業系統。如果您尚未安裝 curl,可以前往 curl 的版本與下載頁面下載這項工具。
    • Windows 使用者:本教學課程提供了使用 Invoke-WebRequest 的範例,PowerShell 3.0 以上版本均支援這項工具。
  8. 下載 Google Cloud CLI。
  9. 更新 gcloud CLI 並安裝 Endpoints 元件。
    gcloud components update
  10. 確認 Google Cloud CLI (gcloud) 已取得授權,可存取您在 Google Cloud上的資料與服務:
    gcloud auth login
    在開啟的新瀏覽器分頁中選取一個帳戶。
  11. 將預設專案設為您的專案 ID。
    gcloud config set project YOUR_PROJECT_ID

    將 YOUR_PROJECT_ID 替換為專案 ID。如果您有其他 Google Cloud 專案,並想使用 gcloud 加以管理,請參閱「管理 gcloud CLI 設定」。

完成本文所述工作後,您可以刪除建立的資源,避免繼續計費,詳情請參閱「清除所用資源」一節。

建立 Compute Engine 執行個體

    如要建立 Compute Engine 執行個體,請按照下列指示操作:

    1. 前往 Google Cloud 控制台的「Create an instance」(建立執行個體)頁面。

      前往「建立執行個體」

    2. 按一下「Select」(選取)。
    3. 在「Firewall」(防火牆) 區段中,選取「Allow HTTP traffic」(允許 HTTP 流量) 和「Allow HTTPS traffic」(允許 HTTPS 流量)。
    4. 按一下「Create」(建立),即可建立 VM。
    5. VM 執行個體建立視窗的螢幕截圖 (內含必要的選項組合)

      啟動執行個體會花費一些時間。如果執行個體準備就緒,就會列在「VM Instances」(VM 執行個體) 頁面中,並顯示綠色的狀態圖示。

    6. 確定您可以連線至自己的 VM 執行個體。
      1. 在虛擬機器執行個體清單中,找到您要建立連線的執行個體,然後在該列中點選「SSH」SSH。
      2. 您現在可以使用終端機在 Debian 執行個體上執行 Linux 指令。
      3. 輸入 exit 來中斷與執行個體之間的連線。
    7. 記下執行個體的名稱、區域和外部 IP 位址,以便用於後續步驟。

下載程式碼範例

將程式碼範例下載至本機電腦。

Java

如何複製或下載範例 API:

  1. 將範例應用程式存放區複製到您的本機電腦:
    git clone https://github.com/GoogleCloudPlatform/java-docs-samples

    或者,您也可以選擇下載範例 ZIP 檔案,然後再解壓縮。

  2. 前往包含程式碼範例的目錄:
    cd java-docs-samples/endpoints/getting-started
Python

如何複製或下載範例 API:

  1. 將範例應用程式存放區複製到您的本機電腦: