문제 해결하기

이 페이지에서는 Eventarc를 사용할 때 발생할 수 있는 문제를 해결하는 방법을 보여줍니다.

Eventarc 트리거 소스

이 섹션에서는 이벤트 소스에서 발생하는 문제에 대한 문제 해결 팁을 제공합니다.

소스가 존재하지 않음

올바르게 트리거 필터를 지정했는지 확인합니다.

이벤트가 소스에서 생성되지만 대상에서 수신되지 않습니다.

Cloud Run 대상과 동일한 리전에 있는 소스의 이벤트를 필터링하고 있는지 확인합니다. 자세한 내용은 Eventarc에서 지원되는 위치를 참조하세요.

이전에 이벤트를 전달한 트리거의 작동이 중지되었습니다.

  1. 소스가 이벤트를 생성하는지 확인합니다. Cloud 감사 로그를 확인하고 모니터링 서비스가 로그를 작성 중인지 확인합니다. 로그가 기록되지만 이벤트가 전송되지 않으면 지원팀에 문의합니다.

  2. 트리거 이름이 동일한 Pub/Sub 주제가 있는지 확인합니다.

    1. 트리거를 나열하려면 gcloud eventarc 트리거 목록을 참조하세요.
    2. Pub/Sub 주제를 나열하려면 다음을 실행합니다.

        gcloud pubsub topics list
      

    Pub/Sub 주제 이름에 생성된 트리거의 이름이 포함되어 있는지 확인합니다. Pub/Sub 주제가 누락된 경우 트리거를 만들 때 주제를 만듭니다.

  3. Pub/Sub 주제의 상태를 확인합니다.

    1. Cloud Console에서 Cloud Run으로 이동하고 만든 서비스를 선택하고 트리거 탭으로 이동합니다. 트리거 탭에 체크표시 이 있는지 확인합니다.
    2. Cloud Pub/Sub 주제 구성을 확인합니다. Pub/Sub 주제가 누락되었으면 트리거를 만들 때 주제를 만듭니다. 문제가 계속되면 지원팀에 문의하세요.

      Pub/Sub 주제로 이동

    3. 메시지가 topic/send_message_operation_count 측정항목과 함께 주제에 게시되었는지 모니터링합니다. 메시지가 주제에 게시되지 않으면 Cloud 감사 로그를 확인하고 모니터링되는 서비스가 로그를 내보내는지 확인합니다. 로그가 기록되지만 이벤트가 전송되지 않으면 지원팀에 문의합니다.

    4. response_codesubscription/push_request_count 측정항목을 사용하여 메시지가 성공적으로 푸시되는지 모니터링합니다. 푸시 오류가 보고되면 Cloud Run 서비스 로그를 확인합니다. 수신 엔드포인트가 OK가 아닌 상태 코드를 반환하면 Cloud Run 코드가 예상대로 작동하지 않는다는 의미이며 지원팀에 문의해야 합니다.

Eventarc 트리거

이 섹션에서는 트리거에서 발생하는 문제에 대한 문제 해결 팁을 제공합니다.

Failed to load service details: permission denied

트리거를 만들 때 트리거 권한이 구성되었고 Pub/Sub 서비스 계정에 iam.serviceAccountTokenCreator 역할이 부여되었는지 확인합니다. 자세한 내용은 Eventarc 역할 및 권한을 참조하세요.

Eventarc 사용 시 예상치 못한 요금 청구

트리거를 만들 때 구성한 필터로 인해 트리거가 무제한으로 설정될 수 있는지 확인합니다. 예기치 않은 요금이 청구되지 않도록 하려면 Google Cloud의 결제 콘솔을 사용하여 예산 및 알림을 설정하세요. 자세한 내용은 예산 만들기를 참조하세요.

Eventarc 트리거 대상

이 섹션에서는 대상에서 발생하는 문제에 대한 문제 해결 팁을 제공합니다.

Cloud Run 서비스가 이벤트를 수신하지 않음

서비스가 이벤트를 수신하지 않을 경우 이벤트 유형별로 가능한 해결 방법은 다음과 같습니다.

