实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

佈建 Apigee X 評估組織

实验 1 小时 5 分钟 universal_currency_alt 1 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP904

Google Cloud 自學實驗室標誌

總覽

在本實驗室,您將瞭解如何建立 Apigee X 組織。您將使用 Apigee X 佈建精靈建立 Apigee X 組織。安裝及設定組織後,您將安裝 API Proxy 並發出 API 呼叫,確認組織能正常運作。

您在自己的 Google Cloud 專案中建立的 Apigee 評估組織通常可使用 60 天。您為實驗室佈建的組織會在實驗室結束時刪除,屆時您也會失去組織存取權。

建議先閱讀實驗室內容,再點選「Start Lab」。開始實驗室後,請在 90 分鐘內完成。計時結束時,實驗室就會終止,Apigee 評估組織也會遭到刪除。

在本實驗室,您將瞭解如何執行下列工作:

  • 使用佈建精靈建立 Apigee X 評估組織
  • 瞭解 Apigee X 架構,以及如何與 Google Cloud 專案整合
  • 建立 VM,從內部 IP 位址呼叫 Apigee Proxy
  • 從外部 IP 位址呼叫 Apigee Proxy

設定

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。

為了順利完成這個實驗室,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。 注意:建議開啟新的無痕視窗來完成本實驗室。

如何開始研究室及登入 Google Cloud 控制台

  1. 點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:

    • 「Open Google Cloud console」按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的臨時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」

    接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有必要,請將下方的 Username 貼到「登入」對話方塊。

    {{{user_0.username | "Username"}}}

    您也可以在「Lab Details」窗格找到 Username。

  4. 點選「下一步」

  5. 複製下方的 Password,並貼到「歡迎使用」對話方塊。

    {{{user_0.password | "Password"}}}

    您也可以在「Lab Details」窗格找到 Password。

  6. 點選「下一步」

    重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
  7. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Google Cloud 控制台稍後會在這個分頁開啟。

注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。「導覽選單」圖示和搜尋欄位

啟動 Cloud Shell

Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。

  1. 點按 Google Cloud 控制台頂端的「啟用 Cloud Shell」圖示 「啟動 Cloud Shell」圖示

  2. 系統顯示視窗時,請按照下列步驟操作:

    • 繼續操作 Cloud Shell 視窗。
    • 授權 Cloud Shell 使用您的憑證發出 Google Cloud API 呼叫。

