하나의 Stream으로 두 Destination에 전달
목표: 하나의 이벤트를 내부 시스템과 외부 시스템에 동시에 전송하되, 외부 전송에만 추가 필드를 넣습니다. Stream을 2개 만들지 않습니다.화면 버전: 표시된 이미지는 과거 Control UI 테스트 캡처입니다. 현재 제품의 기본 5단계 순서(Connect → Sample & Record Selection → Destinations → Route Processing → Deploy)를 우선하세요. 번호별 화면 가이드에서 차이를 설명합니다.
적용 순서
이 사례는 이미 구성된 Connector·Destination·Stream을 전제로 합니다. 아직 생성하지 않았다면 커넥터별 수집 가이드에서 먼저 수집 Source를 설정하세요. 이후 이 페이지의 구체적인 단계를 수행하고 실제 Logs와 Destination/격리 기록을 검증합니다. 화면 캡처는 기존 테스트 증빙으로, 실제 결과를 대신하지 않습니다.1. 수신기 두 개 준비
실습 환경 준비에 따라 첫 수신기는 9011, 두 번째는 9012 포트에서 실행합니다. 파일도 각각received-9011.ndjson, received-9012.ndjson으로 분리합니다.
2. Destination 2개 만들기
Destinations → Create에서 다음 값을 입력합니다.TEST-HOST는 Control에서 접근 가능한 실제 IP/호스트명으로 변경합니다. 두 Destination을 저장합니다.
3. 기존 Connector 하나만 사용
첫 Webhook 전송에서 만든 Connector를 사용합니다./streams/new에서 Connect, Sample & Record Selection을 완료하고 레코드가 추출되는지 확인합니다.
4. Destination 및 Route별 처리
- Destinations에서
Lab Internal과Lab External을 모두 선택합니다. - Route Processing에서 두 Destination에 각각 연결된 Route 2개가 있는지 확인합니다.
- Global Processing에는 공통 변환을 설정합니다. 기본값은 Inherit Global입니다.
- 내부 Route는 Transform의 Inherit Global을 유지합니다.
- 외부 Route를 선택하고 Transform만 Inherit Global 해제합니다. 지원되는 Add Field → Static 기능으로
delivery_scope = external필드를 추가합니다. - 두 Route 각각에서 effective Preview를 확인합니다. Draft Preview와 실제 Destination 전송은 별개입니다.
- Route별 Delivery 설정도 점검합니다. Delivery는 각 Route 고유 설정입니다.
- Deploy하고 필요한 경우 Stream을 Start합니다.


5. 실제 전송 및 비교
Connector에서 복사한 Receiver URL을CONTROL_RECEIVER_URL로 설정한 뒤 다음 이벤트를 전송합니다.
two-route-001을 찾고, Logs에 Route별 전달 결과가 각각 기록되어 있는지 확인합니다. 외부 Route의 유효한 Transform에 따라 delivery_scope가 외부 수신 데이터에만 존재하는지도 확인합니다.
완료 조건: Stream 1개, Route 2개, 목적지 수신 기록 2건을 동일한 이벤트 ID로 증명합니다.
실패 시
- 한쪽에만 전송: 두 Destination/Route의 Enabled 및 연결 상태를 확인합니다.
- 예상한 변환이 반영되지 않음: Preview만 변경된 상태인지, Override가 실제 저장되었는지 확인합니다.
- Deploy에서 Intent only, Effective Status가 Inherited: Routes → Edit에서 전체 Override 설정을 저장한 다음 Overridden인지 확인합니다.
- 목적지마다 Stream을 따로 만들었음: 한 Stream에 두 Destination을 붙이는 구조로 변경합니다.