본문 바로가기
IT 클라우드 정보

SNS, SQS, EventBridge는 무엇이 다를까, 메시지를 전달하는 세 가지 방식과 고르는 기준

by 킴스 클라우드 2026. 10. 21.

주문이 들어오면 결제를 처리하고, 재고를 줄이고, 고객에게 메일을 보내야 하는 서비스를 생각해 보겠습니다. 이 일을 한 서버가 차례로 다 하면 메일 발송이 늦어질 때 주문 전체가 느려지고, 결제 서버가 잠깐 멈추면 주문까지 실패합니다. 그래서 일을 나누고 그 사이를 메시지로 연결하는 구조를 많이 씁니다.

 

AWS에서 메시지를 전달하는 대표 서비스가 Amazon SQS, Amazon SNS, Amazon EventBridge입니다. 셋 다 "메시지를 보낸다"는 점은 같아서 처음에는 무엇을 써야 할지 헷갈리기 쉽습니다. 하지만 메시지를 누가 가져가는지, 몇 군데로 보내는지, 어떤 기준으로 골라 보내는지가 서로 다릅니다.

 

이 글에서는 세 서비스의 전달 방식 차이와 요금 구조, 한 달 1,000만 건을 처리할 때의 비용 계산, 그리고 상황별로 고르는 기준을 정리합니다.

 

SNS, SQS, EventBridge는 무엇이 다를까, 메시지를 전달하는 세 가지 방식과 고르는 기준
SNS, SQS, EventBridge는 무엇이 다를까, 메시지를 전달하는 세 가지 방식과 고르는 기준

 

세 서비스의 전달 방식 비교

구분 SQS SNS EventBridge
전달 방식 대기열에 쌓아 두면 소비자가 가져감(풀) 구독자에게 즉시 밀어 줌(푸시) 규칙에 맞는 이벤트를 대상에 전달
받는 곳 보통 한 종류의 소비자 여러 구독자에게 동시에 규칙마다 여러 대상
골라 보내기 없음(넣은 것을 순서대로 처리) 구독 필터 정책 이벤트 패턴으로 세밀하게
보관 기본 4일, 최대 14일 보관하지 않음 기본은 보관하지 않음(아카이브는 별도)
대표 용도 작업 대기열, 처리 속도 차이 완충 한 사건을 여러 곳에 알림 AWS 서비스·SaaS 이벤트 연결, 일정 실행

 

메시지를 넘기는 세 가지 방식 도식 — 쌓아 두고 가져가는지, 여러 곳에 밀어 주는지, 규칙으로 골라 보내는지가 다릅니다
쌓아 두고 가져가는지, 여러 곳에 밀어 주는지, 규칙으로 골라 보내는지가 다릅니다

 

SQS는 우체통처럼 메시지를 쌓아 두는 곳입니다. 처리하는 쪽이 느리거나 잠시 멈춰도 메시지는 대기열에 남아 있다가 다시 가져가면 됩니다. SNS는 방송에 가깝습니다. 한 번 발행하면 구독한 모든 곳에 동시에 보내지만, 받을 준비가 안 된 곳을 위해 메시지를 오래 보관해 주지는 않습니다. EventBridge는 교환대입니다. 들어온 이벤트의 내용을 보고 규칙에 맞는 대상으로만 보내 줍니다.

 

요금 구조는 이렇게 다릅니다

서비스 무료 사용량 요금(버지니아 북부, 2026년 10월 기준)
SQS 표준 대기열 매월 요청 100만 건 이후 요청 100만 건당 0.40달러
SNS 표준 주제 매월 요청 100만 건 이후 요청 100만 건당 0.50달러, SQS·Lambda로 전달은 추가 요금 없음
EventBridge 사용자 지정 이벤트 AWS 서비스 이벤트 수신은 무료 사용자 지정 이벤트 100만 건당 1.00달러

 

SQS는 메시지 하나를 처리할 때 보통 보내기, 받기, 삭제하기 세 번의 요청이 생긴다는 점을 계산에 넣어야 합니다. 또 요청은 64KB 단위로 세기 때문에, 큰 메시지는 여러 건으로 계산됩니다.

 