Cloud 감사 로그
  • 관리자 읽기, 데이터 읽기, 데이터 쓰기 로그 유형이 사용 설정되어 있는지 확인합니다. Cloud 감사 로그는 IAM 및 관리자 > 감사 로그에서 사용 설정됩니다.
  • 트리거를 만든 후 충분한 시간이 경과했는지 확인합니다. 감사 로그 트리거는 이벤트를 전송하기까지 약 10분 정도 걸립니다.
  • Eventarc 트리거 만들기에 대한 기본 요건을 따릅니다.
  • 이벤트 필터가 너무 제한적이 아닌지 확인합니다. 자세한 내용은 Cloud 감사 로그의 이벤트 필터를 참조하세요.
  • Logging > 로그 탐색기의 감사 로그를 확인하여 모니터링 서비스가 감사 로그를 생성하는지 확인합니다.
  • Cloud Run에서 Cloud Run 로그를 확인합니다. Cloud Run에서 만든 서비스를 클릭하고 로그 탭으로 이동합니다. 로그에 서비스가 OK가 아닌 상태 코드를 수신했다고 표시되면 Cloud Run 서비스가 이벤트를 거부하는 것입니다.
Pub/Sub
  • Eventarc 트리거가 만들어졌는지 확인합니다.
  • Pub/Sub 주제가 생성되어 Eventarc 트리거에 연결되어 있는지 확인합니다.
  • Pub/Sub 주제가 있는지 확인합니다. Pub/Sub로 이동하여 주제를 검색합니다.
  • 트리거를 만든 후 충분한 시간이 경과했는지 확인합니다. 이벤트가 전송되는 데 최대 10분이 걸릴 수 있습니다.
  • Cloud Run에서 Cloud Run 로그를 확인합니다. Cloud Run에서 만든 서비스를 클릭하고 로그 탭으로 이동합니다. 로그에 서비스가 OK가 아닌 코드를 수신했다고 표시되면 Cloud Run 서비스가 이벤트를 거부하는 것입니다.

트리거가 설정되었지만 대상이 이벤트를 수신하지 않음

  • 전송하는 이벤트 페이로드가 이벤트 크기(512KB) 한도를 초과하지 않는지 확인합니다. Pub/Sub 내보내기 구독에는 게시 리전당 처리량과 같은 리소스 한도도 적용됩니다. 이렇게 하면 Pub/Sub 이벤트 페이로드가 512KB 미만이 됩니다.

  • Cloud Run 트리거와 연결된 Pub/Sub 주제를 찾습니다.

    1. Pub/Sub > 주제로 이동합니다.

      Pub/Sub 주제로 이동

    2. Pub/Sub 주제 이름에 생성된 트리거의 이름이 포함되어 있는지 확인합니다.

  • 메시지가 topic/send_message_operation_count 측정항목과 함께 주제에 게시되었는지 모니터링합니다. 메시지가 주제에 게시되지 않으면 Cloud 감사 로그를 확인하고 모니터링되는 서비스가 로그를 내보내는지 확인합니다. 로그가 기록되지만 이벤트가 전송되지 않으면 지원팀에 문의합니다.

  • response_codesubscription/push_request_count 측정항목을 사용하여 메시지가 성공적으로 푸시되는지 모니터링합니다. 푸시 오류가 보고되면 Cloud Run 서비스 로그를 확인합니다. 수신 엔드포인트가 OK가 아닌 상태 코드를 반환하면 Cloud Run 코드가 예상대로 작동하지 않는다는 의미이며 지원팀에 문의해야 합니다.

Pub/Sub 주제를 찾을 수 없음

Pub/Sub 주제가 삭제되었거나 수정되었을 수 있습니다. 트리거를 만들면 새 Pub/Sub 주제가 생성되므로 기존 트리거를 삭제하고 다시 만듭니다.

INVALID_ARGUMENT: cloud run service "SERVICE_NAME" in region "REGION_NAME" does not exist

서비스 계정이 삭제되었습니다. 대상 서비스의 서비스 계정이 삭제되면 이벤트가 Cloud Run으로 전달되지 않습니다. 새 Cloud Run 서비스 계정을 만듭니다.

Cloud Run 서비스가 중단되었습니다.

Cloud Run 서비스가 다운되더라도 Pub/Sub는 기본적으로 7일 동안 이벤트를 유지하고 대상으로 이벤트 전송을 재시도합니다. Pub/Sub 리소스 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.