本頁面適用於 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」(網路服務) >「負載平衡」頁面。
- 確認負載平衡器的問題後,請檢查執行階段執行個體中的 VM,確保 VM 運作正常。
- 請查看記錄檔,看看是否能找到錯誤或其他類型的可能導致問題的情形。如要進一步瞭解如何啟用及查看記錄,請參閱「查看記錄」。
- 請嘗試在 Cloud 控制台中對執行個體群組執行輪動式重新啟動:
-
在 Google Cloud 控制台中,前往「Compute Engine」>「Instance groups」(執行個體群組) 頁面。
- 在執行個體群組清單中,按一下「Name」欄中無法回應的群組。
- 按一下「輪動式重新啟動/取代」。
- 在下一個畫面中,按一下「重新啟動」。
這麼做會重新啟動 Envoy 執行個體。
-
執行個體 IP 不正確
如果您隨時刪除並重新建立 Apigee 執行個體,Apigee 執行個體 IP 會變更,且可能與代管執行個體群組 (MIG) 範本的端點 IP 不同步。舉例來說,MIG 範本仍會保留已刪除執行個體的舊 IP。在 Apigee 佈建程序中建立 MIG 範本。在這種情況下,請嘗試按照下列步驟,使用正確的 Apigee IP 更新 MIG 範本:
開啟 Apigee UI。
- 依序前往「管理」>「執行個體」。
- 記下執行個體的 IP 位址。您稍後會需要這個 IP。例如
10.117.200.2
。 前往 Google Cloud 控制台的「Instance Templates」(執行個體範本) 頁面。
- 開啟執行個體範本。您需要開啟由負載平衡器對應的後端所使用的執行個體範本。
- 向下捲動,找出「Custom metadata」部分下的
ENDPOINT
IP。 - 如果端點 IP 與您在 Apigee UI 中記錄的 IP 不同,您必須變更執行個體範本 IP,以便與 Apigee 執行個體 IP 相符。請參閱「變更執行個體 IP」一節。