이 페이지에서는 Cloud Run 오류의 일반적인 문제 해결 전략을 설명합니다. Personalized Service Health는 프로젝트에 영향을 미치는 서비스 중단을 식별하기 위해 기본 Google Cloud 인프라에서 발생한 모든 Cloud Run 이슈를 게시합니다. Google Cloud Personalized Service Health 이벤트에 알림을 설정하는 것도 고려해 보세요. 모든 Google Cloud 서비스에 영향을 미치는 이슈에 대한 자세한 내용은 Google Cloud Service Health 대시보드를 참고하세요.
Cloud Run 리소스와 관련된 문제를 해결하려면 Cloud Run 문제 해결 가이드의 다음 섹션을 참고하세요.
Cloud Run 문제 해결 전략
다음 섹션에서는 일반적인 문제 해결 전략을 적용하여 오류를 해결하는 방법을 설명합니다. 문제 해결 가이드의 단계를 따르고도 오류가 계속 발생하면 지원팀에 문의하세요.
Cloud Logging을 사용하여 유효한 로그 출력
디버깅을 위한 유효한 로그가 있으면 Cloud Run 리소스를 더 쉽게 해결할 수 있습니다. 컨테이너 로그와 요청 로그를 연결하는 방식으로 로그를 작성해야 합니다.
상관관계가 지정된 로그를 사용하면 추가 분석이 필요한 요청을 식별하고, 요청 트레이스를 찾고, 문제의 근본 원인을 분석할 수 있습니다. 로그 작성에 관한 자세한 내용은 컨테이너 로그 작성을 참고하세요.
로그 탐색기를 사용하여 인스턴스 조사
Cloud Run의 각 요청 로그에는 요청을 처리하는 인스턴스를 식별하는 instanceId
필드가 포함됩니다. 지정하는 동시 실행 값에 따라 단일 인스턴스가 여러 요청을 동시에 처리할 수 있습니다.
한 번에 여러 인스턴스가 로그를 내보내는 경우 인스턴스를 필터링하여 인스턴스 비정상 종료로 이어지는 순차 요청을 식별해야 합니다.
인스턴스를 필터링하면 콜드 스타트 또는 지연 시간 증가와 관련된 특정 성능 문제를 디버그할 수 있습니다. 이러한 문제는 후속 동시 요청에서 값이 재사용될 때 전역 범위에서 선언된 변수에 바인딩될 수도 있습니다. 인스턴스에 단일 연결 풀 전역 객체를 만든 다음 여러 요청 내에 이를 사용하는 경우가 여기에 해당합니다.
로그 탐색기에서 특정 인스턴스를 필터링하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.
페이지 상단에서 기존 Google Cloud 프로젝트를 선택하거나 새 프로젝트를 만듭니다.
서비스의 경우 리소스 Cloud Run 버전을, 작업의 경우 Cloud Run 작업을 선택합니다.
로그 항목을 펼쳐 특정 인스턴스로 필터링합니다.
인스턴스 ID 값을 클릭하고 일치하는 항목 표시를 선택합니다.
예기치 않은 요청 지연 시간 해결
지연 시간 문제가 발생하면 다음 단계를 따르세요.
지연 시간이 Cloud Run 리소스의 모든 요청에 영향을 미치는지 아니면 일부 요청에만 영향을 미치는지 확인합니다. Cloud Run은 Cloud Monitoring과 자동으로 통합되므로 설정이나 구성이 필요하지 않습니다.
개별 요청 지연 시간 측정항목을 보려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Cloud Run 페이지로 이동합니다.
목록에서 서비스 또는 작업을 선택합니다.
측정항목 탭을 클릭하여 요청 지연 시간 대시보드를 표시합니다.
Cloud Monitoring에서 지연 시간 측정항목을 확인하려면 측정항목 목록에서 Cloud Run 버전 > Request_latencies > Request latency를 선택합니다.
사용 가능한 모든 Cloud Run 측정항목 및 보다 자세한 세부정보의 목록은 Cloud Monitoring의 Google Cloud 측정항목을 참고하세요.
지연 시간이 긴 요청을 식별하여 지연 시간의 원인을 파악합니다. Cloud Trace 또는 Cloud Logging을 사용하여 특정 요청에 걸린 시간을 파악할 수 있습니다.
Cloud Logging을 사용하여 지연 시간이 긴 요청을 식별하려면
traceSampled=true
필터를 적용하여 Cloud Logging의 로그를 Cloud Trace의 trace와 연결합니다. 자세한 내용은 Cloud Logging과 통합을 참조하세요.다른 서비스에 대한 요청과 같은 종속 항목으로 인해 지연 문제가 발생할 수 있습니다. 이러한 요청을 식별하려면 요청을 타겟팅하는 명시적 로깅이 있어야 합니다. 이러한 로그를 출력하지 않으면 Cloud Run 서비스에서 발생한 지연 문제로 보일 수 있습니다.
또한 선택한 시간 범위의 맥락에서 지연 시간 급증을 평가해야 합니다. 급격한 변동의 중요성은 상대적입니다. 작은 기간의 급격한 변동이 더 큰 기간에서는 무시할 수 있을 수 있고 그 반대의 경우도 가능합니다. 따라서 시간 범위는 지연 시간 데이터의 해석에 큰 영향을 미칩니다.
최소 인스턴스 수를 늘려 수신 요청의 지연 시간을 줄이고 콜드 스타트를 방지해 보세요. 소스 코드를 수정하고 확장 설정을 조정하여 지원 서비스에 대한 연결 수를 제한하는 것도 고려해야 합니다.
자세한 내용은 성능 최적화를 참고하세요.