連線建立完成即代表已通過驗證,而且專案已設為您的 Project_ID。輸出內容中有一行文字,宣告本工作階段的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。

  1. (選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
  1. 點按「授權」

輸出內容:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project

輸出內容:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需 gcloud 的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南

工作 1:佈建 Apigee X 組織

在這項工作中,您將使用佈建精靈來佈建 Apigee X 評估組織

Apigee X 組織會連結至客戶管理的 Google Cloud 專案。

事前準備

建立 Apigee X 評估組織前,請先瞭解佈建要求

  • Apigee X 組織名稱必須與相關聯的 Google Cloud 專案名稱相同。專案名稱必須以小寫英文字母開頭,且只能包含小寫英文字母 (a-z)、數字 (0-9) 和連字號。
  • 用於 Apigee X 的專案必須與有效的 Google Cloud 帳單帳戶相關聯。無論是建立付費或評估版 Apigee X 組織,都適用這項規定。評估組織不會產生帳戶費用,但組織使用的部分 API 會產生費用。
  • 需使用 Cloud SDK 才能安裝 Apigee 組織並與之互動。

實驗室專案須符合上述要求。

啟動佈建精靈

  1. 前往 Cloud 控制台的 Apigee 控制台。

  2. 點選「免付費試用 Apigee」,前往評估控制台。

    「Lab Details」面板,圈選項目為 Google Cloud 專案名稱旁的「複製」圖示。

啟用 API

佈建 Apigee X 組織前,必須先在 Google Cloud 專案中啟用 Apigee、Service Networking 和 Compute Engine API。佈建精靈會自動啟用這些必要的 API。

  1. 在「Set up Apigee Evaluation」部分,點選「啟用 API」旁邊的「編輯」

    系統會列出待啟用的 API:

    • Apigee API 可用來設定 Apigee 組織並與之互動。
    • Compute Engine API 用於建立代管執行個體群組 (MIG),MIG 會做為連線至 Apigee 執行個體私人 IP 位址的網路橋接。
    • Service Networking API 可讓 Google Cloud 專案與 Google 代管的 Apigee 評估組織通訊。
  2. 按一下「啟用 API」

    稍待片刻,API 啟用完成後,「啟用 API」旁邊會顯示勾號。

設定網路

佈建精靈會在客戶的 Google Cloud 專案與包含 Apigee 執行階段的 Google 代管專案之間,建立 虛擬私有雲 (VPC) 網路對接。精靈也會建立 Private Service Connect,用於與 Apigee 執行階段通訊。

  1. 點選「網路」旁邊的「編輯」圖示

    在「設定網路」窗格中,您需要指定授權網路。預設網路雖可供評估組織使用,但通常不建議使用預設網路。

  2. 點選「See VPC networks in your project」

    控制台的「虛擬私有雲網路」頁面會在另一個分頁開啟。

  3. 按一下「建立虛擬私有雲網路」

  4. 將網路命名為 apigeex-vpc

  5. 在「新的子網路」窗格,設定下列值:

    屬性
    姓名 apigeex-vpc
    地區 選取
    IPv4 範圍 10.0.0.0/20
    Private Google Access 開啟

    IP 位址範圍以 CIDR 格式指定。十進位數字代表範圍大小:/32 代表單一 IP 位址,/8 則是最大的私人 IP 範圍 (從 10.0.0.0 到 10.255.255.255)。

    子網路範圍必須足以容納 /22 的範圍。這裡使用的 /20 範圍比 Apigee 使用的 /22 範圍大 4 倍。

  6. 在「新的子網路」窗格,點選「完成」

  7. 點選「建立」

    系統會在專案中建立新的虛擬私有雲網路,當中含有單一子網路。「apigeex-vpc」網路設定完成前,旁邊會顯示旋轉中的圓圈。

  8. 等待 apigeex-vpc 網路建立完成,然後返回佈建精靈的「設定」分頁。

  9. 點選「Refresh authorized networks」圖示 「重新整理網路」按鈕,然後選取已授權的網路「apigeex-vpc」

  10. 選取「自動分配 IP 範圍」

系統會建立名為 google-managed-services-apigeex-vpc對等互連 IP 範圍,前置長度為 /22。

注意: 對等互連範圍前置碼長度會指定分配給 Apigee 的對等互連內部 IP 位址數量。位址數量為 2 ^ (32 - 前置長度)。付費組織的對等互連範圍前置碼長度應為 /16 或 /20,分別對應 65536 或 4096 個 IP 位址。

評估組織只能使用 /22 的前置長度,對應 1024 個 IP 位址。IP 位址數量越少,Apigee 評估組織能擴充的規模就越受限。相較之下,付費組織可處理的流量遠高於評估組織。
  1. 點選「分配並連線」。
  2. 等待網路設定完成。

網路設定完成後,「網路」旁邊會顯示勾號。

  1. 返回「虛擬私有雲網路」分頁,然後點選「重新整理」
  2. 點選「apigeex-vpc」
  3. 進入「子網路」分頁後,向右捲動並選取「私人服務連線」分頁標籤。

此時 google-managed-services-apigeex-vpc IP 範圍應已建立,內部 IP 範圍為 /22。

點選「Check my progress」,確認目標已達成。 啟用 API 並設定網路。

建立 Apigee 評估組織

佈建精靈會建立 Apigee 評估組織。

  1. 返回佈建精靈的「設定」分頁。

  2. 點選「Apigee evaluation organization」旁的「編輯」

    在「Create an Apigee evaluation organization」窗格中,您可以選取 Apigee 執行階段和數據分析託管使用的 Google Cloud 區域

  3. 在「Analytics hosting region」部分選取「

  4. 在「Runtime location」部分選取「

您需要選取執行階段位置的區域。Apigee 會從該區域中選擇一個可用區,用來佈建評估組織。

注意: 如果所選執行階段區域無法做為數據分析託管區域,請選擇地理位置鄰近執行階段區域的區域。舉例來說,如果執行階段區域是 us-east4,即可選取 us-east1 做為數據分析區域。 注意: 評估組織只能擁有一個執行階段執行個體,且必須託管在單一 Google Cloud 可用區。

付費組織的執行階段執行個體會在單一區域內的多個可用區執行。一個組織可以建立多個執行階段執行個體,每個執行個體都會託管在不同區域。

如果是多區域 Apigee 組織,請選擇一個數據分析託管區域,該區域應位於執行階段區域的中心,或靠近最重要的區域。
  1. 點選「佈建」

    您稍後需返回佈建精靈,設定存取路由

工作 2:等待佈建完成

在這項工作,您將等待 Apigee 評估組織佈建完成。

Apigee 組織佈建作業需要較長時間。您可以使用 Apigee API 監控組織的佈建進度。

啟動監控指令碼

  1. 返回 Cloud 控制台分頁。

  2. 點選右上方工具列中的「啟用 Cloud Shell」按鈕。

    醒目顯示的「啟用 Cloud Shell」按鈕。

  3. 如果出現提示訊息,請點選「繼續」

    佈建並連線至 Cloud Shell 的作業需要一些時間。連線建立完成即代表已通過驗證,而且專案已設為您的「PROJECT_ID」

  4. 在 Cloud Shell 中,驗證變數是否與 Apigee 組織名稱相符:

    echo ${GOOGLE_CLOUD_PROJECT}

    GOOGLE_CLOUD_PROJECT 變數應包含專案名稱,也就是 Apigee 組織名稱。

  5. 如果未設定 GOOGLE_CLOUD_PROJECT 變數,請使用類似下方的指令手動設定變數,並將「」替換為專案名稱:

    export GOOGLE_CLOUD_PROJECT=<project>
  6. 將下列指令貼入 Cloud Shell:

    export INSTANCE_NAME=eval-instance; export ENV_NAME=eval; if [ -z "${GOOGLE_CLOUD_PROJECT}" ]; then echo "Error: GOOGLE_CLOUD_PROJECT environment variable is not set. Please set it to your project ID."; else export PREV_INSTANCE_STATE=; echo "waiting for runtime instance ${INSTANCE_NAME} to be active"; while : ; do export INSTANCE_STATE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}" | jq "select(.state != null) | .state" --raw-output); [[ "${INSTANCE_STATE}" == "${PREV_INSTANCE_STATE}" ]] || (echo; echo "INSTANCE_STATE=${INSTANCE_STATE}"); export PREV_INSTANCE_STATE=${INSTANCE_STATE}; [[ "${INSTANCE_STATE}" != "ACTIVE" ]] || break; echo -n "."; sleep 5; done; echo; echo "instance created, waiting for environment ${ENV_NAME} to be attached to instance"; while : ; do export ATTACHMENT_DONE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}/attachments" | jq "select(.attachments != null) | .attachments[] | select(.environment == \"${ENV_NAME}\" or (.environment | endswith(\"/${ENV_NAME}\"))) | .environment" --raw-output); [[ -n "${ATTACHMENT_DONE}" ]] && break; echo -n "."; sleep 5; done; echo; echo "${ENV_NAME} environment attached"; echo "***ORG IS READY TO USE***"; fi

    這組指令會使用 Apigee API,判斷是否已建立執行階段執行個體,然後等待 eval 環境附加至該執行個體。

  7. 等待佈建作業完成。

    畫面顯示 ***ORG IS READY TO USE*** 文字時,表示已可開始測試組織。

    注意:等待組織完全建立期間,請繼續閱讀本實驗室內容,瞭解 Apigee X 架構、API Proxy 呼叫生命週期和 Apigee UI。

    這個程序可能需要將近 30 分鐘。請注意實驗室的剩餘時間,並定期檢查 Cloud Shell 輸出內容,瞭解何時可以測試組織。

    本任務的其他實驗室會自動為您建立 Apigee 組織。

