本文說明了在 App Engine 彈性環境中,為 Cloud Endpoints 部署排解疑難的技巧。如果您收到您的 API 要求傳回的錯誤訊息,請參閱排解回應錯誤一文以瞭解如何排解錯誤。
部署錯誤
本節說明如何排解 gcloud app deploy
的錯誤。
錯誤訊息 | 疑難排解 |
---|---|
您的部署無法在指定的時間內回復良好健康狀態,並因此而復原。如果認為這是錯誤,請嘗試調整 readiness_check 區段中的 app_start_timeout_sec 設定。 |
確認您的 請務必啟用 Endpoints 和 ESP 需要的所有 Google Cloud 服務。詳情請參閱「檢查必要服務」。
請確認與 App Engine 彈性應用程式相關聯的虛擬私有雲具有目的地為 |
關於 rollout_strategy
的錯誤訊息
部署前設定 app.yaml
時,您必須新增 endpoints_api_service
區段。可擴充服務 Proxy (ESP) 需要您在這個區段指定的設定,才能為服務取得設定。您必須在 config_id
欄位中指定設定 ID,或加入 rollout_strategy: managed
選項,但不能同時指定。這個選項可將 ESP 設為使用最新部署的服務設定。指定此選項時,在您部署新服務設定後最多 5 分鐘內,ESP 會偵測到變更並自動開始使用新設定。建議您指定此選項而非讓 ESP 使用特定的設定 ID。
例如:
endpoints_api_service:
name: example-project-12345.appspot.com
rollout_strategy: managed
如果 endpoints_api_service
區段未包含 ESP 取得服務設定所需的資訊,則會顯示下列其中一個訊息:
錯誤訊息 | 疑難排解 |
---|---|
rollout_strategy 設為 "managed" 時,config_id 遭到禁止 |
您無法同時指定設定 ID 和 rollout_strategy: managed 。除非您有明確理由必須使用特定的設定 ID,否則我們建議您移除 config_id: [YOUR_CONFIG_ID] 中的 app.yaml ,並重新執行 gcloud app deploy 。 |
rollout_strategy 未指定或設為 "fixed" 時,必須指定 config_id |
如果 app.yaml 未包含 rollout_strategy: managed ,或 rollout_strategy 設為 fixed 但您未指定設定 ID,系統就會顯示這則錯誤訊息。除非您有明確理由必須使用特定的設定 ID,否則我們建議您在 app.yaml 的 endpoints_api_service 區段中新增 rollout_strategy: managed ,並重新執行 gcloud app deploy 。
|
查看執行個體上的記錄
App Engine 當機和系統記錄可提供相關資訊,說明為什麼應用程式無法正常啟動或執行作業。進一步偵錯資訊請參閱 Endpoints 記錄。
在 Google Cloud 控制台中,透過 SSH 登入虛擬機器。詳情請參閱連線至執行個體。
使用文字檢視器,例如
tail
:tail -f /var/log/nginx/error.log