한 달 1,000만 건 계산 예시

주문 이벤트가 한 달에 1,000만 건 발생하고 메시지 크기는 64KB 이하라고 가정해 보겠습니다.

 

구성 계산 월 요금(대략)
SQS만 사용 보내기·받기·삭제 3,000만 요청 − 무료 100만 = 2,900만 × 0.40달러/100만 약 11.6달러
SNS로 발행 → SQS 2개로 전달 SNS 1,000만 − 100만 = 900만 × 0.50달러/100만 = 4.5달러 + SQS 대기열 2개 처리 요청 4.5달러 + SQS 요금
EventBridge 사용자 지정 이벤트 1,000만 × 1.00달러/100만 약 10달러 + 대상 서비스 요금

 

SQS 무료 사용량 100만 건은 계정 전체에 한 번 적용되므로, 대기열을 여러 개 쓰면 요청 수를 모두 합쳐 계산합니다. 숫자만 보면 큰 차이가 아니지만, 이벤트 수가 억 단위로 늘면 구조에 따라 월 비용이 수백 달러씩 달라질 수 있습니다.

 

상황별로 고르는 기준

  • 처리 속도가 다른 두 시스템을 잇는다 — SQS. 주문은 몰려 들어와도 처리 서버는 자기 속도대로 가져가면 됩니다.
  • 한 사건을 여러 곳이 각자 처리해야 한다 — SNS로 발행하고 각 처리 쪽에 SQS 대기열을 하나씩 붙이는 팬아웃 구성이 흔합니다. 한쪽이 멈춰도 다른 쪽에는 영향이 없습니다.
  • AWS 서비스에서 생기는 일에 반응한다 — EventBridge. 예를 들어 EC2 인스턴스 상태 변화나 S3 이벤트를 규칙으로 걸러 Lambda를 실행할 수 있습니다.
  • 정해진 시각에 작업을 실행한다 — EventBridge Scheduler. 매월 무료로 1,400만 번까지 호출할 수 있습니다.

 

설계할 때 자주 놓치는 점

메시지 기반 구조에서는 같은 메시지가 두 번 전달될 수 있다는 점을 전제로 설계해야 합니다. SQS 표준 대기열은 최소 한 번 전달을 보장하기 때문에 드물게 중복이 생길 수 있습니다. 결제처럼 두 번 처리되면 안 되는 작업은 주문 번호 같은 고유 키로 이미 처리했는지 확인하는 로직을 넣거나, 순서와 중복 제거가 필요한 경우 FIFO 대기열을 검토합니다.

 

처리에 계속 실패하는 메시지를 따로 모아 두는 배달 못 한 편지 대기열(DLQ)도 처음부터 설정해 두는 편이 좋습니다. 실패한 메시지가 대기열을 계속 맴돌며 비용과 지연을 늘리는 것을 막을 수 있습니다.

 

실패했을 때 어떻게 다시 시도할까

세 서비스는 전달에 실패했을 때 다시 시도하는 방식도 다릅니다. 기본값을 알고 있어야 장애 때 메시지가 어디에 남아 있는지 찾을 수 있습니다.

 

서비스 재시도 방식 설정할 값
SQS 소비자가 처리 후 삭제하지 않으면 가시성 제한 시간(기본 30초, 최대 12시간)이 지난 뒤 다시 보임 가시성 제한 시간, 최대 수신 횟수 넘으면 DLQ로 보내는 재처리 정책
SNS 구독 대상 유형별 전달 재시도 정책에 따라 다시 보냄 구독마다 DLQ(SQS 대기열) 지정
EventBridge 기본으로 24시간 동안 최대 185번까지 다시 보냄 대상별 재시도 횟수·이벤트 최대 보존 기간, 대상별 DLQ

 

SQS의 가시성 제한 시간은 소비자가 메시지 하나를 처리하는 데 걸리는 시간보다 넉넉하게 잡아야 합니다. 처리에 1분이 걸리는데 기본값 30초를 그대로 두면, 처리 중인 메시지가 다른 소비자에게 다시 보여 같은 주문이 두 번 처리될 수 있습니다. 반대로 너무 길게 잡으면 소비자가 멈췄을 때 메시지가 다시 처리되기까지 오래 기다리게 됩니다.

 

