DevOps 엔지니어가 AWS CodePipeline으로 빌드, 검증, 스테이징, 테스트 및 배포를 수행하는 다단계 파이프라인을 구축합니다. 테스트 스테이지와 배포 스테이지 사이에 수동 승인 스테이지가 필요합니다. 개발팀은 Webhook 지원이 필요한 사용자 정의 채팅 도구를 사용하며 거의 실시간 알림이 필요합니다. DevOps 엔지니어는 파이프라인 활동 및 승인 요청에 대한 상태 업데이트를 채팅 도구에 게시하도록 어떻게 구성해야 합니까?
- A. CodePipeline Pipeline Execution State Change를 필터링하는 Amazon CloudWatch Logs 구독을 생성합니다. 구독 이벤트를 Amazon SNS 주제에 게시합니다. 채팅 Webhook URL을 SNS 주제에 구독하고 구독 유효성을 검사합니다.
- B. AWS CloudTrail 이벤트에 의해 호출되는 AWS Lambda 함수를 생성합니다. CodePipeline Pipeline Execution State Change 이벤트가 감지되면 이벤트 세부정보를 채팅 Webhook URL로 보냅니다.
- C. CodePipeline Pipeline Execution State Change를 필터링하는 Amazon EventBridge 규칙을 생성합니다. 이벤트를 Amazon SNS 주제에 게시합니다. AWS Lambda 함수를 생성하여 이벤트 세부정보를 채팅 Webhook URL로 보냅니다. 함수를 SNS 주제에 구독합니다.✓ 정답
- D. 파이프라인 코드를 수정하여 각 스테이지 종료 시 이벤트 세부정보를 채팅 Webhook URL로 보냅니다. URL을 매개변수화하여 각 파이프라인이 파이프라인 환경에 따라 다른 URL로 보낼 수 있도록 합니다.
해설
【핵심 용어】 ▸ EventBridge — 이벤트 기반 아키텍처, CodePipeline 상태 변경 감지 ▸ SNS — 메시지 브로드캐스트, 여러 구독자 지원 ▸ Lambda + Webhook — HTTP 호출을 통한 외부 시스템 통합 【정답 포인트】 ▸ EventBridge 규칙: CodePipeline 상태 변경 자동 감지 (선언적, 실시간) ▸ SNS 주제: 중앙 집중식 메시지 버스, 확장 가능 ▸ Lambda 함수: 이벤트 → Webhook 포맷 변환 → 채팅 도구로 전송 ▸ 아키텍처 분리: 파이프라인 코드 수정 없음 (D의 문제점) 【오답 체크】 (A) CloudWatch Logs: SNS 직접 구독 미지원, 트리거 방식 부적절 (B) CloudTrail: 비용 높음, API 호출 기록용, 상태 변경 감지 느림 (D) 파이프라인 코드 수정: 애플리케이션 로직 혼재, 관리 어려움 【시험 포인트】 실시간 이벤트 알림 → EventBridge + SNS + Lambda 조합. 파이프라인 외부의 깨끗한 이벤트 아키텍처