排解 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. 驗證現有的虛擬私有雲對等互連詳細資料:
    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. 驗證現有的虛擬私有雲對等互連詳細資料:
    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」(負載平衡) 頁面。

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

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

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

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

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

執行個體 IP 不正確

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

  1. 在 Google Cloud 控制台,依序前往「Apigee」 >「Admin」 >「Instances」頁面。

    前往「Instances」(執行個體)

  2. 記下執行個體的 IP 位址。您會在後續步驟中需要這個 IP。 例如:10.117.200.2
  3. 前往 Google Cloud 控制台的「Instance templates」(執行個體範本) 頁面。

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

  4. 開啟執行個體範本。您需要開啟對應至負載平衡器的後端所使用的執行個體範本。
  5. 向下捲動,在「自訂中繼資料」部分下方找到 ENDPOINT IP。
  6. 如果端點 IP 與您在 Apigee 使用者介面中記錄的 IP 不同,您必須變更執行個體範本 IP,使其與 Apigee 執行個體 IP 相符。 請參閱「變更執行個體 IP」。