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의 이벤트에서 버킷에 대한 알림을 확인합니다.

      gsutil notification 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와 관련된 다른 문제는 문제 해결을 참조하세요.
  • 추가 도움을 받으려면 지원을 참조하세요.