push 구독 문제 해결

push 구독자는 메시지가 Pub/Sub에서 사용자 지정 HTTPS 엔드포인트로 전송되는 Pub/Sub 구독자 유형입니다. 사용자는 Push 서버 요청에 HTTP 200 응답을 반환하여 push 메시지를 확인합니다. 이 문서에서는 Pub/Sub push 구독에 대한 일반적인 문제 해결 팁을 제공합니다. push 구독자 가이드에서 push 구독에 대해 자세히 알아보세요.

Pub/Sub 구독을 효율적으로 모니터링하기 위해서는 먼저 전송 지연 시간 상태 점수(subscription/delivery_latency_health_score)를 보고 예기치 않은 지연 시간에 기여할 수 있는 요인이 무엇인지 확인하는 것이 좋습니다.

실패하거나 느린 push 엔드포인트

엔드포인트가 오류 응답 코드를 반환하면 메시지 전송이 실패한 것으로 간주되고 나중에 다시 시도됩니다. 그 결과 엔드포인트에 중복 메시지가 수신될 수 있습니다.

push 구독 모니터링에 사용할 수 있는 측정항목은 여러 개가 있습니다. Cloud Metrics의 subscription/push_request_count 측정항목은 push 엔드포인트의 응답을 response_coderesponse_class로 분류합니다. 응답은 잠재적 엔드포인트 오작동을 식별하는 데 유용합니다. 이 측정항목에 ack가 아닌 response_class 데이터가 포함된 경우 push 엔드포인트가 Pub/Sub에 오류를 반환 중임을 나타냅니다. 가장 일반적인 오류는 다음과 같습니다.

  • deadline_exceeded 응답 클래스는 push 엔드포인트가 필요한 확인(ack) 기한 내에 응답하지 않았음을 나타냅니다. subscription/push_request_latencies 측정항목은 push 확인 지연 시간을 추적하는 데 도움이 됩니다.

  • invalid 응답 클래스는 엔드포인트에서 Pub/Sub가 올바르게 이해하거나 처리할 수 없는 응답이 전송되었음을 나타냅니다.

  • remote_server_4xx 응답 클래스는 일반적으로 인증 또는 권한 문제를 나타냅니다. 이것들은 엔드포인트에서 반환된 HTTP 응답 코드이므로, 이 응답 코드가 반환된 시나리오를 조사해야 합니다. 인증이 사용 설정되었으면 계정에 엔드포인트에 대해 올바른 권한이 있는지 확인합니다. push 구독에서 인증 작동 방식을 자세히 알아보세요.

  • remote_server_5xx 응답 클래스는 엔드포인트 측면의 서버 측 문제를 나타냅니다. 엔드포인트가 요청을 처리할 수 없습니다. 지속적인 유지보수 또는 중단 때문일 수 있습니다. 엔드포인트를 호스팅하는 서버 상태를 검토하세요.

  • unreachable 응답은 엔드포인트 서버에 전혀 연결할 수 없음을 나타냅니다. 엔드포인트 URL에 오타가 없는지 확인합니다.

Pub/Sub API의 가장 일반적인 오류 코드에 대해 자세히 알아보세요.

VPC-SC 경계 내부의 push 구독 제한사항

VPC 서비스 제어(VPC-SC) 보호가 프로젝트에 사용 설정된 경우 push 구독 만들기에 제한이 있습니다. 기존 push 구독은 계속 작동하지만 새 push 구독을 만들 때 Request is prohibited by organization's policy 오류가 표시됩니다. 특히 push 엔드포인트가 기본 run.app URL을 사용하는 Cloud Run 서비스인 경우에만 새 push 구독을 만들 수 있습니다. 자세한 내용 및 특정 제한사항은 Pub/Sub 문서VPC-SC 문서를 참조하세요.