Apigee X 架構總覽

Apigee X 組織需要兩個 Google Cloud 專案:一個由客戶管理,另一個由 Google 管理,用於 Apigee X 執行階段。每個專案都使用各自的虛擬私有雲網路。根據預設,兩個不同專案中的虛擬私有雲網路無法相互通訊。

兩個獨立專案,中間以一條線區隔,代表兩者的虛擬私有雲無法彼此通訊。

為確保這些虛擬私有雲能順利通訊,Apigee 會使用 虛擬私有雲網路對等互連。網路對等互連可讓兩個網路透過內部 IP 位址連線。

虛擬私有雲網路對等互連與 Google 和客戶的虛擬私有雲重疊,因此可進行通訊。

Apigee 執行階段會佈建在 Google 管理的專案中,並執行 API Proxy。傳入執行階段的要求會轉送至 內部 TCP 負載平衡器,該平衡器可透過對等網路中的私人 IP 位址存取。

如要將網際網路用戶端的流量轉送至 Apigee 執行階段,可以使用全域外部 HTTPS 負載平衡器 (XLB)。不過,即使網路已建立對等互連,XLB 仍無法直接與其他專案中的內部 IP 位址通訊。為解決這項問題,您需要使用虛擬機器 (VM) 的代管執行個體群組 (MIG) 做為網路橋接器。

