Google Cloud Pub/Sub 이벤트 수신
Google Cloud Pub/Sub 토픽의 Push 구독을 HTTPS Listener에 연결하면 새 이벤트가 Foundry 스트리밍 데이터셋으로 들어옵니다. 다른 Google Cloud 서비스가 발행한 이벤트도 토픽을 거쳐 전달할 수 있습니다. Gmail 변경 알림처럼 Pub/Sub를 사용하는 서비스도 이 구조로 연결합니다.
준비할 접근 권한과 네트워크
Google Cloud Console에서 대상 Pub/Sub 토픽과 구독을 설정할 수 있어야 합니다. Foundry의 인바운드 정책은 Google Pub/Sub 요청을 허용해야 합니다. 사용하는 Google Cloud 리전의 IP 범위 또는 필요한 국가를 허용하며, 실제 IP 범위는 Google의 IP 목록에서 확인합니다. 공급자가 주소를 변경하면 허용 목록도 갱신해야 합니다.
Listener 하위 도메인을 사용하면 이 수신 범위를 기본 플랫폼 도메인과 분리할 수 있습니다. 하위 도메인의 연결 승인과 Listener 활성화가 끝나야 이벤트를 받을 수 있습니다.
토픽과 Push 구독 연결
-
사용할 Pub/Sub 토픽이 없으면 Google Cloud Console에서 생성합니다.
-
Foundry의
Data Connection > Listeners에서Google Cloud Pub/Sub유형을 선택합니다. Listener 설정을 끝내기 전에 먼저 생성된 엔드포인트 URL을 확보합니다. -
Google Cloud Console에서 해당 토픽의 구독을 생성합니다. 구독 유형은
Push,URL은 앞에서 받은 Listener 엔드포인트로 설정합니다. -
구독의
Authentication을 활성화하고 요청 인증에 사용할 서비스 계정을 선택합니다. 선택적으로 공유 비밀 정보를 사용할 때에는 엔드포인트 URL의token쿼리 매개변수에 그 값을 넣습니다. 이 값은 URL을 볼 수 있는 로그나 설정 화면에도 노출될 수 있으므로 비밀 정보로 취급합니다. -
구독을 저장합니다.
공유 비밀 정보의 전달 위치는 token 쿼리 매개변수입니다. 임의의 HTTP 헤더로 옮기면 같은 설정이 되지 않습니다. 서비스 계정 인증과 선택적인 공유 비밀 정보 설정을 각각 양쪽에 맞춥니다.
Foundry 검증 설정과 활성화
Listener 설정에 다음 값을 입력하고 Continue를 선택합니다.
| 설정 | 입력할 값 |
|---|---|
| Service account email address | Push 구독에서 인증에 사용하도록 선택한 서비스 계정의 이메일 주소 |
| Audience claim | 사용하기로 한 audience 값. 선택 항목입니다. |
| Shared secret | 구독 엔드포인트의 token 매개변수에 설정한 값. 공유 비밀 정보를 사용할 때 입력합니다. |
설정 화면의 승인 관련 설명을 검토하고 Information Security Officer의 승인을 받습니다. Listener의 Test 페이지에서 Start를 선택한 뒤 Pub/Sub 토픽에 테스트 메시지를 발행합니다. Listener의 테스트 화면에서 수신 이벤트를 확인합니다.
메시지 본문 처리
Pub/Sub 메시지 페이로드는 Base64로 인코딩되어 도착합니다. 후속 스트리밍 파이프라인에서 Base64 decode 변환을 적용하면 메시지 문자열을 얻을 수 있습니다. 이후 JSON 해석이나 업무 처리를 연결합니다. HTTPS Listener의 대략 초당 100건 및 개별 이벤트 1 MB 제한도 적용됩니다.