Amazon Web Serivce 자격증 쉽게 공부하기/[C03]AWS Solutions Architect Asso 기본
SAA-C03 기본 #11, SQS & SNS
네트워크 엔지니어 환영
2023. 12. 10. 22:44
반응형
Amazon SQS(Simple Queue Service)
- 마이크로 서비스, 분산 시스템 및 애플리케이션 등을 쉽게 분리할 수 있도록 대기열을 지원하는 메시징 큐(Queue) 서비스
- 하나 혹은 다수의 Producer - (Send messages) -> SQS queue - (Poll messages) -> 하나 혹은 다수의 Consumer
- 처리량 높음, 메시지 수 제한 없음, 메시지 보존기간(1분~14일), 낮은 지연시간, 중복 메시지 존재 가능성 염두
- Cloudwatch 지표의 대기열 길이 (Approximate Number of Messages)를 이용하여 알람 설정하여 Auto Scaling Group의 스케일업 / 다운 가능
- 보안 : 암호화 (HTTPS API 이용), Access Controls (SQS API 접근 IAM 정책), Access Policies (S3 버킷 정책과 비슷)
- 메시지 가시성 시간 초과 : ReceiveMessage 요청이 와 메시지 반환되어 시간 초과까지 또 다른 요청이 들어와도 메시지 반환이 되지 않음
- 소비자가 메시지를 처리하는 데 시간이 더 필요하다면 ChangeMessageVisibility API를 호출하여 SQS에 알림
- Long Polling(롱 폴링) : 대기열 큐에 메시지가 없어서 대기 상태, 지연시간 줄이고 SQS로 보내는 API 호출 숫자를 줄이기 위해 설정
- FIFO Queue : 순서 보장하지만 처리량에 제한 있음
Amazon SNS (Simple Notification Service)
- Pub/Sub (게시/구독) 방식을 이용한 메시징 서비스
- 이벤트 생산자는 하나의 SNS 주제에만 메시지를 보내고, 이벤트 수신자(구독자)는 해당 주제로 전송된 메시지를 모두 받음.
- 구독자에 E-mail, SMS&Mobile Noti, HTTP(s) Endpoint로 데이터 전송하거나 SQS, Lambda, Firehose(Kinesis)를 통해 처리
- 게시 방법 : SDK 주제 게시, 모바일 앱 SDK 전용 직접 게시
- 보안 : 암호화, Access Controls (SNS API 접근 IAM 정책 중심), SNS Access Policies
- SQS 팬아웃(Fanout) : SNS 주제에 메시지를 전송한 후 원하는 수의 SQS 대기열이 해당 SNS 주제를 구독
- Kinesis Data Firehose(KDF)를 통해 SNS에서 S3로 직접 데이터 전송 가능
- SNS FIFO : 메시지 그룹 ID에 따라 순서를 매기고 중복 제거 ID를 활용한 중복 제거 후 SQS FIFO 대기열을 FIFO SNS 주제의 구독자로 설정
- 메시지 필터링: SNS 주제를 구축할 때 전송되는 메시지를 필터링하는데 사용되는 JSON 정책