排解 Apigee 安裝問題

本頁面適用於 Apigee,但不適用於 Apigee Hybrid

查看 Apigee Edge 說明文件。

本文將列出安裝及設定 Apigee 時可能發生的常見錯誤,並說明可能的解決方法。

建立新執行個體

本節說明向 Apigee 傳送建立新執行個體的要求後,可能會發生的常見錯誤和可能的解決方案:

  • 401 (UNAUTHENTICATED) 表示憑證可能已逾時。請嘗試更新授權權杖,如以下範例所示:
    AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
  • RANGES_EXHAUSTED 表示無法滿足您最初要求的 IP 位址範圍,因此您必須要求新的範圍。您在步驟 2:設定網路中,一開始建立了範圍要求。
    1. 建立下列環境變數
    2. RANGE_NAME_1=YOUR_RANGE_NAME_1
        RANGE_NAME_2=YOUR_RANGE_NAME_2
        NETWORK_NAME=YOUR_NETWORK_NAME
    3. 請確認現有位址範圍的詳細資料,確保不會與新範圍重疊。
    4.  gcloud compute addresses list --global --project=$PROJECT_ID
       gcloud compute addresses describe $RANGE_NAME_1 --global --project=$PROJECT_ID 
    5. 如要要求新的範圍,讓 Apigee 為私人服務連線選擇 IP 位址,請執行下列 gcloud 指令:
    6.  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 的新範圍。

    7. 驗證舊和新地址範圍的詳細資料
    8.  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 
    9. 驗證現有的 VPC 對等互連詳細資料:
    10.  gcloud services vpc-peerings list \
                  --network=$NETWORK_NAME \
                  --service=servicenetworking.googleapis.com \
                  --project=$PROJECT_ID 
    11. 執行下列指令,更新連線要求:
    12.  gcloud services vpc-peerings update
                  --service=servicenetworking.googleapis.com --network=$NETWORK_NAME
                  --ranges=$RANGE_NAME_1,$RANGE_NAME_2 --project=$PROJECT_ID 
    13. 驗證現有的 VPC 對等互連詳細資料:
    14.  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 銷售團隊聯絡。
  • 409 (Conflict) 通常表示指定的機構名稱已存在。機構名稱在全域範圍內都不可重複。請為機構選擇其他名稱,然後重新發出指令。(如果您是在指令列上建立機構,請在要求的酬載中指定名稱。請注意,您必須建立與專案相同名稱的機構,因此除非您打錯字,否則不會發生這種情況。

以下是 Apigee 在您查看新機構要求的狀態時,可能會傳回的錯誤:

  • 403 (Permission Denied) 可能表示機構尚未建立。請稍候片刻,然後再試一次。如果 Apigee 在您首次嘗試建立新機構時傳回 403,可能表示您尚未啟用一或多個 API。請務必按照「步驟 1:啟用必要的 API」一節所述,啟用所有 API。

部署樣本

負載平衡器未正常運作

部署範例 Proxy 時,Apigee 可能會傳回 502 (Bad Gateway) HTTP 錯誤。在這種情況下,請嘗試下列操作:

  1. 檢查負載平衡器的健康狀態。「負載平衡器」分頁會顯示專案的所有負載平衡器及其狀態。黃色三角形表示負載平衡器後端服務不正常。

    在 Google Cloud 控制台中,前往「Network services」(網路服務) >「負載平衡」頁面。

    前往「Load balancing」(負載平衡) 頁面

  2. 確認負載平衡器的問題後,請檢查執行階段執行個體中的 VM,確保 VM 運作正常。
  3. 請查看記錄檔,看看是否能找到錯誤或其他類型的可能導致問題的情形。如要進一步瞭解如何啟用及查看記錄,請參閱「查看記錄」。
  4. 請嘗試在 Cloud 控制台中對執行個體群組執行輪動式重新啟動:
    1. 在 Google Cloud 控制台中,前往「Compute Engine」>「Instance groups」(執行個體群組) 頁面。

      前往「Instance groups」(執行個體群組) 頁面

    2. 在執行個體群組清單中,按一下「Name」欄中無法回應的群組。
    3. 按一下「輪動式重新啟動/取代」
    4. 在下一個畫面中,按一下「重新啟動」

      這麼做會重新啟動 Envoy 執行個體。

執行個體 IP 不正確

如果您隨時刪除並重新建立 Apigee 執行個體,Apigee 執行個體 IP 會變更,且可能與代管執行個體群組 (MIG) 範本的端點 IP 不同步。舉例來說,MIG 範本仍會保留已刪除執行個體的舊 IP。在 Apigee 佈建程序中建立 MIG 範本。在這種情況下,請嘗試按照下列步驟,使用正確的 Apigee IP 更新 MIG 範本:

  1. 開啟 Apigee UI。

    前往 Apigee UI

  2. 依序前往「管理」>「執行個體」
  3. 記下執行個體的 IP 位址。您稍後會需要這個 IP。例如 10.117.200.2
  4. 前往 Google Cloud 控制台的「Instance Templates」(執行個體範本) 頁面。

    前往「Instance templates」(執行個體範本)

  5. 開啟執行個體範本。您需要開啟由負載平衡器對應的後端所使用的執行個體範本。
  6. 向下捲動,找出「Custom metadata」部分下的 ENDPOINT IP。
  7. 如果端點 IP 與您在 Apigee UI 中記錄的 IP 不同,您必須變更執行個體範本 IP,以便與 Apigee 執行個體 IP 相符。請參閱「變更執行個體 IP」一節。