- SNS는 단순 알림 서비스를 의미합니다.
- 클라우드에서 쉽게 설정, 운영, 알림을 보낼 수 있는 웹 서비스입니다.
- 이는 개발자에게 애플리케이션에서 메시지를 게시하고 이를 다른 애플리케이션으로 보낼 수 있는 확장성이 뛰어나고 비용 효율적이며 유연한 기능을 제공합니다.
- 메시지를 보내는 방법입니다. AutoScaling을 사용하면 'EC2 인스턴스가 성장하고 있습니다'라는 이메일을 보내는 SNS 서비스가 트리거됩니다.
- SNS는 또한 Baidu Cloud Push를 통해 Apple, Google, Fire OS 및 Windows 장치는 물론 중국의 Android 장치에 푸시 알림을 보내 장치에 메시지를 보낼 수도 있습니다.
- 푸시 알림을 모바일 장치로 보내는 것 외에도 Amazon SNS는 SMS나 이메일을 통해 Amazon Simple Queue Service(SQS) 또는 HTTP 엔드포인트로 알림을 보냅니다.
- SNS 알림은 Lambda 함수를 트리거할 수도 있습니다. 연결된 Lambda 함수가 있는 SNS 주제에 메시지가 게시되면 메시지의 페이로드와 함께 Lambda 함수가 호출됩니다. 따라서 Lambda 함수는 메시지 페이로드를 입력 매개 변수로 사용하여 호출되고 메시지의 정보를 조작한 다음 메시지를 다른 SNS 주제 또는 다른 AWS 서비스로 보낸다고 말할 수 있습니다.
- Amazon SNS를 사용하면 주제가 동일한 메시지의 동일한 복사본을 구독 수신자에게 보내는 논리적 액세스 포인트인 주제를 사용하여 여러 수신자를 그룹화할 수 있습니다.
- Amazon SNS는 여러 엔드포인트 유형을 지원합니다. 예를 들어 IOS, Android 및 SMS 수신자를 그룹화할 수 있습니다. 주제에 메시지를 게시하면 SNS는 형식화된 메시지 사본을 구독자에게 전달합니다.
- 데이터 손실을 방지하기 위해 SNS에 게시된 모든 메시지는 여러 가용 영역에 걸쳐 중복 저장됩니다.
SNS 게시자 및 구독자
Amazon SNS는 구독 엔드포인트로의 메시지 전송을 관리하는 웹 서비스입니다. SNS에는 두 가지 클라이언트가 있습니다.
- 구독자
- 출판사
출판사
게시자는 논리적 접근점인 SNS에 메시지를 생성하여 보내는 생산자라고도 합니다.
구독자
웹 서버, 이메일 주소, Amazon SQS 대기열, AWS Lambda 함수와 같은 구독자는 지원되는 프로토콜(Amazon SQS, 이메일, Lambda, HTTP, SMS) 중 하나를 통해 SNS로부터 메시지 또는 알림을 받습니다.
참고: 게시자는 자신이 생성한 SNS 주제로 메시지를 보냅니다. 주제 자체가 게시자가 생성한 주제와 연결된 구독자와 일치하고 메시지를 구독자에게 전달하므로 메시지를 게시하는 동안 대상 주소를 지정할 필요가 없습니다.
SNS 활용법
- 애플리케이션 서비스에서 이용 가능한 SNS 서비스로 이동합니다.
- 다음을 클릭하세요. 주제 콘솔 왼쪽에 나타납니다.
- 다음을 클릭하세요. 주제 만들기 새 주제를 만들려면
- 텍스트 상자에 주제 이름을 입력합니다.
- 아래 화면은 토픽이 성공적으로 생성되었음을 보여줍니다.
- 구독을 생성하려면 구독 만들기 .
- 이제 엔드포인트 유형을 선택하고 엔드포인트 주소, 즉 알림을 보낼 위치를 입력하세요.
- 아래 화면은 구독 상태가 보류 중임을 보여줍니다.
- 아래 화면은 가입자에게 메일이 전송된 모습입니다. 구독자는 다음을 클릭해야 합니다. 구독 확인 .
- 주제 이름(예: hello)을 클릭한 다음 메시지 게시 .
- 엔드포인트에 보낼 제목, TTL(Time to Live) 및 메시지 본문을 입력합니다.
- 해당 아이디에 멘션된 모든 구독자분들께 메시지가 발송되었습니다.
SNS의 장점
SNS는 푸시 기반 전달을 기반으로 합니다. 이것이 SNS와 SQS의 주요 차이점입니다. 주제에 메시지를 게시하면 SNS가 푸시되고 메시지는 여러 구독자에게 전달됩니다.
SNS는 다양한 엔드포인트 유형을 지원합니다. 여러 엔드포인트 유형은 이메일, SMS, Lambda, Amazon SQS, HTTP 등과 같은 여러 전송 프로토콜을 통해 메시지를 수신할 수 있습니다.
SNS 서비스는 선불 비용 없이 리소스를 사용할 때만 비용을 지불하는 종량제 모델을 기반으로 하기 때문에 매우 저렴합니다.
웹 기반 AWS Management Console은 포인트 앤 클릭 인터페이스의 단순성을 제공하므로 SNS 서비스는 사용이 매우 간단합니다.
SNS는 구독자의 메시지 필터링 논리와 게시자의 메시지 라우팅 논리를 오프로드하여 메시징 아키텍처를 단순화하는 데 사용됩니다. SNS는 해당 주제의 모든 메시지를 수신하는 대신 관심 있는 구독자에게만 메시지를 보냅니다.
SNS와 SQS의 차이점
- SNS의 약자 간편 알림 서비스 SQS는 단순 대기열 서비스 .
- SQS는 풀 기반 전달입니다. 즉, 메시지가 수신자에게 푸시되지 않습니다. 사용자는 대기열에서 메시지를 가져와야 합니다. SNS는 푸시 기반 전달입니다. 즉, 메시지가 여러 구독자에게 푸시됩니다.
- SNS 서비스에서는 메시지가 여러 수신자에게 동시에 푸시되지만 SQS 서비스에서는 메시지가 여러 수신자에게 동시에 수신되지 않습니다.
- SQS 폴링은 메시지 전달에 약간의 대기 시간을 발생시키는 반면 SQS 푸시는 메시지를 구독자에게 즉시 푸시합니다.