메시징 서비스에서 자주 묻는 것

SNS와 EventBridge 중 무엇을 먼저 고려하나요?

단순히 한 메시지를 여러 곳에 빠르게 뿌리는 것이 목적이면 SNS가 간단합니다. 이벤트 내용에 따라 대상을 세밀하게 나누거나 AWS 서비스·외부 SaaS 이벤트를 받아야 한다면 EventBridge가 맞습니다.

 

SQS 대신 데이터베이스 테이블로 대기열을 만들면 안 되나요?

가능은 하지만 동시에 여러 소비자가 같은 행을 가져가는 문제, 재시도와 실패 처리 등을 직접 구현해야 합니다. 관리형 대기열을 쓰면 이런 부분을 서비스가 대신 처리합니다.

 

메시지 순서가 중요하면요?

SQS FIFO 대기열이나 SNS FIFO 주제를 쓰면 같은 메시지 그룹 안에서 순서를 지킬 수 있습니다. 다만 처리량 한도와 요금이 표준과 다르니 요구 사항에 맞는지 확인합니다.

 

월 1,000만 건을 전달하면 — 세 서비스의 실제 요금

요금 구조를 숫자로 바꿔 봤습니다. 서울 리전 단가(AWS Price List 2026년 10월)로 월 1,000만 건을 전달하는 경우입니다. SQS·SNS는 매월 100만 요청이 무료이고, EventBridge 사용자 지정 이벤트는 100만 건당 1.00달러입니다.

구성 계산 월 요금
SQS 표준 대기열 (보내기 1,000만 + 받기 1,000만, 배치 없이) (2,000만 − 100만) × 0.40 ÷ 100만 7.60달러
SQS 표준, 10개씩 배치 (200만 − 100만) × 0.40 ÷ 100만 0.40달러
SNS 게시 1,000만 → SQS 구독자 3개 (1,000만 − 100만) × 0.50 ÷ 100만 + SQS 전달 무료 + 각 SQS 받기 요금 4.50달러 + SQS 몫
SNS 게시 1,000만 → HTTPS 엔드포인트 4.50 + (1,000만 − 10만) × 0.06 ÷ 10만 10.44달러
EventBridge 사용자 지정 이벤트 1,000만 1,000만 × 1.00 ÷ 100만 (AWS 서비스 이벤트는 무료) 10.00달러

SQS는 배치를 쓰느냐에 따라 20배 차이가 나고, SNS는 구독자가 SQS·Lambda면 전달 요금이 없으므로 팬아웃 구성(SNS → SQS 여러 개)이 가장 쌉니다. EventBridge는 건당 요금이 가장 높은 대신 규칙으로 내용을 걸러 라우팅하는 값이 포함돼 있으니, 단순 전달에는 SQS·SNS를, 이벤트 종류가 많아 조건별로 보내야 할 때 EventBridge를 씁니다.

정리

SQS는 메시지를 쌓아 두고 소비자가 가져가는 대기열, SNS는 여러 구독자에게 동시에 밀어 주는 발행·구독, EventBridge는 이벤트 내용을 보고 규칙에 맞는 대상으로 보내는 이벤트 버스입니다. 요금은 SQS 요청 100만 건당 0.40달러, SNS 발행 100만 건당 0.50달러, EventBridge 사용자 지정 이벤트 100만 건당 1.00달러가 기준이며, 실제 비용은 요청 수를 세는 방식까지 넣어 계산해야 정확합니다.

함께 읽으면 좋은 글: 서버리스 AWS Lambda 개념과 콜드 스타트 / CloudWatch 지표·알람·로그 차이

참고 자료: Amazon SQS 요금, Amazon SNS 요금, Amazon EventBridge 요금

※ 본 글은 2026년 10월 기준 Amazon SQS·SNS·EventBridge 요금 페이지와 개발자 안내서를 참고해 작성했으며, 요금과 무료 사용량은 리전과 시점에 따라 달라질 수 있으니 최신 내용은 AWS 공식 문서에서 확인해 주세요.