使用 MIG 做為網路橋接器的整體架構,包含全域和後端服務。

MIG 中的 VM 可在對等互連網路間雙向通訊。來自網際網路的要求會透過 XLB 傳送至 MIG 中的橋接 VM,VM 即可呼叫 Apigee 執行階段內部負載平衡器的私人 IP。

此外,執行階段也能直接呼叫客戶專案中對等互連網路的內部 IP 位址,或透過 Google 管理的專案的 Cloud NAT (網路位址轉譯) 閘道呼叫外部 IP。

API Proxy 呼叫生命週期

下圖說明付費 Apigee X 組織的 API Proxy 呼叫生命週期。

Proxy 呼叫生命週期:從 Apigee API Proxy 要求開始,到 Apigee 要求傳回結束。

  1. 用戶端呼叫 Apigee API Proxy。
  2. 要求會傳送至全域外部 HTTPS 負載平衡器 (XLB)。XLB 已設定外部公開 IP 位址和 TLS 憑證。
  3. XLB 會將要求轉送至 MIG 中的 VM。
  4. VM 將要求轉送至內部負載平衡器的私人 IP 位址,再經由路由傳送至 Apigee 執行階段。
  5. Apigee 執行階段處理要求後,會將要求傳送至後端服務。回應會沿著相同路徑傳回。

Apigee UI

您可以使用 Apigee UI 來管理組織。前往 apigee.google.com,即可在 UI 查看組織資訊。

注意: 佈建程序開始幾分鐘後,即可在 Apigee UI 看到 Apigee X 組織。

點選「Check my progress」,確認目標已達成。 建立 Apigee 評估組織,並等待佈建完成。

工作 3:設定存取路由

在這項工作中,您將使用佈建精靈建立基礎架構,讓 API 呼叫能從虛擬私有雲網路外部發出。

  1. 返回佈建精靈的「設定」分頁。

    注意: 如果已順利完成先前的進度檢查項目,Apigee 評估組織佈建程序 (步驟 3) 應會標示為已完成,或很快就會標示為已完成。請等待步驟 3 完成後再繼續。
  2. 點按「Access routing」旁的「Edit」

  3. 選取「Enable internet access」

    注意: 精靈會顯示 Google Cloud 負載平衡器的費用,但請放心,本實驗室不會向您收取任何費用。
  4. 選取「Use wildcard DNS service」

    萬用字元 DNS 服務會根據主機名稱中嵌入的 IP 位址,自動傳回 DNS 項目。舉例來說,主機名稱 eval-34.100.120.55.nip.io 會解析為 IP 位址 34.100.120.55。

  5. 維持原有的 domain,使用預設的萬用字元 DNS 供應商 nip.io

  6. 在「子網路」部分,選取「apigeex-vpc」

  7. 點選「Set Access」

  8. 等待存取路由設定完成,然後點選「繼續」

點選「Check my progress」,確認目標已達成。 設定存取路由。

系統會隨即為評估組織建立外部存取權。負載平衡器使用的 apigee-ssl-cert 可能需要幾分鐘才會建立完成,因此您將先測試內部存取權。

工作 4:使用內部存取權測試 Apigee 評估組織

在這項工作中,您將測試是否能從內部 IP 位址呼叫 Apigee 評估組織中的 Proxy。

如要使用內部 IP 位址,在執行階段執行個體上呼叫 API Proxy,必須在同一個網路上建立 VM,VM 才能呼叫該執行個體。

建立可呼叫 Apigee 執行階段的虛擬機器

