Amazon Simple Notification Service(SNS)
Amazon Simple Notification Service(SNS)에 대한 소개를 시작하겠습니다.
저는 Amazon Web Services의 EMEA 기술 강사인 Wilson Santana입니다.
간단한 질문으로 시작하겠습니다. 다음 상황을 가정해 보십시오. 서로 대화를 하거나 분리가 필요한 마이크로서비스를 이용하는 상황 또는 관리자나 시스템 개발자에게 아키텍처에서 발생한 이벤트를 알리기 위해 이메일을 보내야 하는 상황이 발생하였습니다. Amazon에서는 어떤 방법으로 쉽게 해결 할 수 있을까요? 해답은 Amazon Simple Notification Service, 바로 SNS에 있습니다.
Amazon SNS는 정확히 무엇일까요? 본 프레젠테이션에서는 이 서비스의 특성과 사용법 그리고 데모를 다루도록 하겠습니다. 그럼 SNS 소개를 시작하겠습니다.
Amazon SNS란
Amazon SNS란 무엇일까요? 이 서비스의 가장 중요한 특성은 유연하면서도 완전하게 관리되는 게시/구독(Pub/Sub) 메시징과 모바일 커뮤니케이션 서비스에 있습니다. 또한, 구독 중인 엔드포인트 또는 클라이언트에게 발송되는 메시지를 조정하여 구독자에 따라 각각 다른 정보를 보낼 수 있습니다. 쉽게 설정하고 운영할 수 있으며 신뢰할 수 있는 커뮤니케이션이 가능합니다. 또한 분리되고 조정 가능한 마이크로서비스와 분산 시스템, 서버리스 애플리케이션을 가능하게 합니다.
Amazon SNS는 AWS Lambda, HTTPS, Amazon Simple Queue Service(Amazon SQS)와 같은 Amazon의 다른 시스템을 위한 게시/구독(Pub/Sub) 메시징이 가능합니다. 또한, Amazon SNS Mobile Notification을 통해 ADM와 APNS, Baidu, GCM, MPNS, WNS 등 다른 모바일 시스템에 유사한 게시 작업을 할 수 있습니다.
데모
지금부터 제품의 이점을 알아보기 위해 제품 데모를 시작하겠습니다. 먼저 SNS 대시보드에서 다른 관리자에게 정보를 보낼 수 있는 제품을 생성하겠습니다. 어떻게 시작할까요? 먼저 주제를 생성합니다. 주제를 생성하면 발송하고자 하는 대상에게 필요한 정보를 보낼 수 있습니다. 첫 번째로 주제의 이름을 입력하십시오. 주제의 이름을 SNSDemo 또는 원하는 이름으로 입력할 수 있습니다. 지금은 SNSDemo을 입력하겠습니다. 주제가 생성되었으면 구독을 생성하기 전, 대상에게 정보를 보내기 이전에 가장 먼저 Other topic actions로 이동하여 Edit topic policy를 체크하십시오. 주제에 대한 보안을 설정함으로써 특정 사용자가 설정된 대상에게 정보를 보낼 수 있도록 합니다. 이 예제에서는 Everyone을 선택해 누구나 데이터를 보다 쉽게 생성할 수 있도록 설정하겠습니다. 보이죠? 이 경우에는 누구나 저의 주제에 대한 모든 전송 프로토콜을 사용할 수 있습니다. 이제 정책을 업데이트합니다. 주제 차체만으로는 어떤 정보도 보낼 수 없습니다. 먼저 구독을 생성해야 합니다. 이 경우에는 이 이메일로 구독을 하겠습니다. 구독을 생성하기 위해서 프로토콜에서 이메일을 선택합니다. 여러 가지 옵션이 있는데 HTTP나 HTTPS, JSON을 사용할 수 있습니다 이를 특정 애플리케이션의 Amazon SQS queue로 보낼 수 있습니다. 지역에 따라서 AWS Lambda 또는 AWS Server Migration Service(AWS SMS)로 보낼 수 있습니다. 다음, 엔드포인트를 작성합니다. 제가 보낼 이메일을 입력합니다. 이 경우에는 snsdemo @ snsdemo 2 .33 mail .com create subscription을 클릭합니다. 이렇게 구독을 생성하면 확정 보류 중 메시지가 가장 먼저 나타납니다. 확정 보류 중 메시지는 이 정보가 설정된 이메일로 보내졌으며 확정을 기다리고 있음을 의미합니다. 데모를 빠르게 진행하기 위해 결과물을 먼저 보여드리겠습니다. 여기 일반적인 정보들이 있습니다. 구독 확정을 요청하는 이메일을 방금 받았습니다. 이 이메일을 클릭하고 구독을 확정하면 됩니다. 구독이 제대로 확정된 후 화면을 새로 고침 하면 지금부터 구독을 확정한 해당 이메일로 정보를 보낼 수 있음을 알 수 있습니다. 이 서비스를 테스트하여 작동 방식에 대해 알아보겠습니다. 테스트하기 위해 S3 버킷을 사용합니다. S3 버킷은 필요에 따라 SNS 주제에 대한 정보를 생성할 수 있습니다. 이전에 생성되어 있던 이 버킷을 사용해보겠습니다. 이 버킷의 속성을 설정하여 특정 이벤트를 등록합니다 이 경우에는 이미 특정 이벤트에 알림을 설정해놓았습니다. 이 설정을 제거하고 새로운 설정을 추가하겠습니다. 지금은 SNSDemo가 되겠습니다. 개체가 생성되거나 삭제될 때 SNS 주제로 정보를 보냅니다. 이 경우에는 제가 생성한 바로 그 SNS 주제입니다. 이제 저장을 합니다. 이 버킷에 개체가 삭제되거나 추가될 때마다 SNS를 통해 구독된 이메일로 정보가 발송됩니다. 그럼 다시 제 버킷을 체크해보겠습니다. 예를 들면, 여기 이 개체를 삭제합니다. 개체를 삭제한 후에는 SNS를 통해 이메일이 발송됩니다. 삭제된 개체에 대한 정보를 담은 이와 같은 이메일이 보여집니다. 다른 개체를 추가하면 유사한 이메일이 보여집니다. Amazon S3 이벤트에 대한 모든 필요 정보가 담겨 있습니다. 더불어, 관련된 모든 매개 변수도 있습니다. 이 정보는 향후 구독자가 관련 정보를 얻거나 데이터베이스에 추가 시 사용될 수 있습니다. 또는 다른 프로세스나 예를 들어 AWS Lambda 함수를 사용하기 위해 사용될 수 있습니다.
결론
즐거운 시간이 됐길 바라며, AWS 교육 및 자격증을 위한 본 프레젠테이션이 도움이 됐기를 바랍니다. 지금까지 Wilson Santana였습니다. 시청해 주셔서 감사합니다.