이 페이지에서는 Cloud Run 오류의 일반적인 문제 해결 전략을 설명합니다. Personalized Service Health는 프로젝트에 영향을 미치는 Cloud de Confiance by S3NS 서비스 중단을 식별하기 위해 기본 Cloud de Confiance by S3NS 인프라에서 발생한 모든 Cloud Run 이슈를 게시합니다. Personalized Service Health 이벤트에 알림을 설정하는 것도 고려해 보세요. 모든 Cloud de Confiance by S3NS 서비스에 영향을 미치는 이슈에 대한 자세한 내용은 Cloud de Confiance by S3NS Service Health 대시보드를 참고하세요.
Cloud Run 리소스와 관련된 문제를 해결하려면 Cloud Run 문제 해결 가이드의 다음 섹션을 참조하세요.
Cloud Run 문제 해결 전략
다음 섹션에서는 일반적인 문제 해결 전략을 적용하여 오류를 해결하는 방법을 설명합니다. 문제 해결 가이드의 단계를 따르고도 오류가 계속 발생하면 다음 단계를 참조하세요.
Cloud Logging을 사용하여 유효한 로그 출력
디버깅을 위한 유효한 로그가 있으면 Cloud Run 리소스를 더 쉽게 해결할 수 있습니다. 컨테이너 로그와 요청 로그를 연결하는 방식으로 로그를 작성해야 합니다.
상관관계가 지정된 로그를 사용하면 추가 분석이 필요한 요청을 식별하고, 요청 트레이스를 찾고, 문제의 근본 원인을 분석할 수 있습니다. 로그 작성에 관한 자세한 내용은 컨테이너 로그 작성을 참조하세요.
로그 탐색기를 사용하여 인스턴스 조사
Cloud Run의 각 요청 로그에는 요청을 처리하는 인스턴스를 식별하는 instanceId 필드가 포함됩니다. 지정하는 동시 실행 값에 따라 단일 인스턴스가 여러 요청을 동시에 처리할 수 있습니다.
한 번에 로그를 내보내는 인스턴스가 여러 개 있는 경우 인스턴스를 필터링하여 인스턴스 비정상 종료로 이어지는 순차적 요청을 식별해야 합니다.
인스턴스를 필터링하면 콜드 스타트 또는 지연 시간 증가와 관련된 특정 성능 문제를 디버그할 수 있습니다. 이러한 문제는 후속 동시 요청에서 값이 재사용될 때 전역 범위에서 선언된 변수에 바인딩될 수도 있습니다. 인스턴스에 대해 단일 연결 풀 전역 객체를 만든 다음 여러 요청 내에서 이를 사용하는 경우를 예로 들 수 있습니다.
로그 탐색기에서 특정 인스턴스를 필터링하려면 다음 단계를 따르세요.
Cloud de Confiance 콘솔에서 로그 탐색기 페이지로 이동합니다.
페이지 상단에서 기존 Cloud de Confiance by S3NS 프로젝트를 선택하거나 새 프로젝트를 만듭니다.
서비스에 리소스 Cloud Run 버전을 또는 작업에 Cloud Run 작업을 선택합니다.
로그 항목을 펼쳐 특정 인스턴스를 기준으로 필터링합니다.
인스턴스 ID 값을 클릭하고 일치하는 항목 표시를 선택합니다.
인스턴스를 조사하는 동안 Gemini Cloud Assist 조사를 사용하여 로그에 대한 추가 통계를 얻을 수 있습니다. 로그 탐색기를 사용하여 조사를 시작하는 다양한 방법에 대한 자세한 내용은 Gemini 문서의 Gemini Cloud Assist 조사로 문제 해결을 참조하세요.
예기치 않은 요청 지연 시간 해결
지연 시간 문제가 발생하면 다음 단계를 따르세요.
지연 시간이 Cloud Run 리소스의 모든 요청에 영향을 미치는지 아니면 일부 요청에만 영향을 미치는지 확인합니다. Cloud Run은 Cloud Monitoring과 자동으로 통합되므로 설정이나 구성이 필요하지 않습니다.
개별 요청 지연 시간 측정항목을 확인하려면 다음 단계를 따르세요.
Cloud de Confiance 콘솔에서 Cloud Run 페이지로 이동합니다.
목록에서 서비스 또는 작업을 선택합니다.
측정항목 탭을 클릭하여 요청 지연 시간 대시보드를 표시합니다.
Cloud Monitoring에서 지연 시간 측정항목을 보려면 측정항목 목록에서 Cloud Run 버전 > Request_latencies > 요청 지연 시간을 선택합니다.
사용 가능한 모든 Cloud Run 측정항목 및 보다 자세한 세부정보의 목록은 Cloud Monitoring의 Cloud de Confiance by S3NS 측정항목을 참고하세요.
지연 시간이 긴 요청을 식별하여 지연 시간의 원인을 파악합니다. Cloud Trace 또는 Cloud Logging을 사용하여 특정 요청에 걸린 시간을 파악할 수 있습니다.
Cloud Logging을 사용하여 지연 시간이 긴 요청을 식별하려면
traceSampled=true필터를 적용하여 Cloud Logging의 로그를 Cloud Trace의 trace와 연결합니다. 자세한 내용은 Cloud Logging과 통합을 참조하세요.때때로 서비스에 대한 요청과 같은 종속 항목으로 인해 지연 문제가 발생할 수 있습니다. 이러한 요청을 식별하려면 해당 요청을 대상으로 하는 명시적인 로깅이 있어야 합니다. 이러한 로그를 출력하지 않으면 Cloud Run 서비스에서 발생하는 지연 문제로 보일 수 있습니다.
또한 선택한 기간 컨텍스트에서 지연 시간 급증을 평가하는 것이 좋습니다. 이러한 급증의 중요성은 상대적입니다. 짧은 기간의 대규모 급증이 더 긴 기간에서는 무시할 만할 수 있고 그 반대의 경우도 마찬가지입니다. 따라서 기간은 지연 시간 데이터의 해석에 큰 영향을 미칩니다.
최소 인스턴스 수를 늘려 수신 요청의 지연 시간을 줄이고 콜드 스타트를 방지해 보세요. 소스 코드를 수정하고 확장 설정을 조정하여 지원 서비스에 대한 연결 수를 제한하는 것도 고려해야 합니다.
자세한 내용은 성능 최적화를 참조하세요.
연결 문제 해결
Cloud Run 서비스에 연결 문제가 발생하는 경우 다음 전략과 도구를 사용하여 문제를 진단하는 것이 좋습니다.
PCAP 사이드카: 더 심층적인 네트워크 수준 분석을 위해 Cloud Run 서비스와 함께 PCAP 사이드카를 배포합니다. 이 사이드카 컨테이너는 같은 네트워크 네임스페이스 내에서
tcpdump를 사용하여 패킷 캡처를 수행합니다. 사이드카는 기본 인그레스 컨테이너에서 분리되며 패킷 캡처를 수행하기 위해 수정할 필요가 없습니다. 사이드카는 자체 리소스도 사용하므로tcpdump가 기본 서비스에 할당된 리소스와 경쟁하지 않습니다.Cloud Run 버전 및 Cloud Run Functions의 네트워크 인텔리전스 및 연결 테스트: Cloud Run 리소스와 엔드포인트 간의 네트워크 경로에 대한 자동 검사를 실행합니다. 이렇게 하면 VM 인스턴스, IP 주소 또는 Google 관리 서비스에 연결할 때 Cloud Run 리소스 간에 이동하는 트래픽을 차단할 수 있는 잘못된 구성을 찾을 수 있습니다.
Cloud Run 리소스의 로그를 검토합니다. 로그에 실패, 제한 시간, 연결 거부와 같은 연결 문제에 대한 오류 메시지가 표시됩니다. 이러한 로그를 통해 애플리케이션 또는 네트워크에서 연결 문제가 발생했는지 알 수 있는 경우가 많습니다.
다음 단계
Cloud Run 문서에서 문제의 해결 방법을 찾을 수 없는 경우 다음 단계를 따르세요.
- Cloud Customer Care에 문의하여 지원 케이스를 엽니다.
- StackOverflow에서 질문하여 커뮤니티의 지원을 받거나
google-cloud-run태그를 사용하여 유사한 문제를 검색하세요. - 공개 Issue Tracker를 사용하여 버그 또는 기능 요청을 엽니다.