Amazon DOP-C02: 이벤트 기반 아키텍처 및 자동화 — 학습 가이드

다음의 일부입니다: AWS DevOps Engineer Professional DOP-C02 — 학습 가이드. 검증된 답안으로 연습하기: Amazon 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.

라우팅, 오케스트레이션, 스케줄링: EventBridge와 Step Functions

Amazon EventBridge는 라우팅, 거버넌스, 계정 간/이벤트 도메인 간 통합을 위한 중앙 이벤트 버스입니다. AWS 서비스 이벤트에는 기본 버스를, 도메인을 분할하고 권한을 적용하려면 사용자 지정 버스를, SaaS 통합에는 파트너 버스를 사용합니다. 규칙은 콘텐츠 기반 패턴을 통해 이벤트를 매칭하고 200개 이상의 AWS 서비스를 대상으로 지정할 수 있습니다. 입력 변환기를 사용하여 페이로드의 형태를 바꾸고, 아카이브/재생 기능을 사용하여 복구 중이거나 새로운 소비자를 온보딩할 때 과거 이벤트를 재처리할 수 있습니다. 리소스 정책을 통해 계정 간 이벤트 라우팅을 활성화하여 플랫폼 계정에서 거버넌스를 통합할 수 있습니다. EventBridge Pipes는 이벤트 소스(SQS, Kinesis, DynamoDB Streams, Amazon MSK 기반의 자체 관리형 Apache Kafka 등)에서 대상으로 향하는 지점 간(point-to-point)의 설정 가능한 흐름을 제공하며, 필터링, 배치, 변환 및 Lambda나 Step Functions를 통한 보강 기능이 내장되어 있습니다. 이는 전체 소비자 애플리케이션을 관리하고 싶지는 않지만 가벼운 중재가 필요할 때 이상적입니다. EventBridge Scheduler는 일회성 및 cron 스케줄을 제공하여 실행 역할, 시간대 지원, 그리고 ‘썬더링 허드(thundering herd)’ 현상을 줄이기 위한 선택적 유연한 시간 창(flexible time window)을 통해 대상을 호출합니다.

AWS Step Functions는 Amazon States Language로 정의된 분산 워크플로를 오케스트레이션하며, Task, Choice, Parallel, Map(분산 Map 포함), Wait, Pass, Succeed/Fail 상태와 강력한 Retry/Catch 패턴을 제공합니다. 서비스 통합이 깊어 AWS API를 호출하기 위한 글루 코드(glue code)가 필요 없으며, 동기식(.sync) 및 작업 토큰(task token)을 사용한 콜백 패턴도 포함됩니다. 장기 실행되고, 감사가 중요하며, 상태가 정확히 한 번(exactly-once) 진행되어야 하는 오케스트레이션에는 Standard 워크플로를 선택하세요. 최대 1년까지 실행되며 상태 전환당 비용이 부과됩니다. 실행 기록이 보존되고 가시성이 높으며 X-Ray 추적이 내장되어 있습니다. 처리량이 많고 수명이 짧은(수 초에서 수 분) 오케스트레이션에는 Express 워크플로를 선택하세요. 대규모 확장을 위해 요청당+기간별 요금과 최소 한 번(at-least-once) 실행 시맨틱을 감수할 수 있는 경우에 적합합니다. 스트리밍 수집 데이터 보강, 이벤트 라우터, 태스크를 멱등성 있게 만들 수 있는 마이크로 오케스트레이션에 사용됩니다. 보상 트랜잭션(compensating task)을 사용하는 사가(saga) 패턴이나 중앙 집중식 오류 처리와 같은 패턴을 적용하세요. 상태 머신에서 재시도/타임아웃을 외부화하여 태스크 코드를 단순화하세요.

컴퓨팅 트리거와 백프레셔: Lambda 이벤트 소스 매핑

Lambda 이벤트 소스 매핑(ESM)은 폴링 기반 소스를 Lambda에 연결하고 동시성, 배치 처리, 오류 처리를 제어합니다.

ESM의 이벤트 필터링은 폴러(poller) 단계에서 관련 없는 이벤트를 버려 호출 횟수를 줄여줍니다. Lambda에서 스트림에 텀블링 윈도우(tumbling window) 집계를 사용하여 시간 경과에 따른 레코드를 집계함으로써 미니 배치 처리 패턴을 구현할 수 있습니다.

운영 자동화 및 해결: Systems Manager Automation 및 OpsCenter

AWS Systems Manager Automation은 JSON/YAML로 작성된 런북(Automation 유형의 문서)을 제공하며, 이 런북에는 aws:runCommand, aws:executeScript, aws:invokeLambda, aws:approve, aws:createStack, aws:executeAutomation과 같은 단계가 포함됩니다. Automation은 파라미터를 입력받고, 출력을 내보내며, 변경 이력과 함께 버전을 관리하고, 최소 권한 및 교차 계정/리전 작업을 위해 전용 AutomationAssumeRole로 실행됩니다. 플릿 전체의 동시성 및 오류 임계값을 제어하고, 승인 및 Change Calendar 기간을 요구하며, SNS를 통해 알림과 통합할 수 있습니다. Automation은 일정에 따라, EventBridge 규칙(AWS Health, CloudWatch 또는 API 이벤트에 대한 거의 실시간 해결용), 정책을 적용하기 위한 AWS Config 해결 규칙(예: EBS 볼륨에 기본 태그 적용 또는 EC2 인스턴스에 기본 인스턴스 프로파일 연결), 그리고 OpsCenter에서 호출할 수 있습니다.