佈建完成後,Apigee 評估組織只會允許內部 IP 位址與 Apigee 執行階段通訊。叢集中的 Compute Engine VM 可將要求傳送至 Apigee 執行階段的內部負載平衡器。

  1. 使用 Cloud Shell 設定下列變數:

    export ORG=${GOOGLE_CLOUD_PROJECT} export PROJECT_NUMBER=$(gcloud projects describe ${GOOGLE_CLOUD_PROJECT} --format="value(projectNumber)") export NETWORK=apigeex-vpc export SUBNET=apigeex-vpc export INSTANCE_NAME=eval-instance export VM_NAME=apigeex-test-vm export VM_ZONE={{{ project_0.default_zone | ZONE }}} export RUNTIME_IP=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/instances/${INSTANCE_NAME}" | jq ".host" --raw-output) echo "RUNTIME_IP=${RUNTIME_IP}"

    系統會透過 Apigee API 擷取執行階段執行個體的詳細資料,取得執行階段 IP 位址,再使用 jq 工具剖析 JSON 回應並擷取特定欄位。

  2. 建立虛擬機器:

    gcloud beta compute --project=${GOOGLE_CLOUD_PROJECT} \ instances create ${VM_NAME} \ --zone=${VM_ZONE} \ --machine-type=e2-micro \ --subnet=${SUBNET} \ --service-account=${PROJECT_NUMBER}-compute@developer.gserviceaccount.com \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --tags=http-server,https-server \ --image-family=debian-11 \ --image-project=debian-cloud \ --boot-disk-size=10GB \ --boot-disk-device-name=${VM_NAME} \ --metadata=startup-script="sudo apt-get update -y && sudo apt-get install -y jq"

    gcloud 指令會使用下列參數建立新的虛擬機器:

    • zone:VM 執行個體的可用區
    • machine-type:e2-micro 是經濟實惠的共用核心機型
    • subnet:您在 apigeex-vpc 網路中建立的子網路
    • service-account:附加至執行個體的身分
    • scopes:服務帳戶在 VM 上擁有的存取權層級
    • tags:套用至執行個體的標記清單,用於提供預設防火牆規則和路由
    • image-family:使用的映像檔系列。系統會使用系列中未淘汰的最新映像檔
    • image-project:代管公開映像檔系列的 Google Cloud 專案
    • boot-disk-size:要建立的 VM 開機磁碟大小
    • boot-disk-device-name:建立的開機磁碟名稱
    • metadata:指定要執行的開機指令碼;這個指令碼會安裝測試所需的 jq

    如要進一步瞭解參數,可以使用下列指令:

    gcloud compute instances create --help
  3. 新增防火牆規則,允許安全殼層 (SSH) 存取網路中的 VM:

    gcloud compute --project=${GOOGLE_CLOUD_PROJECT} \ firewall-rules create ${NETWORK}-allow-ssh \ --direction=INGRESS \ --priority=65534 \ --network=${NETWORK} \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=0.0.0.0/0

    這個指令會指定允許任何來源傳送 SSH 連線要求至機器,但 SSH 工作階段仍會要求使用者通過驗證。

  4. 在 Cloud Shell 啟用連往新 VM 的 SSH 連線:

    gcloud compute ssh ${VM_NAME} --zone=${VM_ZONE} --force-key-file-overwrite
  5. 對顯示的每個問題按下 EnterReturn 鍵,使用預設的輸入內容。

    您是以專案擁有者的身分登入,因此能透過 SSH 連至這個機器。

    Cloud Shell 工作階段現在會在 VM 內執行。

測試 Apigee 評估組織

  1. 在 VM 的殼層,設定必要殼層變數:

    export PROJECT_NAME=$(gcloud config get-value project) export ORG=${PROJECT_NAME} export INSTANCE_NAME=eval-instance export INSTANCE_IP=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/instances/${INSTANCE_NAME}" | jq ".host" --raw-output) export ENV_GROUP_HOSTNAME=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/envgroups" | jq ".environmentGroups[0].hostnames[0]" --raw-output) echo "INSTANCE_IP=${INSTANCE_IP}" echo "ENV_GROUP_HOSTNAME=${ENV_GROUP_HOSTNAME}"

    系統會使用環境群組主機名稱,將呼叫轉送至部署在評估環境群組環境中的 API Proxy。

  2. 使用內部 IP 位址呼叫已部署的 hello-world API Proxy:

    curl -i -k --resolve "${ENV_GROUP_HOSTNAME}:443:${INSTANCE_IP}" \ "https://${ENV_GROUP_HOSTNAME}/hello-world"

    由於環境群組主機名稱沒有 DNS 項目,--resolve 設定會強制將傳送至環境群組主機名稱的指令解析為執行個體的負載平衡器 IP 位址。-k 選項會略過執行個體負載平衡器提供的 TLS 憑證驗證。

    這個 curl 指令會透過連至對等互連網路的虛擬機器,呼叫執行階段負載平衡器的內部 IP 位址,並傳回 hello-world Proxy 的輸出內容:Hello, Guest!

