Workflows용 Eventarc 문제 해결

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

발생할 수 있는 다른 문제는 다음 문제해결 페이지를 참조하세요.

워크플로 대상이 없으므로 트리거 생성 실패

다음과 유사한 오류 메시지가 표시됩니다.

cloud workflow "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID" does not exist
이 출력에는 다음 값이 포함됩니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID
  • LOCATION: 워크플로의 위치
  • WORKFLOW_ID: 워크플로의 이름

이는 Eventarc에서 대상 워크플로를 찾을 수 없는 경우에 발생합니다. 이 문제를 해결하려면 다음 안내를 따르세요.

  1. 대상 워크플로가 존재하고 활성 상태인지 확인합니다.

    gcloud workflows list --location -

    출력은 다음과 비슷하게 표시됩니다.

    NAME                                                          STATE   REVISION_ID  UPDATE_TIME
    projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID  ACTIVE  000004-c0c   2021-11-19T14:29:27.530185556Z

  2. 트리거를 만들 때 올바른 워크플로 ID와 워크플로 위치를 제공했는지 확인하세요.

트리거가 생성되었지만 대상에서 이벤트를 수신하지 않음

트리거를 만든 후 충분한 시간이 경과했는지 확인합니다. 이벤트가 전송되는 데 최대 2분이 걸릴 수 있습니다.

트리거가 계속 작동하지 않고 이벤트가 전송되지 않는 경우:

  1. Pub/Sub에서 대상으로 전송된 이벤트가 삭제될 수 있습니다. 이벤트가 삭제되지 않도록 Pub/Sub 구독 재시도 정책을 설정하거나 전송되지 않은 메시지를 데드 레터 주제(데드 레터 큐라고도 함)로 전달합니다.

    데드 레터 주제를 설정하기 전에 트리거의 주제 및 구독을 검색합니다.

    gcloud eventarc triggers describe TRIGGER \
    --location=LOCATION

    다음을 바꿉니다.

    • TRIGGER: 트리거의 ID 또는 정규화된 식별자
    • LOCATION: Eventarc 트리거 위치
  2. Google Cloud 콘솔을 사용하여 메시지가 topic/send_message_operation_count 측정항목과 함께 Pub/Sub 주제에 게시되었는지 모니터링합니다.

  3. 메시지가 Pub/Sub 주제에 게시되지 않으면 소스가 이벤트를 생성하는지 확인합니다.

    • Cloud 감사 로그의 이벤트의 경우 로그를 확인하고 모니터링 서비스가 로그를 작성 중인지 확인합니다. 로그가 기록되지만 이벤트가 전송되지 않으면 지원팀에 문의합니다.
    • Cloud Storage의 이벤트의 경우 버킷의 알림을 확인합니다.

      gcloud storage buckets notifications list gs://BUCKET_NAME
      BUCKET_NAME을 버킷 이름으로 바꿉니다.
      출력은 다음과 비슷하게 표시됩니다.

      projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_CONFIG_ID
      Cloud Pub/Sub topic: projects/PROJECT_ID/topics/TOPIC_ID
      Filters:
        Event Types: OBJECT_ARCHIVE

      이 출력에는 다음 값이 포함됩니다.

      • TOPIC_ID: 기존 Pub/Sub 주제의 ID입니다.
      • NOTIFICATION_CONFIG_ID: 알림 구성의 ID입니다.
  4. 이벤트가 전송되지만 워크플로 실행이 트리거되지 않으면 인증되지 않은 호출 때문일 수 있습니다. 트리거가 워크플로 실행을 만들 수 있는 권한이 있는 서비스 계정과 연결되어 있는지 확인합니다. 자세한 내용은 특정 제공업체, 이벤트 유형, Workflows 대상에 대한 트리거를 만들 때 "트리거 만들기 준비" 섹션의 사용자 관리형 서비스 계정 만들기의 안내를 따르세요.

  5. 메시지가 Pub/Sub 주제에 게시되었지만 워크플로 실행이 트리거되지 않으면 Eventarc 페이로드가 512KB를 초과하지 않는지 확인합니다. 리소스 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

    1. Cloud 콘솔에서 구독 페이지로 이동합니다.

      구독 페이지로 이동

    2. 구독에서 확인되지 않은 메시지를 모니터링합니다. 자세한 내용은 전달된 전송할 수 없는 메시지 모니터링을 참조하세요.

    3. 확인되지 않은 메시지가 있으면 TriggerPubsubExecution 메서드의 워크플로 로그를 모니터링합니다. 워크플로 로그 보기에 대한 자세한 내용은 워크플로 로그 보기를 참조하세요.

      • Permission 'workflows.executions.create' denied 필터를 사용하여 트리거가 워크플로 실행을 트리거할 권한이 있는 서비스 계정과 연결되어 있는지 확인합니다. 서비스 계정에 적절한 역할을 부여하는 방법에 대한 자세한 내용은 특정 제공업체, 이벤트 유형, 워크플로 대상에 대한 트리거를 만들 때 "트리거 만들기 준비" 섹션의 안내를 따르세요.
      • 이벤트 크기가 512KB를 초과하는지 확인하려면 event size exceeded 키워드를 사용합니다.
    4. 로그가 기록되지만 이벤트가 전송되지 않으면 지원팀에 문의합니다.

  • Workflows와 관련된 다른 문제는 문제 해결을 참조하세요.
  • 추가 도움을 받으려면 지원을 참조하세요.