OpsCenter는 CloudWatch 경보, AWS Config, Health 이벤트 또는 사용자 지정 소스에서 발생하는 운영 문제를 OpsItems로 집계합니다. 각 OpsItem은 상태, 우선순위, 중복 제거, 관련 리소스 및 런북 링크를 추적합니다. 표준 해결을 위해 원클릭 런북을 연결하고, OpsItem이 생성되거나 특정 조건(예: SSH에 0.0.0.0/0을 허용하는 보안 그룹, 패치 규정 준수 드리프트, 백업 실패)과 일치하도록 업데이트될 때 특정 Automation을 시작하도록 EventBridge 또는 Config 규칙을 연결하여 자동 해결을 활성화할 수 있습니다. Systems Manager Explorer를 사용하여 여러 계정 및 리전에 걸쳐 플릿 상태와 열려 있는 OpsItems를 시각화할 수 있습니다. 영구 레코드로서의 OpsItems와 코드화된 해결 방법으로서의 Automation 런북의 이러한 조합은 대규모 환경에서 감사 가능하고 일관된 운영을 가능하게 합니다.

설계 및 운영 지침

최소 한 번(at-least-once) 전송이 일반적이므로 모든 컨슈머에 걸쳐 멱등성(idempotency)을 고려하여 설계해야 합니다. 지연 시간이 짧은 병렬 반응을 위해서는 SNS 또는 EventBridge 규칙을 통한 이벤트 기반 팬아웃(fan-out)을 선호합니다. 워크로드를 버퍼링하고 컨슈머의 느린 처리 속도로부터 프로듀서를 보호하려면 SQS를 선호합니다. 분석을 위해 샤드별 엄격한 순서 보장과 재생 가능한 스트림이 필요한 경우에는 Kinesis를 선호합니다. 맞춤형 컨슈머가 과도한 경우, 소스와 타겟 간의 가볍고 관리되는 통합을 위해 EventBridge Pipes를 사용하고, cron 인프라를 유지 관리할 필요 없이 시간 기반 트리거를 사용하려면 EventBridge Scheduler를 사용합니다.

타임아웃과 재시도 횟수를 적절하게 조정합니다. SQS의 경우, 가시성 제한 시간(visibility timeout)은 최대 처리 시간과 재시도 시간을 더한 것보다 길어야 합니다. 스트림의 경우, 재시도 횟수에 상한을 두고 MaximumRecordAgeInSeconds를 설정하여 잘못된 레코드가 무한정 재처리되는 것을 방지합니다. DLQ 또는 실패 시 대상을 체계적으로 사용하고 SQS ApproximateAgeOfOldestMessage, Lambda ConcurrentExecutions/Throttles/Errors, IteratorAge, Step Functions ExecutionFailed/TimedOut, EventBridge FailedInvocations에 대한 대시보드와 경보를 추가합니다. 트래픽 급증을 피할 수 없지만 지연 시간 SLA가 엄격한 경우, Lambda 프로비저닝된 동시성(provisioned concurrency)을 사용하여 용량을 미리 준비(pre-warm)합니다. 거버넌스를 위해서는 리소스 정책을 사용하는 EventBridge를 선호하여 교차 계정 라우팅과 아카이브/재생 기능을 통해 컨슈머의 발전과 인시던트 복구를 지원합니다.

실제 문제 시나리오

Shopify는 플래시 세일(flash-sale) 이벤트를 위한 주문 처리를 현대화하는 동시에, 다운스트림 서비스가 느려지거나 실패할 경우 실시간 분석 및 자동화된 해결 조치를 추가해야 합니다.

  1. 주문 이벤트 수집 및 팬아웃
  1. 주문 처리 버퍼링 및 이행
  1. 다단계 사가(Saga) 오케스트레이션
  1. 도메인 이벤트를 기능별로 라우팅
  1. 파트너 피드를 보강(enrichment) 단계로 파이핑
  1. 실시간 분석 및 검색
  1. 시간 기반 자동화
  1. 자동화된 해결 조치 및 운영

이 설계는 버퍼링과 팬아웃을 통해 플래시 세일 트래픽 급증을 견디고, 오케스트레이션을 통해 비즈니스 불변성(invariant)을 보존하며, 몇 초 내에 분석 결과를 제공하고, 정책 기반의 자동화된 해결 조치로 전체 프로세스 루프를 완성합니다.


고가용성 · 모든 도메인 · 스토리지

이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

시험 합격하기 →

Amazon 찾아보기 →

Related guides

올인원 액세스

하나의 구독. 모든 시험.

모든 플랜은 무제한 답변 검색, 모의고사, AI 해설, 전체 자료 라이브러리를 20개 이상의 언어로 잠금 해제합니다.

월간
24.87
Just €0.83/day
모든 포함:
  • 무제한 답변 검색
  • 무제한 모의고사
  • AI 기반 해설
  • 전체 자료 라이브러리
  • 20개 이상의 언어
  • 주간 콘텐츠 업데이트
  • 보상 및 추천
  • 우선 지원
무료 체험 시작

신용카드 필요 없음*

최고의 가치
12개월
179.87
Just €0.49/daySave 40%
모든 포함:
  • 무제한 답변 검색
  • 무제한 모의고사
  • AI 기반 해설
  • 전체 자료 라이브러리
  • 20개 이상의 언어
  • 주간 콘텐츠 업데이트
  • 보상 및 추천
  • 우선 지원
무료 체험 시작

신용카드 필요 없음*

✓ 무료 플랜 포함 · ✓ 언제든지 취소 가능 · ✓ 모든 플랜은 전체 제품을 잠금 해제합니다