點選「Check my progress」,確認目標已達成。 使用內部存取權測試 Apigee 評估組織。

工作 5:透過外部存取權測試 Apigee 評估組織

在這項工作中,您將測試是否能從外部 IP 位址呼叫 Apigee 評估組織中的 Proxy。

佈建程序的「存取路由」設定步驟會建立所需的基礎架構,以便從外部 IP 位址呼叫 API Proxy。佈建精靈會建立外部負載平衡器,透過代管執行個體群組呼叫執行階段。

探索已建立的基礎架構

  1. 在控制台,依序前往「網路服務」>「負載平衡」

    系統已建立名為 apigee-proxy-url-map 的負載平衡器。

  2. 點選「apigee-proxy-url-map」

    負載平衡器設定區段包含「前端」、「主機與路徑規則」,以及「後端」。

    「前端」用來指定傳入流量的詳細資料。這個負載平衡器應接受外部 IP 位址通訊埠 443 的 HTTPS 流量。憑證名稱為 apigee-ssl-cert

    「主機和路徑規則」用來指定哪些主機名稱和網址路徑可用來呼叫特定後端。在本例中,包含任何主機名稱和路徑的要求都會轉送至 apigee-proxy-backend 後端服務。

    「後端」用於指定負載平衡器要呼叫的服務。apigee-proxy- 執行個體群組包含 2 個虛擬機器,可將要求轉送至執行階段執行個體。全域負載平衡器無法將要求轉送至內部 IP 位址,但執行個體群組 VM 可以呼叫內部 IP 位址。

  3. 如要存取憑證詳細資料,請在「前端」設定中點選「apigee-ssl-cert」

    負載平衡器使用的憑證 (啟用時) 具有憑證鏈結,可讓 curl 呼叫負載平衡器,而不略過憑證驗證。憑證的網域是「[IP_ADDRESS].nip.io」,其中 IP 位址是前端的外部 IP 位址

    Google Cloud 需要佈建憑證,這可能需要一段時間。

    有效憑證的設定如下:

    有效的憑證設定,包括狀態、類型和憑證鏈結。

    如果憑證的狀態為「佈建中」,表示 Google Cloud 可能已建立憑證,但仍在與憑證授權單位進行簽署。

    佈建通常會在 10 分鐘內完成,但最久可能需要一小時。詳情請參閱代管狀態疑難排解指南

  4. 在 Cloud Shell 點按「開啟新分頁」圖示 (+),開啟新分頁。

    Cloud Shell 無法呼叫 Google Cloud 專案中的私人 IP 位址。

  5. 使用外部 IP 位址呼叫已部署的 hello-world API Proxy:

    export PROJECT_NAME=$(gcloud config get-value project) export SSL_HOSTNAME=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://compute.googleapis.com/compute/v1/projects/${PROJECT_NAME}/global/sslCertificates/apigee-ssl-cert" | jq ".managed.domains[0]" --raw-output) echo "SSL_HOSTNAME=${SSL_HOSTNAME}" curl -H "Cache-Control: no-cache" "https://${SSL_HOSTNAME}/hello-world"

    Compute Engine API 的 sslCertificates.get 方法可用來擷取與憑證相關聯的 nip.io 主機名稱。

    憑證佈建完成後,curl 指令會再次傳回 hello-world Proxy 的輸出內容:Hello, Guest!

    如果 curl 指令傳回 handshake failure,表示負載平衡器尚未設定 SSL 憑證。

  6. 返回憑證詳細資料頁面,查看憑證狀態。如果憑證狀態仍不是「有效」,請等待憑證啟用後,再重試 curl 指令。

恭喜!

在本實驗室,您建立了虛擬私有雲 (VPC) 網路和 Apigee X 評估組織。接著,您建立虛擬機器 (VM),並使用該機器直接呼叫執行階段,也就是在 Apigee X 組織中執行的 API Proxy。最後,您啟用了網際網路存取權,並透過全域負載平衡器呼叫 Proxy。

後續步驟/瞭解詳情

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2025 年 9 月 23 日

實驗室上次測試日期:2025 年 9 月 23 日

Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.