Eventarc 트리거를 사용하여 워크플로를 이벤트 결과 또는 이벤트 집합으로 실행할 수 있습니다. 이벤트는 이벤트 제공업체에서 관심 있는 이벤트 수신자로 라우팅됩니다.
Eventarc는 HTTP 요청을 통해 CloudEvents 형식으로 이벤트 수신자에 이벤트를 전달합니다. Workflows 서비스는 이벤트를 JSON 객체(CloudEvents 사양에 따름)로 변환하고 이벤트를 워크플로 실행에 워크플로 런타임 인수로 전달합니다.
워크플로 실행은 다음과 같은 경우에 트리거됩니다.
- 트리거의 필터 기준과 일치하는 감사 로그가 생성되는 경우. 예를 들어 Cloud 감사 로그를 사용하여 BigQuery에서 이벤트로 Workflows를 트리거하는 이 빠른 시작을 참조하세요.
- Cloud Storage 버킷 업데이트나 Firebase 원격 구성 템플릿 업데이트와 같은 직접 이벤트에 대한 응답으로 예를 들어 Cloud Storage의 직접 이벤트로 Workflows를 트리거하는 이 빠른 시작을 참조하세요.
- Pub/Sub 주제에 게시된 메시지. 예를 들어 Pub/Sub 메시지로 Workflows를 트리거하는 이 빠른 시작을 참조하세요.
다음에 유의하세요.
이벤트는 워크플로 실행이 시작되는 즉시 전달된 것으로 간주되며, 실제 실행은 Workflows 서비스에서 비동기식으로 수행됩니다.
워크플로 실행이 시작되지만 나중에 실패하면 이벤트로 트리거된 실행이 재시도되지 않습니다. 자세한 내용은 이벤트 재시도 정책을 참조하세요.
이벤트를 단 한 번만 처리하도록 보장할 수 있는 Workflows 중복 삭제 기간은 24시간입니다.
Workflows를 Eventarc 트리거의 대상으로 사용할 때는 최대 Workflows 인수 크기보다 큰 이벤트로 워크플로 실행이 트리거되지 않습니다. 자세한 내용은 할당량 및 한도를 참조하세요.
서비스 경계로 보호되는 프로젝트에서 Pub/Sub 푸시 엔드포인트가 Workflows 실행으로 설정된 Workflows 대상으로 이벤트를 라우팅하는 경우 Eventarc를 통해 새 Pub/Sub 푸시 구독만 만들 수 있습니다. Workflows 엔드포인트의 푸시 인증에 사용되는 서비스 계정은 서비스 경계에 포함되어야 합니다. 자세한 내용은 VPC 서비스 제어를 사용하여 서비스 경계 설정을 참조하세요.
Google Cloud CLI를 사용하여 트리거 만들기
필수 및 선택적 플래그와 함께 gcloud eventarc triggers create
명령어를 실행하여 트리거를 만들 수 있습니다.
자세한 내용은 특정 제공업체, 이벤트 유형, Workflows 대상의 트리거를 만들 때 '트리거 만들기' 섹션의 gcloud 안내를 참조하세요.
콘솔을 사용하여 트리거 만들기
다음 단계에서는 Google Cloud Console의 Workflows 페이지에서 트리거를 만드는 방법을 보여줍니다.
시작하기 전에
-
Enable the Eventarc and Pub/Sub APIs.
Eventarc가 Workflows API에 요청을 보낼 수 있도록 서비스 계정을 만듭니다.
Google Cloud 콘솔에서 서비스 계정 페이지로 이동합니다.
프로젝트를 선택한 후 서비스 계정 만들기를 클릭합니다.
서비스 계정 이름 필드에 6~30자 사이의 이름을 입력합니다.
소문자 영숫자 문자와 대시를 포함할 수 있습니다. 서비스 계정을 만든 후에는 이름을 변경할 수 없습니다.
만들고 계속하기를 클릭합니다.
계정이 워크플로를 트리거할 수 있도록 새 서비스 계정에 workflows.invoker 역할을 부여합니다. 역할 선택 목록에서 Workflows > Workflows 호출자를 선택합니다.
프로덕션 앱을 개발할 때는 가능한 한 항상 최소 권한을 지닌 역할을 부여하세요. 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
완료를 클릭합니다.
Eventarc 명령어를 실행할 주 구성원이 Identity and Access Management(IAM) 서비스 계정 역할을 할 수 있도록 허용하려면 주 구성원이 서비스를 가장할 수 있도록 역할을 부여합니다.
트리거 구성
트리거하려는 워크플로가 아직 없는 경우 워크플로를 만들고 배포합니다.
Google Cloud 콘솔에서 Workflows 페이지로 이동합니다.
Workflows 페이지에서 워크플로를 선택하여 세부정보 페이지로 이동합니다.
워크플로 세부정보 페이지에서 edit 수정을 클릭합니다.
워크플로 수정 페이지에서 새 트리거 추가 > Eventarc를 선택합니다.
Eventarc 트리거 창이 열립니다.
안내에 따라 특정 제공업체, 이벤트 유형, Workflows 대상에 대한 트리거를 만들고 '트리거 만들기' 섹션의 콘솔 안내를 참조합니다.
워크플로를 호출하는 서비스 계정을 선택합니다.
그러면
workflows.invoker
역할을 부여한 IAM 서비스 계정을 지정하여 계정에 워크플로를 트리거할 권한이 생깁니다.트리거 저장을 클릭합니다.
Eventarc 트리거가 Workflows 세부정보 페이지의 트리거 탭에 나열됩니다.
트리거를 업데이트하거나 삭제하려면 워크플로를 수정해야 합니다.
- 워크플로 세부정보 페이지에서 edit 수정을 클릭합니다.
- 트리거 섹션에서 업데이트하거나 삭제할 트리거를 찾습니다.
- edit 리소스 수정 또는 delete 리소스 삭제를 클릭합니다.
이제 워크플로 실행이 트리거의 필터 기준과 일치하는 이벤트에 의해 트리거됩니다.
Terraform을 사용하여 트리거 만들기
Terraform을 사용하여 워크플로에 대한 트리거를 만들 수 있습니다. 자세한 내용은 Eventarc 및 Terraform을 사용하여 워크플로 트리거를 참조하세요.