이 문서에서는 App Engine 가변형 환경에서 Cloud Endpoints 배포 문제를 해결하는 방법에 대해 설명합니다. API 요청에 대한 응답으로 오류를 받은 경우 응답 오류 문제해결에서 오류 문제해결에 대한 정보를 확인하세요.
배포 오류
이 섹션에서는 gcloud app deploy
실행 시 문제해결 방법을 설명합니다.
오류 메시지 | 문제 해결 |
---|---|
할당된 시간 안에 배포가 정상 상태가 되지 않았기 때문에 롤백되었습니다. 오류라고 생각되면 readiness_check 섹션에서 app_start_timeout_sec 설정을 조정해 보세요.
|
Endpoints 및 ESP에 필요한 모든 Google Cloud 서비스가 프로젝트에 사용 설정되어 있는지 확인합니다. 자세한 내용은 필수 서비스 확인을 참조하세요. |
rollout_strategy
에 대한 오류 메시지
배포 전에 app.yaml
을 구성하는 경우 endpoints_api_service
섹션을 추가해야 합니다. 이 섹션에 지정하는 설정은 Extensible 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
ESP가 서비스 구성을 받는 데 필요한 정보가 endpoints_api_service
섹션에 포함되어 있지 않으면 다음 메시지 중 하나가 표시됩니다.
오류 메시지 | 문제 해결 |
---|---|
rollout_strategy 가 "managed" 로 설정된 경우 config_id 는 금지됨 |
구성 ID와 rollout_strategy: managed 를 모두 지정할 수는 없습니다. 특정 구성 ID를 사용해야 할 이유가 없다면 app.yaml 에서 config_id: [YOUR_CONFIG_ID] 를 제거하고 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 Console에서 SSH를 통해 가상 머신에 연결합니다. 자세한 내용은 인스턴스에 연결을 참조하세요.
tail
과 같은 텍스트 뷰어를 사용하세요.tail -f /var/log/nginx/error.log