本頁內容適用於 Apigee,但不適用於 Apigee Hybrid。
查看
Apigee Edge 說明文件。
本文列出安裝及設定 Apigee 時的常見錯誤,並說明可能的解決方法。
建立新執行個體
本節說明向 Apigee 傳送要求以建立新執行個體後,可能發生的常見錯誤和解決方法:
401 (UNAUTHENTICATED)
表示您的憑證可能已逾時。請嘗試更新授權權杖,如下列範例所示:AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
RANGES_EXHAUSTED
表示系統無法提供您最初要求的 IP 位址範圍,因此您必須要求新的範圍。您最初在「步驟 2:設定網路」中建立了範圍要求。- 建立這些環境變數
- 確認現有地址範圍的詳細資料,並確保不會與新範圍重疊。
- 如要要求新範圍,讓 Apigee 從中選擇私人服務連線的 IP 位址,請執行下列 gcloud 指令:
- 驗證新舊位址範圍的詳細資料
- 確認現有的 VPC 對等互連詳細資料:
- 執行下列指令來更新連線要求:
- 確認現有的 VPC 對等互連詳細資料:
RANGE_NAME_1=YOUR_RANGE_NAME_1 RANGE_NAME_2=YOUR_RANGE_NAME_2 NETWORK_NAME=YOUR_NETWORK_NAME
gcloud compute addresses list --global --project=$PROJECT_ID
gcloud compute addresses describe $RANGE_NAME_1 --global --project=$PROJECT_ID
gcloud compute addresses create $RANGE_NAME_2 --project=$PROJECT_ID --global --prefix-length=16 --description="additional peering range for Google services" --network=$NETWORK_NAME --purpose=VPC_PEERING
這個指令會建立名為 $RANGE_NAME_2 的新範圍。
gcloud compute addresses list --global --project=$PROJECT_ID
gcloud compute addresses describe $RANGE_NAME_1 --global --project=$PROJECT_ID
gcloud compute addresses describe $RANGE_NAME_2 --global --project=$PROJECT_ID
gcloud services vpc-peerings list \ --network=$NETWORK_NAME \ --service=servicenetworking.googleapis.com \ --project=$PROJECT_ID
gcloud services vpc-peerings update --service=servicenetworking.googleapis.com --network=$NETWORK_NAME --ranges=$RANGE_NAME_1,$RANGE_NAME_2 --project=$PROJECT_ID
gcloud services vpc-peerings list \ --network=$NETWORK_NAME \ --service=servicenetworking.googleapis.com \ --project=$PROJECT_ID
建立 Apigee 機構
以下範例顯示您首次嘗試建立機構時,Apigee 可能會顯示的常見錯誤:
Apigee API (staging) has not been used in project 59387731598 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/staging-apigee.sandbox.googleapis.com/overview?project=59387731598 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
這表示您未啟用一或多個必要 API。請查看「步驟 1:啟用必要的 API」中列出的 API,並確認所有 API 都已啟用,再繼續操作。
此外,您可能會收到下列其中一個 HTTP 錯誤:
401 (UNAUTHENTICATED)
表示您的憑證可能已逾時。請嘗試更新授權權杖,如下列範例所示:AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
404 (Not Found)
可以是下列任一結果:- 您輸入的端點/要求網址有誤。確認您為 API 呼叫的網域指定了
apigee.googleapis.com
。 - 您的專案可能尚未佈建。聯絡 Apigee 銷售團隊。
- 您輸入的端點/要求網址有誤。確認您為 API 呼叫的網域指定了
409 (Conflict)
通常表示該機構名稱已存在。機構名稱不得重複。請選擇其他機構名稱,然後重新發出指令。(如果您在指令列上建立機構,請在要求酬載中指定名稱。請注意,您必須建立與專案同名的機構,因此除非有錯字,否則應該不會發生這種情況。
檢查新機構要求狀態時,Apigee 可能會傳回下列錯誤:
403 (Permission Denied)
可能表示機構尚未建立。請稍候片刻,然後再試一次。如果您第一次嘗試建立新機構時,Apigee 傳回403
,可能表示您尚未啟用一或多個 API。請務必按照「步驟 1:啟用必要的 API」一節的說明,啟用所有 API。 。
部署範例
負載平衡器健康狀態不佳
部署範例 Proxy 時,Apigee 可能會傳回 502 (Bad Gateway)
HTTP 錯誤。
在這種情況下,請嘗試下列做法:
-
檢查負載平衡器的健康狀態。「負載平衡器」分頁會顯示專案的所有負載平衡器及其狀態。黃色三角形表示負載平衡器後端服務狀態不佳。
在 Google Cloud 控制台中,前往「Network services」(網路服務)>「Load balancing」(負載平衡) 頁面。
- 確認負載平衡器有問題後,請檢查執行階段例項中的 VM,確保 VM 正常運作。
- 查看記錄檔,找出可能導致問題的錯誤或其他類型問題。如要進一步瞭解如何啟用及查看記錄,請參閱「查看記錄」。
- 請嘗試在 Cloud 控制台中對執行個體群組執行輪動式重新啟動:
-
在 Google Cloud 控制台中,前往「Compute Engine」>「Instance groups」(執行個體群組) 頁面。
- 在執行個體群組清單中,按一下「名稱」欄中沒有回應的執行個體群組。
- 按一下「輪動式重新啟動/取代」。
- 在下一個畫面中,按一下「重新啟動」。
這會重新啟動 Envoy 執行個體。
-
執行個體 IP 不正確
如果您隨時刪除並重新建立 Apigee 執行個體,Apigee 執行個體 IP 會變更,並可能與代管執行個體群組 (MIG) 範本的端點 IP 不同步。舉例來說,MIG 範本仍會保留已刪除執行個體的舊 IP。MIG 範本是在 Apigee 佈建程序期間建立。在這種情況下,請嘗試按照下列步驟,使用正確的 Apigee IP 更新 MIG 範本:
在 Google Cloud 控制台中,依序前往「Apigee」>「Admin」>「Instances」頁面。
- 記下執行個體的 IP 位址。您會在後續步驟中需要這個 IP。
例如
10.117.200.2
。 前往 Google Cloud 控制台的「Instance Templates」(執行個體範本) 頁面。
- 開啟執行個體範本。您需要開啟對應至負載平衡器的後端所使用的執行個體範本。
- 向下捲動,在「Custom metadata」(自訂中繼資料) 部分下方找到
ENDPOINT
IP。 - 如果端點 IP 與您在 Apigee 使用者介面中記錄的 IP 不同,您必須變更執行個體範本 IP,使其與 Apigee 執行個體 IP 相符。 請參閱「變更執行個體 IP」。