Compute Engine의 Cloud Endpoints 문제해결

이 페이지는 Extensible Service Proxy(ESP)를 Compute Engine 가상 머신(VM)에 배포한 경우의 문제해결 방법을 설명합니다.

VM 인스턴스의 로그 보기

VM 인스턴스의 Endpoints 런타임 로그를 보고 문제를 해결할 수 있습니다.

로그를 보려면 다음 단계를 따르세요.

  1. ssh를 사용하여 가상 머신에 연결합니다.

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    YOUR_PROJECT_IDINSTANCE_NAME을 Google Cloud 프로젝트 ID와 가상 머신 인스턴스 이름으로 각각 바꿉니다.

  2. nginx 오류 로그를 확인합니다.

    원시 VM에서 endpoints-runtime을 실행하는 경우:

    tail -f /var/log/nginx/error.log
    

    Docker 내에서 endpoints-runtime을 실행하는 경우:

    docker ps
    
    docker logs CONTAINER_NAME
    

    CONTAINER_NAME은 컨테이너 이름으로 바꿉니다.

ESP 상태 표시

ESP 상태를 표시하려면 다음 단계를 따르세요.

  1. ssh를 사용하여 가상 머신에 연결합니다.

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    YOUR_PROJECT_IDINSTANCE_NAME을 Google Cloud 프로젝트 ID와 가상 머신 인스턴스 이름으로 각각 바꿉니다.

  2. ESP 컨테이너의 이름을 검색합니다. 일반적으로 컨테이너 이름은 esp입니다.

    docker ps
    
  3. 컨테이너에서 bash 셸을 가져옵니다.

    docker exec -it ESP_CONTAINER_NAME /bin/bash
    

    ESP_CONTAINER_NAME을 이전 단계의 ESP 컨테이너 이름으로 바꿉니다.

  4. curl를 설치합니다.

  5. 다음을 입력합니다.

    curl http://localhost:8090/endpoints_status
    

서비스 구성 ID 가져오기

ESP를 시작할 때 rollout_strategymanaged로 설정했으며 ESP의 인스턴스가 사용하는 구성 ID를 찾아야 하는 경우 curl http://localhost:8090/endpoints_status 명령어 출력의 끝부분에 다음과 비슷한 내용이 출력됩니다.

      "serviceConfigRollouts": {
          "rolloutId": "2017-08-09r27",
          "percentages": {
               "2017-08-09r26": "100"
          }
      }

rolloutId 값은 ESP가 사용 중인 서비스 구성 ID입니다. 이 구성 ID는 배포된 최신 구성과 일치해야 합니다. Google Cloud Console의 Endpoints > 서비스 페이지에서 배포 기록을 확인하고 서비스 구성의 변경사항을 확인할 수 있습니다. 구성 파일 비교를 참조하세요.