Amazon SNS FAQ
개요
Q: Amazon Simple Notification Service(SNS)란 무엇입니까?
Amazon Simple Notification Service(Amazon SNS)는 클라우드에서 손쉽게 알림을 설정, 운영 및 전송할 수 있도록 하는 웹 서비스입니다. 개발자에게 애플리케이션의 메시지를 게시하고 이를 구독자나 다른 애플리케이션에 즉시 전송할 수 있는 고도로 확장 가능하며 유연하고 비용 효율적인 기능을 제공합니다. 개발자가 보다 쉽게 웹 규모의 컴퓨팅 작업을 할 수 있도록 설계되었습니다. Amazon SNS는 “publish-subscribe”(pub-sub) 메시징 패러다임을 따릅니다. 즉, 클라이언트에게 전송되는 알림이 “푸시” 메커니즘을 사용하기 때문에 새로운 정보나 업데이트를 정기적으로 확인하거나 “폴링”할 필요가 없습니다. 또한 초기 개발 수고가 거의 없는 간편한 API를 갖추고 있어 유지관리 부담이 없고, 종량 과금제로 청구되기 때문에 개발자는 애플리케이션에 강력한 기능의 알림 시스템을 손쉽게 통합할 수 있습니다.
Q: Amazon SNS를 시작하려면 어떻게 해야 합니까?
팬아웃 이벤트 알림 전송 10분 자습서를 완료하여 몇 단계만에 Amazon SNS 주제를 생성하고 메시지를 게시할 수 있습니다.
자세한 내용은 Amazon SNS 개발자 안내서 및 리소스 센터의 샘플 코드를 참조하십시오.
Q: Amazon SNS를 사용하면 어떤 이점이 있습니까?
Amazon SNS는 약결합 분산 애플리케이션을 구축하고 통합할 수 있는 다양한 옵션으로 여러 가지 혜택을 제공합니다.
- 즉시적인 푸시 기반 전송(폴링 필요 없음)
- 간편한 API와 손쉬운 애플리케이션 통합
- 여러 전송 프로토콜을 지원하는 유연한 메시지 전송
- 사전 확약금 없는 저렴한 종량 과금제 모델
- 웹 기반 AWS Management Console의 간편한 포인트 앤 클릭 방식 인터페이스
Q: Amazon SNS 알림을 사용하는 방법으로는 어떤 것이 있습니까?
Amazon SNS 서비스에서는 이벤트 모니터링, 모니터링 애플리케이션, 워크플로 시스템, 시간이 관건인 정보 업데이트, 모바일 애플리케이션 및 알림을 생성하거나 필요로 하는 다른 모든 애플리케이션의 다양한 요구 사항을 지원할 수 있습니다. 예를 들어, 워크플로 시스템에 Amazon SNS를 사용하면 분산된 컴퓨터 애플리케이션 간에 이벤트를 전달하고 데이터 스토리지 간에 데이터를 이동하거나 비즈니스 시스템에서 레코드를 업데이트할 수 있습니다. 검증, 승인, 재고 변경 및 발송 상태에 관한 이벤트 업데이트와 알림은 관련 시스템 구성 요소뿐 아니라 최종 사용자에게도 즉시 전송됩니다. SNS를 사용하는 일반적인 패턴은 메시지를 Amazon SQS 메시지 대기열로 게시하여 비동기식으로 하나 이상의 시스템 구성 요소로 안정적으로 전송하는 것입니다. Amazon SNS를 사용하는 또 다른 예로는 모바일 애플리케이션과 장치로 중요한 일정 이벤트를 전달하는 것이 있습니다. Amazon SNS의 뛰어난 안정성과 확장성은 실시간 이벤트에 기반한 애플리케이션을 구축하는 개발자들에게 큰 이점이 됩니다.
Q: Amazon SNS는 어떻게 작동합니까?
Amazon SNS를 시작하는 건 정말 쉽습니다. 개발자는 우선 "주제"를 생성해야 합니다. 주제는 특정 제목 또는 이벤트 유형을 식별하는 "액세스 지점"으로서 이를 통해 메시지를 게시하고 고객은 알림을 구독할 수 있습니다. 주제를 생성하고 나면 주제 소유자는 메시지를 게시하거나 알림을 구독할 수 있는 대상을 제한하고, 어떤 알림 프로토콜(예: HTTP/HTTPS, 이메일, SMS)을 지원할지 지정하는 등의 정책을 설정할 수 있습니다. 구독자는 관심 있는 주제의 알림을 받고 싶어하는 고객으로 주제를 직접 구독하거나 주제 소유자가 구독을 설정해 줄 수 있습니다. 구독자는 수신할 알림의 프로토콜과 엔드포인트(URL, 이메일 주소 등)을 지정합니다. 구독자에게 알려줄 정보나 업데이트가 있을 때 게시자가 해당 주제에 메시지를 게시하면 Amazon SNS가 그 즉시 모든 구독자에게 메시지를 전송합니다.
Q: Amazon SNS는 Amazon SQS와 어떻게 다릅니까?
Amazon SQS와 Amazon SNS는 둘 다 AWS 내 메시징 서비스로, 개발자들에게 서로 다른 이점을 제공합니다. Amazon SNS를 사용하면 애플리케이션에서 정기적으로 업데이트를 확인하거나 '폴링'할 필요 없이 '푸시' 메커니즘을 통해 다수의 구독자에게 시간이 관건인 메시지를 보낼 수 있습니다. Amazon SQS는 분산 애플리케이션에서 폴링 모델을 통해 메시지를 교환하는 데 사용되는 메시지 대기열 서비스입니다. 이 서비스를 통해 송신 구성 요소와 수신 구성 요소를 분리할 수 있습니다. Amazon SQS는 애플리케이션의 분산 구성 요소가 모든 구성 요소를 동시에 사용하지 않고도 메시지를 보내고 받을 수 있는 유연성을 제공합니다.
SNS를 사용하는 일반적인 패턴은 메시지를 Amazon SQS 대기열로 게시하여 비동기식으로 하나 이상의 시스템 구성 요소로 안정적으로 전송하는 것입니다.
Q: Amazon SNS는 Amazon MQ와 어떻게 다릅니까?
Amazon MQ, Amazon SQS 및 Amazon SNS는 신생 기업부터 중견 기업까지 모든 기업에 적합한 메시징 서비스입니다. 쉽고 빠르게 기존에 사용 중인 메시징 애플리케이션에서 클라우드로 이동하고 싶다면, Amazon MQ를 추천합니다. Amazon MQ는 업계 표준 API와 프로토콜을 지원하므로 애플리케이션의 메시징 코드를 다시 작성하지 않고 어떤 표준 메시지 브로커라도 Amazon MQ로 전환할 수 있습니다. 클라우드에 새로운 애플리케이션을 구축하고 있다면 Amazon SQS 및 Amazon SNS를 고려해 보십시오. Amazon SQS 및 SNS는 가벼운 완전 관리형 메시지 대기열 및 주제 서비스로, 간단하고 사용이 쉬운 API를 제공하며 거의 무한히 확장됩니다. Amazon SQS 및 SNS를 사용하여 마이크로 서비스와 분산 시스템, 서버리스 애플리케이션을 분리 및 확장하고 안정성을 개선할 수 있습니다.
Q: Amazon SNS를 시작하려면 어떻게 해야 합니까?
Amazon SNS에 가입하려면 Amazon SNS 세부 정보 페이지의 [Sign up for Amazon SNS] 버튼을 클릭합니다. 이 서비스에 액세스하려면 Amazon Web Services 계정이 있어야 합니다. 아직 계정이 없는 경우 Amazon SNS 가입 프로세스를 시작하면 계정을 생성하라는 메시지가 표시됩니다. 가입한 후에는 Amazon SNS 사용법에 관한 Amazon SNS 설명서와 시작 안내서를 살펴 보십시오. AWS Management Console을 사용하면 브라우저에서 바로 쉽게 주제를 생성하고, 구독자를 추가하고, 알림을 전송하고, 주제 정책을 편집할 수 있습니다.
Q: Amazon SNS는 AWS Management Console에서 지원됩니까?
Amazon SNS는 AWS Management Console에서 지원됩니다. 포인트 앤 클릭 방식의 웹 기반 인터페이스에서 Amazon SNS에 쉽게 액세스하고 관리할 수 있습니다. AWS Management Console을 사용하면 브라우저에서 바로 쉽게 주제를 생성하고, 구독자를 추가하고, 알림을 전송할 수 있습니다. 또한, AWS Management Console을 사용하면 손쉽게 원하는 엔드포인트(HTTP, SQS, Lambda, 모바일 푸시 또는 SMS)에 메시지를 게시하고, 주제 정책을 수정하여 게시자와 구독자 액세스를 제어할 수 있습니다.
Q: 각 리전의 Amazon SNS 서비스 액세스 포인트 어디입니까?
전체 Amazon SNS 서비스 액세스 포인트가 명시된 최신 목록은 AWS 설명서에서 AWS 리전 및 엔드포인트 섹션을 참조하십시오.
Q: 보안 분석 및 운영 문제 해결 목적으로 내 계정에서 이루어진 모든 SNS API 호출 기록을 얻을 수 있습니까?
예. SNS는 계정에 대한 AWS API 호출을 기록하고 로그 파일을 사용자에게 전달하는 웹 서비스인 AWS CloudTrail을 지원합니다. CloudTrail을 사용하면 API 호출자 ID, API 호출 시간, API 호출자의 원본 IP 주소, 요청 파라미터, SNS를 통해 반환되는 응답 요소 같은 정보의 기록을 가져올 수 있습니다.
SNS는 현재 인증된 호출에 대해서만 CloudTrail 감사를 지원합니다. 인증되지 않은 ConfirmSubscription 및 Unsubscribe 호출에 대한 CloudTrail Audit 로그는 현재 사용할 수 없습니다. 자세한 내용은 SNS 개발자 안내서의 CloudTrail 섹션을 참조하십시오.
계정에서 이루어진 SNS API 호출 기록을 수신하려면 AWS Management Console에서 AWS CloudTrail을 설정하면 됩니다. AWS CloudTrail에 대한 자세한 내용을 보려면 여기를 클릭하십시오.
결제
Q: Amazon SNS의 사용료는 얼마입니까?
Amazon SNS에는 최소 요금이 없고, 사용한 만큼만 지불하면 됩니다. Amazon SNS 요청 100만 건당 0.50 USD, HTTP를 통한 알림 전송 10만 건당 0.06 USD, 이메일을 통한 알림 전송 10만 건당 2.00 USD의 요금을 지불합니다. SMS 메시징의 경우 대상 국가별로 요금이 달라집니다.
또한, Amazon SNS는 프리 티어에 포함되므로 이 경우 사용자가 Amazon SNS를 무료로 시작할 수 있습니다. 매월 Amazon SNS 고객은 Amazon SNS 요청 처음 100만 건, HTTP를 통한 알림 전송 처음 10만 건, 그리고 이메일을 통한 알림 전송 처음 1,000건까지는 무료입니다.
자세한 요금 정보와 데이터 전송 요금은 Amazon SNS 기능 페이지를 참조하세요.
Q: Amazon SNS의 사용료는 어떻게 과금 및 청구됩니까?
서비스를 시작하는 데 드는 설정 수수료가 없습니다. 월말에 사용자의 신용 카드에서 월 사용액이 자동으로 결제됩니다. Amazon Web Services 계정에 로그인한 다음 “웹 서비스 계정” 아래의 “계정 활동”을 클릭하면 Amazon Web Services 웹 사이트에서 언제든지 현재 청구 기간의 청구액을 볼 수 있습니다.
Q: Amazon SNS 시스템은 언제부터 언제까지 사용한 요금이 청구됩니까?
Amazon SNS 청구 주기는 매월 첫 번째 날부터 마지막 날까지입니다. 월 사용액은 매월 말 합산됩니다.
Q: 요금에 세금이 포함되어 있습니까?
명시된 경우를 제외하고 요금에는 VAT 및 해당 판매세를 비롯한 관련 조세 공과가 포함되지 않습니다. 청구지 주소가 일본으로 되어 있는 고객의 경우 AWS 서비스 사용 시 일본 소비세의 적용을 받게 됩니다. 자세히 알아보기.
특징과 기능
Q: Amazon SNS 주제는 어떤 형식입니까?
주제 이름은 256자까지 정할 수 있습니다. 문자, 숫자, 하이픈(-)과 밑줄(_)을 사용할 수 있습니다. 주제 이름은 AWS 계정 내에서 고유해야 합니다. 주제를 삭제하고 나면 그 주제 이름을 다시 사용해도 됩니다. 주제가 생성되면 Amazon SNS가 고유한 ARN(Amazon 리소스 이름)을 주제에 할당합니다. ARN에는 서비스 이름(즉, SNS), 리전, 사용자의 AWS ID와 주제 이름이 포함됩니다. ARN은 주제 생성을 위한 API 호출의 결과로 반환됩니다. 게시자나 구독자 모두 주제에 대해 어떤 작업을 수행하려면 고유한 주제 ARN을 참조해야 합니다.
다음은 AWS 계정 ID가 “123456789012”이고 미국 동부 리전에서 호스팅되는 사용자가 생성한 "mytopic"이란 주제의 ARN입니다.
arn:aws:sns:us-east-1:1234567890123456:mytopic 참고: 사용자는 자신이 임의로 주제 ARN을 생성하려고 하면 안됩니다. 항상 주제 생성을 위한 API 호출의 결과로 반환된 이름을 사용해야 합니다.
Q: Amazon SNS에서 실행할 수 있는 작업은 어떤 것이고, 누가 실행할 수 있습니까?
Amazon SNS에는 주제 소유자, 구독자, 게시자를 위해 이벤트 알림을 활성화할 수 있는 간편한 API 세트가 있습니다.
소유자 작업:
- CreateTopic – 새 주제를 생성합니다.
- DeleteTopic – 이전에 생성한 주제를 삭제합니다.
- ListTopics – 특정 사용자(AWS ID)가 소유한 주제를 나열합니다.
- ListSubscriptionsByTopic – 특정 주제의 구독 내역을 나열합니다.
- SetTopicAttributes – 게시자/구독자 권한 설정 및 수정, 지원 프로토콜 등의 주제 속성을 설정/수정합니다.
- GetTopicAttributes – 주제의 기존 속성을 검색/확인합니다.
- AddPermission – 선택한 사용자에게 특정 작업 관련 권한을 부여합니다.
- RemovePermission – 선택한 사용자의 특정 작업 관련 권한을 제거합니다.
구독자 작업:
- Subscribe – 특정 주제를 새로 구독하고, Amazon SNS의 확인 메시지를 수신합니다.
- ConfirmSubscription – 구독 확인 메시지에 응답해 구독 요청을 확인하고 구독한 주제의 알림을 수신합니다.
- UnSubscribe – 이전에 등록한 구독을 취소합니다.
- ListSubscriptions – 특정 사용자(AWS ID)가 등록한 구독 내역을 나열합니다.
게시자 작업:
- Publish – 주제에 새 메시지를 게시합니다.
Q: 구독 내역을 나열하는 API가 두 가지인 이유는 무엇입니까?
구독 내역을 나열하는 각각의 API는 서로 다른 기능을 수행하며 서로 다른 결과를 반환합니다.
- ListSubscriptionsByTopic API는 주제 소유자에게 주제를 활성 구독한 모든 구독자 목록을 보여줍니다.
- ListSubscriptions API는 사용자에게 자신이 하나 이상의 주제에 대해 등록해둔 모든 활성 구독 목록을 보여줍니다.
Q: 알림을 수신하기 위한 다른 전송 형식/전송은 무엇입니까?
"SQS" – 사용자가 SQS 표준 또는 FIFO 대기열을 엔드포인트로 지정할 수 있습니다. Amazon SNS가 지정된 대기열로 알림 메시지를 보내면 구독자는 ReceiveMessage, DeleteMessage 등의 SQS API로 메시지를 처리할 수 있습니다.
- "HTTP", "HTTPS" – 구독자가 구독 등록 중에 URL을 지정합니다. 알림은 HTTP POST를 통해 지정된 URL로 전달됩니다.
- ”Email”, “Email-JSON” – 등록된 주소로 이메일 메시지가 전송됩니다. Email-JSON은 알림을 JSON 객체로 전송하고, Email은 텍스트 기반 이메일로 전송합니다.
- "SQS" – 사용자가 SQS 표준 대기열을 엔드포인트로 지정할 수 있습니다. Amazon SNS가 지정된 대기열로 알림 메시지를 보내면 구독자는 ReceiveMessage, DeleteMessage 등의 SQS API로 메시지를 처리할 수 있습니다.
- "SMS" – 메시지가 등록된 전화번호에 SMS 문자 메시지로 전송됩니다.
Q: 주제 소유자는 직접 만들거나 소유한 주제에 대해 어떤 프로토콜을 허용할지 제어할 수 있습니까?
주제 소유자는 액세스 제어 정책을 통해 적절한 권한을 설정하여 주제에 대한 전송 프로토콜을 구성할 수 있습니다.
Q: 주제 소유자는 액세스 제어 정책을 어떻게 설정합니까?
액세스 제어 정책 설정에 관한 개요는 Amazon SNS Getting Started Guide를 참조하십시오.
Q: 단일 주제에서 여러 전송 프로토콜을 통한 구독을 지원합니까?
Amazon SNS 주제 구독자는 주제에서 지원하는 모든 프로토콜을 통해 알림을 수신할 수 있습니다. 하나의 주제에 여러 프로토콜을 통한 구독과 알림 전송이 지원됩니다.
Q: 구독자가 주제에 게시된 메시지 중 원하는 하위 집합만 선택적으로 수신할 수 있습니까?
예. Amazon Simple Notification Service(SNS)의 메시지 필터링 기능을 사용하여 좀 더 간단하고 간소화된 게시/구독 아키텍처를 구축할 수 있습니다. 메시지 필터링을 사용하면 Amazon SNS 주제 구독자는 주제에 게시된 모든 메시지를 수신하는 대신, 원하는 메시지의 하위 집합만 선택적으로 수신할 수 있습니다. SNS 구독 필터 정책 사용을 모니터링하려면 자동으로 수집되는 Amazon CloudWatch 지표를 사용하십시오. 또한, AWS CloudFormation 템플릿에서 AWS::SNS::Subscription 리소스 유형을 사용하여 SNS 메시지 필터링을 사용하는 솔루션을 신속하게 배포할 수 있습니다. 자세한 내용은 주제에 게시된 메시지 필터링 10분 자습서 또는 설명서에서 Amazon SNS에서 메시지 필터링 섹션을 참조하세요.
Q: Amazon SNS를 다른 AWS 서비스와 함께 사용할 수 있습니까?
Amazon SNS는 Amazon SQS, Amazon EC2 및 Amazon S3 같은 다른 AWS 서비스와 함께 사용할 수 있습니다. 주문 처리 워크플로 시스템이 Amazon SNS를 Amazon EC2, SQS 및 SimpleDB와 함께 사용하는 예를 들어보겠습니다. 이 워크플로 시스템에서는 트랜잭션이 발생할 때마다 또는 주문이 주문 처리 파이프라인의 각 단계를 거칠 때마다 애플리케이션 구성 요소 간에 메시지가 전송됩니다. 고객이 처음 발주를 하면 이 트랜잭션이 Amazon SimpleDB에 우선 기록되고, Amazon EC2에서 실행되는 애플리케이션이 주문 요청을 결제 프로세서로 전달해 고객의 신용카드나 은행 계좌로 청구하게 됩니다. 주문 승인이 이루어지면 주문 확인 메시지가 Amazon SNS 주제에 게시됩니다. 이 예에서는 다양한 구독자(판매업체, 고객 및 공급망 파트너)가 Email/HTTP를 통해 주제를 구독하고 있고, Amazon SNS가 모든 구독자에게 알림을 보내 결제 처리가 성공적으로 완료됐다는 것을 바로 알려줍니다. 알림을 사용하여 EC2에서 실행되는 주문 처리 시스템을 조작할 수도 있습니다. 즉, HTTP를 통해 알림을 보내 재고 시스템이나 운송 서비스 같은 관련 구성 요소가 작업을 실시간으로 처리하도록 할 수 있습니다. Amazon SNS를 Amazon SQS와 통합하면 전송한 모든 알림이 이후에 감사 애플리케이션에서 처리할 수 있도록 Amazon SQS 대기열에 보관됩니다.
Q: Amazon SNS는 AWS 서비스가 지원되는 모든 리전에서 사용할 수 있습니까?
Amazon SNS 가용성에 대한 최신 정보는 AWS 설명서에서 AWS 리전 및 엔드포인트 섹션을 참조하십시오.
Q: 고객이 이전에 사용한 주제 이름으로 주제를 다시 만들려면 기간이 얼마나 지나야 합니까?
주제 이름은 이전에 같은 이름을 썼던 주제를 삭제하고 약 30~60초 정도 지나면 다시 사용할 수 있습니다. 정확한 시간은 주제에 등록된 구독 수에 따라 달라집니다. 구독자가 적으면 거의 즉시 다시 사용할 수 있지만 구독자가 많으면 시간이 좀 더 걸립니다.
FIFO 주제
Q: SNS FIFO 주제란 무엇인가요?
표준 SNS 주제와 마찬가지로, SNS FIFO 주제를 통해 사용자는 주제에 메시지를 게시할 수 있고, 이를 메시지를 구독하는 일련의 엔드포인트로 전달할 수 있습니다. 구독자에게 이러한 메시지를 순서(선입선출)대로 1회만 전달해야 하고 SNS에서 이를 처리하려는 경우 SNS FIFO 주제가 적합합니다. Amazon SNS FIFO 주제는 순서가 지정된 메시지를 Amazon Simple Queue Service(Amazon SQS) FIFO 대기열에 전달하여 분산 애플리케이션에 대한 일관된 포괄적인 메시지 순서 지정을 제공할 수 있습니다. 이제 높은 처리량과 일관된 순서의 트랜잭션을 처리하고 메시징 아키텍처를 간소화하는 데 필요한 작업을 줄일 수 있습니다. 엄격한 주문이 필요하지 않은 경우, Amazon FIFO 주제는 Amazon SQS 표준 대기열에 메시지를 전송하여 애플리케이션을 설계하는 방법에 유연성을 제공할 수도 있습니다. 사용 사례의 예로는 은행 거래 로그, 주식 시세 표시기, 항공편 추적기, 가격 업데이트, 뉴스 브로드캐스팅, 인벤토리 관리 등이 있습니다.
Q: 언제 SNS FIFO 주제를 사용하고 언제 Kinesis Data Streams를 사용해야 합니까?
SNS FIFO 주제와 Kinesis Streams 모두에서 엄격한 순서의 다대다 메시징을 요구하는 애플리케이션을 구축할 수 있습니다. SNS FIFO 주제는 추가적으로 최대 100명의 구독자에 대한 순서 지정된 대량의 팬아웃을 요구하는 애플리케이션 통합 사용 사례를 지원할 수 있습니다. 반면, Kinesis Streams는 최대 5명의 구독자에 대한 순서 지정된 팬아웃을 지정하며, 분석 및 이상 탐지 사용 사례에서 종종 사용됩니다.
프로토콜
Q: 사용자가 이메일로 전달되는 알림을 구독하려면 어떻게 해야 합니까?
특정 주제에 대해 이메일 알림을 수신하려면 구독자는 “Email” 또는 “Email-JSON”을 프로토콜로 지정하고, 유효한 이메일 주소를 엔드포인트로 설정해야 합니다. AWS Management Console을 이용하거나 Amazon SNS API를 호출해 바로 설정하면 됩니다. 그러면 Amazon SNS가 지정한 이메일 주소로 확인 링크가 포함된 이메일을 보내고, 사용자는 이메일 주소를 확인하고 해당 주제에 관한 이메일 알림을 수신할지 명시적으로 옵트인하면 됩니다. 사용자가 이메일에 포함된 링크를 클릭해 구독을 확인하면 주제에 게시되는 모든 메시지가 해당 이메일 주소로 전송됩니다.
Q: Amazon SNS가 이메일 알림 수신을 위해 두 가지 프로토콜을 지원하는 이유는 무엇입니까?
고객/최종 사용자가 두 가지 유형으로 뚜렷하게 구분되기 때문에 이메일 전송 프로토콜도 두 가지가 지원됩니다. “Email-JSON”은 알림을 JSON 객체로 전송하기 때문에 애플리케이션이 이메일을 프로그래밍 방식으로 처리하게 됩니다. ”Email” 프로토콜은 최종 사용자/소비자용으로 알림이 읽기 쉬운 일반 텍스트 기반의 메시지로 전송됩니다.
Q: 사용자가 Email/Email-JSON을 통해 전송되는 알림의 제목과 표시 이름을 변경할 수 있습니까?
Amazon SNS에서는 사용자가 이메일 제목 필드를 Publish API 호출로 전달되는 파라미터로 지정할 수 있는데, 이 파라미터는 게시되는 모든 메시지마다 다를 수 있습니다. 주제의 표시 이름은 SetTopicAttributes API를 사용해 설정할 수 있으며, 이 이름은 해당 주제에서 전송되는 모든 이메일에 적용됩니다.
Q: 구독자는 Amazon SNS의 알림을 수신하기 위해 이메일 설정을 따로 구성해야 합니까?
대개 사용자는 별다른 작업 없이 Amazon SNS의 구독 확인 메시지와 알림을 받을 수 있습니다. 하지만 이메일 공급자의 기본 설정이나 기타 사용자 구성에 따라 이메일이 정크나 스팸 폴더로 잘못 전달되기도 합니다. Amazon SNS의 확인 메시지와 알림을 이상 없이 받아 보려면 “no-reply@sns.amazonaws.com”을 주소록에 추가하고 Amazon SNS의 메시지가 정크나 스팸 폴더에 없는지 확인하는 것이 좋습니다.
Q: SQS 대기열을 엔드포인트로 전달한 경우 사용자는 구독 전에 대기열을 생성해야 합니까? 대기열에 어떤 권한이 필요합니까?
SQS 콘솔을 사용하여 주제를 구독하기 전에 SQS 대기열을 생성해야 합니다. 콘솔에서 생성한 대기열을 선택한 후, 메뉴바의 'Queue Actions' 드롭다운 목록에서 'Subscribe Queue to SNS Topic'을 선택합니다. 구독 대화 상자의 ‘Choose a Topic’ 드롭다운 목록에서 주제를 선택한 후 ‘Subscribe’ 버튼을 클릭합니다. 단계별 전체 지침은 Amazon SNS 설명서를 참조하십시오.
Q: 개발자는 Amazon SNS 알림을 수신하기 위해 Amazon SQS 대기열을 어떻게 설정해야 합니까?
Amazon SNS가 알림을 SQS 대기열로 전송하도록 하려면 개발자는 주제를 구독할 때 “SQS”를 전송 프로토콜로 지정하고 유효한 SQS 표준 대기열을 엔드포인트로 지정해야 합니다. SQS 대기열에 Amazon SNS의 알림이 수신되도록 하려면 SQS 대기열 소유자는 메시지가 성공적으로 대기열에 전달되도록 해당 SQS 대기열에 Amazon SNS에 대한 주제를 구독해야 합니다.
사용자가 구독 대상인 Amazon SNS 주제와 알림을 수신하는 SQS 대기열을 모두 소유하고 있다면 추가로 필요한 작업은 없습니다. 주제에 게시되는 모든 메시지는 지정한 SQS 대기열로 자동 전송됩니다. 사용자가 SQS 대기열은 소유하고 있지만 주제 소유자는 아닌 경우에는 구독 요청에 대한 명시적인 확인이 필요합니다.
SQS 대기열에 주제를 구독하고 SQS 대기열의 액세스 제어 정책을 설정하는 자세한 방법은 Amazon SNS 설명서를 참조하십시오.
Q: 동일한 메시지를 여러 SQS 대기열로 보내려면 어떻게 합니까?
SNS를 이용하여 먼저 SNS 주제를 생성합니다. 그런 다음 여러 SQS 표준 대기열을 생성하고 SNS 주제를 구독합니다. 이제 SNS 주제로 메시지가 전송될 때마다 메시지는 SQS 대기열로 보내집니다. 즉, SNS가 주제를 구독하고 있는 모든 SQS 대기열로 메시지를 전송하게 됩니다.
Q: Amazon SNS에서 전송하는 구조적 알림 메시지의 형식은 무엇입니까?
Amazon SNS에서 HTTP, HTTPS, Email-JSON 및 SQS 전송 프로토콜을 통해 전송하는 알림 메시지는 다음 정보를 담고 있는 간단한 JSON 객체로 구성되어 있습니다.
- MessageId: 범용 고유 식별자(Universally Unique Identifier)로 게시되는 각 알림마다 고유합니다.
- Timestamp: 알림이 게시된 시간(GMT)입니다.
- TopicArn: 메시지가 게시된 주제입니다.
- Type: 전송 메시지의 유형으로, 알림 메시지의 경우 “Notification”으로 설정됩니다.
- UnsubscribeURL: 이 주제에서 엔드포인트를 구독 취소해 앞으로 알림을 받지 않도록 하는 링크입니다.
- Message: 게시자로부터 수신하는 메시지의 페이로드(본문)입니다.
- Subject: 제목 필드입니다. 이 정보는 제목 필드가 메시지와 함께 Publish API 호출로 전달되는 옵션 파라미터로 포함된 경우 나타납니다.
- Signature: Message, MessageId, Subject(있는 경우), Type, Timestamp, Topic 값을 가진 Base64 인코딩 “SHA1withRSA” 서명입니다.
- SignatureVersion: 사용한 Amazon SNS 서명의 버전입니다.
“Email” 프로토콜을 통해 전송되는 알림 메시지에는 게시자로부터 수신한 페이로드(메시지 본문)만 그대로 포함됩니다.
Q: 사용자가 SMS를 통해 전달되는 알림을 구독하려면 어떻게 해야 합니까?
아래의 'SMS 관련 질문' 섹션을 참조하십시오.
보안
Q: 내 주제에 대해 전송되는 메시지의 보안을 어떻게 보장할 수 있습니까?
Amazon SNS의 모든 API 호출은 사용자의 AWS ID와 서명으로 검증합니다. 당사의 안전한 SSL 엔드포인트에 연결하여 데이터를 안전하게 전송하도록 권합니다.
Q: 누가 주제를 생성할 수 있습니까?
주제는 Amazon SNS에 가입하여 유효한 AWS ID를 소유한 사용자만 생성할 수 있습니다. 가장 쉬운 방법은 AWS Management Console을 이용하는 것입니다. CreateTopic API를 통해 생성해도 됩니다. AWS Management Console은 http://aws.amazon.com/console에서 이용할 수 있습니다.
Q: 여러 사용자가 하나의 주제를 게시할 수 있습니까?
주제 소유자는 유효한 AWS ID를 갖고 있는 여러 사용자가 주제에 게시할 수 있도록 명시적인 권한을 설정할 수 있습니다. 기본적으로는 주제 소유자만 게시 권한을 가집니다.
Q: 소유자는 주제 게시 또는 구독 권한을 어떻게 부여/삭제할 수 있습니까?
개발자는 AddPermission과 RemovePermission API를 이용하여 주제 관련 권한을 쉽게 추가하거나 제거할 수 있습니다. 하지만 조건에 따른 액세스와 보다 세밀한 사용이 필요한 경우에는 사용자가 액세스 제어 정책을 통해 권한을 관리해야 합니다. 권한을 관리하는 가장 쉬운 방법은 AWS Management Console을 사용하는 것입니다. AWS Management Console은 http://aws.amazon.com/console에서 이용할 수 있습니다.
Q: 주제 소유자는 구독자에게 액세스 권한을 어떻게 줄 수 있습니까? 구독자도 유효한 AWS ID가 있어야 합니까?
Amazon SNS에서는 AWS ID가 없는 사용자도 알림을 받을 수 있습니다. 주제 소유자는 액세스 제어 정책을 통해 주제에 권한을 설정하여 구독자에게 액세스 권한을 부여하거나 제한할 수 있습니다. 사용자는 두 가지 방법으로 Amazon SNS의 알림을 받을 수 있습니다.
- AWS ID가 있는 사용자: 유효한 AWS ID(AWS ID 획득에 관한 자세한 내용은 이 링크 참조)가 있는 구독자는 주제 소유자가 권한을 부여한 상황이라면 모든 주제를 직접 구독할 수 있습니다. AWS ID는 구독 등록 시 검증됩니다.
- 기타 사용자: AWS ID가 없는 사용자를 위해 주제 소유자가 엔드포인트를 대신 구독 및 등록해 줄 수 있습니다.
두 가지 경우 모두, 구독 엔드포인트 소유자가 Amazon SNS의 확인 메시지에 응답함으로써 구독을 명시적으로 옵트인 및 확인해 주어야 합니다.
Q: Amazon SNS는 API 호출을 어떻게 인증합니까?
Amazon SNS의 모든 API 호출은 AWS ID 계정의 비밀 키로 요청에 서명을 하도록 요구하고, 요청에 포함된 이 서명을 검증함으로써 신뢰성을 인증합니다.
Q: Amazon SNS는 구독 요청을 어떻게 확인해 알림이 스팸으로 전송되지 않도록 합니까?
구독 등록 시 Amazon SNS는 알림이 유효한 등록 구독자/엔드포인트로만 전송되도록 합니다. 스팸으로 걸러지는 일을 방지하고 구독자 엔드포인트가 실제로 해당 주제의 알림 수신을 원하는지 확인하기 위해 Amazon SNS는 2단계 방법을 통해 구독자의 명시적인 옵트인을 요구합니다.
i. 사용자가 먼저 Subscribe API를 호출하고 엔드포인트를 구독하면 Amazon SNS가 지정된 엔드포인트로 확인 메시지를 전송합니다.
ii. 엔드포인트에서 확인 메시지를 수신하면 구독자는 유효한 응답을 보내 구독 요청을 확인해야 합니다. 그런 다음에야 Amazon SNS가 이 구독 요청을 유효한 것으로 간주합니다. 아무 응답이 없으면 Amazon SNS는 해당 엔드포인트로 알림을 전송하지 않습니다. 정확한 구독 확인 메커니즘은 어떤 전송 프로토콜을 선택하는지에 따라 달라집니다.
- HTTP/HTTPS 알림의 경우, Amazon SNS가 먼저 지정된 URL로 토큰이 포함된 확인 메시지를 포스팅합니다. 그러면 URL을 모니터링하는 애플리케이션이 포함된 토큰을 이용해 ConfirmSubscription API를 호출해야 합니다.
- Email 및 Email-JSON 알림의 경우, Amazon SNS가 지정된 주소로 링크가 포함된 이메일을 전송합니다. 그러면 사용자는 포함된 링크를 클릭해 구독 요청을 확인해야 합니다.
- SQS 알림의 경우, Amazon SNS가 지정된 대기열로 토큰이 포함된 메시지를 전송합니다. 그러면 대기열을 모니터링하는 애플리케이션이 토큰을 이용해 ConfirmSubscription API를 호출해야 합니다.
참고: 위에 설명한 명시적인 “옵트인” 단계는 자신이 소유한 Amazon SQS 대기열을 역시 자신이 소유한 Amazon SNS 주제에 대해 구독하는 경우에는 필요하지 않습니다. 여기서는 두 가지 모두 같은 AWS 계정으로 "소유"했다는 의미입니다.
Q: 확인을 위해 대기하는 동안 구독 요청은 얼마간 보류 상태로 유지되나요?
엔드포인트로 전송되는 구독 요청 확인 메시지에 포함된 토큰은 2일 동안 유효합니다.
Q: 주제에 대한 권한은 누가 변경할 수 있나요?
주제 관련 권한은 주제 소유자만 변경할 수 있습니다.
Q: 사용자는 알림 메시지가 Amazon SNS에서 전송되었다는 것을 어떻게 확인합니까?
알림의 신뢰성을 보장하기 위해 Amazon SNS는 비대칭 암호 보안 메커니즘(인증서 기반의 프라이빗-퍼블릭 키 쌍)을 사용해 전송되는 모든 알림 메시지에 서명을 합니다. Amazon SNS는 널리 알려진 위치(예: 미국 동부 리전의 경우 http://sns.us-east-1.amazonaws.com/SimpleNotificationService.pem)로 인증서를 발행하고, 해당 인증서의 개인 키로 메시지에 서명을 합니다. 개발자/애플리케이션은 이 인증서를 획득해 인증서의 개인 키로 알림 서명을 검증함으로써 알림이 Amazon SNS에서 전송된 것임을 확인합니다. 인증서 위치에 관한 자세한 내용은 Amazon SNS 세부 정보 페이지를 참조하십시오.
Q: 게시자도 메시지에 서명을 해야 합니까?
Amazon SNS에서는 AWS ID를 가진 게시자도 메시지 인증을 위해 자신의 비밀 AWS 키로 메시지에 서명을 해야 합니다. 그러면 이 서명을 Amazon SNS에서 검증합니다.
Q: 게시자/구독자가 메시지 보안을 위해 SSL을 사용할 수 있습니까?
예. 게시자와 구독자 모두 SSL을 사용해 메시지 송수신을 위한 채널의 보안을 확보할 수 있습니다. 게시자는 HTTPS를 통해 Amazon SNS에 접속하고, SSL 채널을 통해 메시지를 게시할 수 있고, 구독자는 구독 등록 시 SSL 지원 엔드포인트를 등록해야 하는데, 그렇게 해야 알림이 SSL 채널을 통해 엔드포인트로 전송됩니다.
Q: 구독자가 Amazon SNS를 통해 등록된 엔드포인트로 알림을 보내려면 어떤 권한이 필요합니까?
알림을 수신하는 엔드포인트 소유자가 해당 엔드포인트로 메시지를 전송할 수 있는 권한을 Amazon SNS에 부여해 주어야 합니다.
Q: 구독은 어떻게 취소할 수 있습니까?
주제 소유자, 구독 소유자 또는 다른 사용자가 구독을 취소할 수 있는데, 이는 구독 요청을 확인하는 메커니즘이 무엇인지에 따라 달라집니다.
- ConfirmSubscription API 호출에서 AuthenticateOnUnsubscribe 플래그가 True로 설정되어 있는 것이 확인된 구독은 주제 소유자나 구독 소유자가 구독을 취소할 수 있습니다.
- AuthenticateOnUnsubscribe 플래그가 True로 설정되어 있지 않고 익명으로 확인된 구독은 익명으로 구독을 취소할 수 있습니다.
구독 소유자가 취소한 경우를 제외한 모든 경우, 최종 취소 메시지가 엔드포인트로 전송되기 때문에 혹시라도 구독 취소 요청을 실수로 한 것이라면 엔드포인트 소유자는 주제를 쉽게 재구독할 수 있습니다. ConfirmSubscription API에 관한 자세한 내용은 Amazon SNS 설명서를 참조하십시오.
규정 준수
Q: Amazon SNS는 HIPAA 적격 서비스입니까?
예. AWS HIPAA 규정 준수 프로그램에 Amazon SNS가 HIPAA 적격 서비스로 포함되어 있습니다. AWS와 BAA(Business Associate Agreement)가 체결되어 있다면 이제 Amazon SNS를 사용하여 HIPAA 규정 준수 애플리케이션을 구축할 수 있습니다. BAA가 없거나 HIPAA 규정 준수 애플리케이션에서 AWS를 사용하는 방법에 대해 질문이 있는 경우 Amazon에 문의하여 자세히 알아보시기 바랍니다. Amazon SNS 모바일 푸시 알림 및 SMS 기능은 서비스의 HIPAA 적격 요건을 벗어나므로, PHI(개인 건강 정보)를 전송하기에 적합하지 않다는 점에 주의하십시오.
자세한 내용은 다음 리소스를 참조하십시오.
Amazon SNS가 해당 요건 범위에 포함되는 규정 준수 프로그램의 현재 목록을 보려면 규정 준수 프로그램 제공 AWS 범위 내 서비스를 확인하십시오.
Q: Amazon SNS는 그 외에 어떤 규정을 준수합니까?
SNS와 다른 AWS 서비스에 대한 최신 정보는 규정 준수 프로그램 제공 AWS 범위 내 서비스를 참조하십시오.
안정성
Q: Amazon SNS에 게시된 내 데이터의 내구성은 어느 정도입니까?
SNS는 수신하는 모든 메시지를 위한 안정적인 스토리지를 제공합니다. 게시 요청을 받으면 SNS는 보낸 사람에게 요청을 수신했음을 확인하기 전에 여러 가용 영역에 여러 사본 (디스크에)을 저장합니다. 각 AWS 리전은 가용 영역이라고 알려진 격리된 위치를 여러 개 가지고 있습니다. 만일 한 영역에서 오류가 발생해도 SNS의 작동과 메시지의 내구성이 중단없이 계속됩니다.
Q: 알림에 둘 이상의 메시지를 포함할 수 있습니까?
아니요. 모든 알림 메시지에는 게시 메시지가 하나만 포함됩니다.
Q: 구독자는 각 메시지를 몇 번 받게 됩니까?
대부분의 경우 각 메시지는 애플리케이션에 정확히 한 번만 전송되지만 Amazon SNS의 분산 기능과 일시적인 네트워크 상황에 따라 때로는 구독자에게 중복 메시지가 전송되기도 합니다. 개발자는 애플리케이션을 설계할 때 메시지 중복 수신으로 인해 오류나 불일치가 발생하지 않도록 해야 합니다.
Q: 메시지는 게시된 순서대로 전송됩니까?
Amazon SNS 서비스는 게시자가 주제에 게시한 메시지를 그 순서 그대로 전송합니다. 하지만 네트워크 문제로 인해 구독자에게 순서가 바뀌어 전송될 가능성도 없진 않습니다.
Q: 게시한 메시지를 삭제할 수 있습니까?
아니요. 일단 주제에 게시한 메시지는 취소할 수 없습니다.
Q: Amazon SNS에서는 메시지가 구독한 엔드포인트로 전달되도록 보장합니까?
예. 구독한 엔드포인트에 액세스할 수 있는 동안에는 보장됩니다. 클라이언트 측 또는 서버 측 오류 중 하나로 인해 Amazon SNS가 구독한 엔트포인트를 액세스할 수 없는 경우 메시지를 전달할 수 없습니다. 엔드포인트 소유자가 구독한 엔드포인트를 삭제하거나 Amazon SNS가 이 엔드포인트에 메시지를 전달하지 못하도록 액세스 권한이 변경된 경우 클라이언트 측 오류가 발생합니다. Amazon SQS 또는 AWS Lambda와 같이 구독한 엔드포인트를 지원하는 서비스를 사용할 수 없는 경우 서버 측 오류가 발생합니다. Amazon SNS가 클라이언트 측 오류를 수신하거나, 해당 재시도 정책에서 지정한 재시도 횟수를 초과하여 메시지에 대한 서버 측 오류를 계속 수신하는 경우 구독에 배달하지 못한 편지 대기열이 연결되어 있지 않는 한 메시지를 취소합니다. 자세한 내용은 메시지 전달 재시도 및 Amazon SNS 배달되지 못한 편지 대기열을 참조하십시오.
Q: 구독 엔드포인트를 사용할 수 없게 되는 경우 Amazon SNS 메시지는 어떻게 됩니까?
첫 번째 시도에서 메시지가 성공적으로 전달되지 못하는 경우, Amazon SNS에서 4단계 재시도 정책, 즉 1) 시도 간에 지연 시간 없이 재시도, 2) 시도 간에 최소한의 지연 시간을 두고 재시도, 3) 백오프 모델에 따라 재시도 및 4) 시도 간에 최대한의 지연 시간을 두고 재시도라는 정책을 실행합니다. 메시지 전달 재시도 정책이 소진되면 Amazon SNS에서 메시지를 배달되지 못한 편지 대기열(DLQ)로 이동시킬 수 있습니다. 자세한 내용은 메시지 전달 재시도 및 Amazon SNS 배달되지 못한 편지 대기열을 참조하십시오.
Worldwide SMS
Q: Worldwide SMS 기능의 특징은 무엇입니까?
Amazon SNS를 사용하여 200개 이상의 국가에 SMS(문자) 메시지를 전송할 수 있습니다. 단, 현지 법규에서 요구할 경우 수신자에게 SMS 메시지 전송에 대한 사전 승인을 받아야 합니다. Amazon SNS는 이제 AWS End User Messaging을 통해 SMS 메시지를 전송합니다. 그 밖에도 우발적인 비용 초과를 방지할 수 있도록 계정 및 메시지 수준의 지출 할당량을 설정할 수 있습니다.
Q: SMS 메시지를 거래용 또는 홍보용으로 표시해야 하는 경우는 언제입니까?
SMS 메시지의 내용과 의도를 기반으로 메시지를 거래용 또는 홍보용으로 표시해야 합니다. SMS에 대해 선택해야 하는 유형은 대상 국가의 통신 사업자 또는 규제 기관에서 제공하는 규정 또는 모범 사례 권장 사항에 따라 지정됩니다. 메시지 경로 및 올바른 SMS 메시지 유형에 대한 자세한 내용은 메시지 경로를 참조하세요.
Q: 오리진 ID란 무엇이며 Amazon SNS에서 지원하는 오리진 ID 유형은 무엇입니까?
휴대폰 번호로 SMS 메시지를 보내면 AWS 계정과 연결된 전화번호 또는 발신자 ID를 통해 발송됩니다. 이를 통틀어 오리진 ID라고 합니다. AWS는 단축 코드, 긴 코드, 10DLC, 발신자 ID를 비롯한 다양한 유형의 오리진 ID를 지원합니다. 오리진 ID를 요청 및 구매하려면 AWS End User Messaging 사용 가이드의 전화번호 요청을 참조하세요. SMS 워크로드의 모든 오리진 ID는 AWS End User Messaging에서 관리하며 Amazon SNS와 함께 SMS를 전송하는 데 사용할 수 있습니다. AWS End User Messaging 콘솔을 방문하면 계정에서 사용할 수 있는 오리진 ID 목록을 볼 수 있습니다. 자세히 알아보려면 SMS 개념을 참조하세요.
Q: SMS 메시지 전송 모범 사례는 어디에서 확인할 수 있습니까?
SMS 메시지를 보낼 때는 SMS 메시지를 보내려는 모든 대상 국가를 기반으로 하는 법률, 규정 및 이동통신사 요구 사항을 숙지하고 준수하는 것이 중요합니다. 자세한 내용은 SMS 모범 사례를 참조하세요.
Q: 계정 수준 및 메시지 수준의 지출 할당량이란 무엇이며 어떻게 작동합니까?
AWS 계정과 개별 메시지별로 지출 할당량을 지정할 수 있습니다. 이러한 할당량은 SMS 메시지의 전송 비용에만 적용됩니다.
계정 1개당 기본 지출 할당량(별도 지정하지 않는 경우)은 월 1.00 USD입니다. 할당량을 높이려면 SNS 할당량 증가 사례를 제출해야 합니다. [New quota value]에 원하는 월간 지출 할당량을 입력합니다. [Use Case Description] 필드에 SMS 월간 지출 할당량 증가를 요청한다는 내용을 입력합니다.
Amazon SNS는 사용자가 게시하는 SMS 메시지를 전송하지만 SMS 트래픽에서 발생하는 총비용은 해당 월의 지출 할당량을 초과하지 않습니다. 지출 할당량이 초과할 경우에는 사용자가 지출 할당량을 상향 조정하거나 새로운 월이 시작될 때까지 Amazon SNS에서 메시지 전송을 중단합니다. 마찬가지로 개별 메시지에 대해서도 지출 할당량을 지정할 수 있으며, Amazon SNS에서는 비용이 할당량을 넘지 않을 때만 메시지를 전송합니다. 메시지 수준의 지출 할당량 초과 여부와 상관없이 계정 수준의 지출 할당량을 초과하는 경우에는 Amazon SNS에서 SMS 메시지를 전송하지 않습니다.
Q: 양방향 SMS가 지원됩니까?
Amazon SNS는 AWS End User Messaging을 통해 양방향 SMS 기능을 지원합니다. 현지 규정에 따라 수신을 거부하는 경우를 제외하고 양방향 메시징을 활성화하려면 양방향 SMS 메시징을 참조하세요.
Q: SMS 메시지를 보내려면 먼저 SNS 주제에 전화번호를 등록해야 합니까?
이제는 메시지를 게시하기 위해 Amazon SNS 주제에 전화번호를 등록할 필요 없습니다. Amazon SNS 콘솔이나 Amazon SNS API의 게시 요청서를 사용해 메시지를 전화번호에 직접 게시할 수 있습니다.
Q: AWS가 구매용으로 단축 코드 또는 긴 코드를 제공합니까?
예. 전용 단축 코드, 긴 코드 및 기타 오리진 ID 유형을 예약할 수 있습니다. AWS End User Messaging 콘솔을 통해 오리진 ID를 요청할 수 있습니다. 자세한 내용은 전화번호 요청을 참조하세요.
Q: AWS에서는 구매용으로 긴 코드를 제공합니까?
예. 여기에 설명된 대로 Amazon SNS에서 사용할 긴 코드를 구매할 수 있습니다.
Q: SMS 알림은 특정 발신 번호에서 전송됩니까?
Amazon SNS는 계정에 구성된 대로 번호를 사용합니다. 전용 단축 코드를 먼저 사용한 후 전용 긴 코드 중 하나를 사용합니다. 전용 번호가 없는 경우 Amazon SNS는 공유 번호 세트를 사용하여 SMS 알림을 보냅니다. 공유 세트를 사용하는 경우 Amazon SNS는 특정 대상 전화번호로 메시지를 보낼 때 동일한 번호를 사용하려고 시도합니다. 이를 "고정 발신자 ID"라고 합니다. 그러나 네트워크 환경 및 가용 처리량 등 다양한 요인에 따라 다른 번호가 사용될 수 있습니다.
Amazon SNS에서 메시지를 보내는 데 사용하는 발신 ID를 제어하려면 전용 단축 코드 또는 전용 긴 코드를 예약하면 됩니다. 하나 이상의 번호를 예약함으로써 메시지의 출처가 귀사임을 수신자가 좀 더 쉽게 인식할 수 있습니다. 자세한 내용은 Amazon SNS 개발자 안내서에서 SMS 메시지 전송 전용 단축 코드 예약 또는 SMS 메시지 전송 전용 긴 코드 예약을 참조하십시오.
Q: Amazon SNS에서 Worldwide SMS 기능을 지원하는 국가는 어디입니까?
Amazon SNS는 현재 200곳 이상의 국가를 지원하고 있으며, 앞으로도 계속해서 늘려나갈 계획입니다. 지원되는 전송 국가의 전체 목록을 보려면 SMS 지원 국가 목록을 참조하십시오. 중국으로 전송하는 SMS 메시지의 경우 AWS에 문의하세요.
Q: Worldwide SMS를 지원하는 AWS 리전은 어디입니까?
Amazon SNS를 사용하여 SMS를 전송하는 애플리케이션을 호스팅할 수 있는 리전의 최신 목록은 Amazon SNS 설명서의 SNS 지원 리전 및 국가 페이지를 참조하세요.
Q: 다른 국가로 메시지를 전송하기 위한 전화번호 형식은 무엇입니까?
AWS는 '발신' 및 '수신'(있는 경우) 필드의 전화번호 모두 E.164 번호 형식 사용을 적극적으로 권장합니다. 지원되는 국가/지역의 전체 목록을 보려면 SMS 지원 국가/지역 목록을 참조하십시오.
Q: 전화 번호가 모바일인지, 일반 전화인지, 혹은 VoIP 번호인지 Amazon SNS에서 알 수 있습니까?
아니요. 현재 Amazon SNS에서는 전화 번호의 모바일, 일반 전화 또는 VoIP 여부를 감지하지 못합니다.
Q: SMS 메시지에 시간 기반 또는 예약 전송이 지원됩니까?
아니요. Amazon SNS는 현재 시간 기반 또는 예약 전송을 지원하지 않습니다.
Q: 내 SMS 메시지의 전송 상태를 추적하려면 어떻게 해야 합니까?
Amazon SNS에서 전송 상태 기능을 활성화하면 각 메시지에 대해 메시지 ID, 전송 시간, 수신 전화 번호, 처리, 처리 이유(있는 경우), 요금 및 유지 시간 등의 정보를 확인할 수 있습니다.
Q: MMS를 지원합니까?
아니요. 현재 Amazon SNS는 MMS 메시지를 지원하지 않습니다.
Q: Amazon SNS에서 SMS 메시지를 수신하는 비용은 얼마입니까?
SMS 메시지 수신 비용은 수신 측 무선/모바일 통신사의 데이터 및 메시징 플랜에 따라 다릅니다.
Q: 수신자가 AWS의 SMS 메시지 수신을 옵트아웃하려면 어떻게 해야 합니까?
수신자는 디바이스에서 다음 중 하나를 사용하여 메시지에 회신함으로써 옵트아웃할 수 있습니다.
- ARRET(프랑스어)
- CANCEL
- END
- OPT-OUT
- OPTOUT
- QUIT
- REMOVE
- STOP
- TD
- UNSUBSCRIBE
옵트아웃하려면 수신자는 Amazon SNS가 메시지를 전달하는 데 사용한 것과 같은 긴 코드 또는 짧은 코드를 사용하여 회신해야 합니다. 옵트아웃한 후 수신자는 전화번호를 옵트인하지 않는 한 AWS 계정에서 전송되는 SMS 메시지를 더 이상 수신하지 않습니다.
Q: 수신자 디바이스가 Global SMS 수신 거부를 선택하면 어떻게 알 수 있습니까?
SNS 콘솔에 사용자 계정에 대해 수신을 거부한 번호 목록이 표시됩니다. 또한 Amazon SNS API는 수신 거부한 전화 번호를 요청할 수 있도록 ListPhoneNumbersOptedOut을 제공합니다.
Q: 사용자가 수신 거부하면 SNS Topic에서도 해당 전화 번호가 자동으로 등록 해제됩니까?
아니요. 수신 거부한다고 해서 전화 번호가 Amazon SNS Topic에서 등록 해제되지는 않지만, 구독은 중단됩니다. 다시 말해서 전화 번호를 수신 허용으로 전환할 경우 Topic에 전화 번호를 재등록할 필요가 없습니다.
Q: 최종 사용자의 SMS 메시지 수신을 어떻게 확인할 수 있습니까?
전송 상태 기능을 사용하여 SMS 메시지의 최종 처리에 대한 정보를 확인할 수 있습니다. 이 기능과 사용 방법에 대한 자세한 내용은 설명서를 참조하십시오.
Q: Amazon SNS는 SMS 메시지에 대한 전송 영수증을 제공합니까?
전송 상태 기능에는 수신 통신사에서 발급되는 전송 영수증을 기준으로 정보가 표시됩니다. 전송 상태 기능과 사용 방법에 대한 자세한 내용은 설명서를 참조하십시오.
Q: SMS가 Google Voice 또는 Hangouts 같은 VoIP 서비스 전송을 지원합니까?
예. Amazon SNS는 SMS 메시지를 수신할 수 있는 VoIP 서비스 전송을 지원합니다.
SMS 요금
Q: SMS 메시지 전송 비용은 얼마입니까?
Amazon SNS API를 통해 SMS 메시지를 보내는 경우 SNS로 보내는 요청 백만 건당 0.5 USD의 요금이 부과됩니다. 또한 각 SMS에 대해 SMS 메시지 전송 요금을 지불하며, 이는 수신자의 국가, 사용된 경로 유형, 수신자의 이동통신사 및 기타 요인에 따라 달라집니다. SMS 메시지 전송 비용에 대한 자세한 내용은 AWS End User Messaging 요금 페이지를 확인하세요.
Q: SMS 메시지가 배달되지 않는 경우 요금이 청구됩니까?
수신 통신사가 잘못된 전화번호로 메시지를 전송하려고 했다고 보고할 경우 실패한 전송이라고 해도 비용이 청구될 수 있습니다. 전화번호가 존재하지 않거나 수령인의 계좌가 충분하지 않거나 수신지 번호가 유선 전화번호인 경우와 같이 여러 가지 이유로 전화번호가 유효하지 않을 수 있습니다. SMS 장애 시 요금이 청구되는 다른 시나리오도 있습니다.
Q: 메시지의 길이가 내가 지불하는 요금에 영향을 주나요?
예. 단일 SMS 메시지는 최대 140 바이트의 정보를 포함 할 수 있습니다. 140 바이트를 초과하는 메시지가 있으면 Amazon SNS가이를 자동으로 여러 메시지로 분할합니다. Amazon SNS가 긴 메시지를 여러 개의 작은 메시지로 분할하면 각 메시지마다 비용을 지불하게 됩니다.
단일 메시지의 최대 문자 수는 문자 인코딩 방법에 따라 다릅니다. GSM-7 (GSM 03.38이라고도 함) 인코딩을 사용하여 인코딩 된 문자가 포함 된 메시지는 160자를 포함 할 수 있습니다. ASCII 인코딩을 사용하는 메시지에는 최대 140 자까지 입력 할 수 있습니다. UCS-2 인코딩을 사용하는 메시지에는 최대 70 자까지 입력 할 수 있습니다. Amazon SNS를 사용하여 SMS 메시지를 보내면 해당 메시지의 모든 문자를 지원하는 가장 간단한 인코딩이 자동으로 선택됩니다.
SMS 메시지 보내기에 대한 자세한 내용은 Amazon Simple Notification Service 개발자 안내서에서 SMS 메시지 전송 섹션을 참조하십시오.
Q: SMS 메시지를 보내는 데 사용할 수 있는 AWS 프리 티어 지원이 있나요?
아니요.
할당량 및 제한
Q: 주제 수 또는 주제당 구독자 수에 할당량이 있습니까?
기본적으로 SNS는 주제당 구독 1,000만 건 및 계정당 주제 10만 건을 제공합니다. 더 높은 할당량을 요청하려면 Support에 문의해 주십시오.
Q: 메시지에 포함할 수 있는 데이터의 용량과 형식은 어떻게 됩니까?
SMS 메시지를 제외하고 Amazon SNS 메시지는 XML, JSON 및 서식 없는 텍스트를 비롯하여 최대 256KB의 텍스트 데이터를 포함할 수 있습니다.
다음 Unicode 문자를 사용할 수 있습니다.
#x9 | #xA | #xD | [#x20 ~ #xD7FF] | [#xE000 ~ #xFFFD] | [#x10000 ~ #x10FFFF]
(http://www.w3.org/TR/REC-xml/#charsets 기준).
게시된 데이터 64KB 청크당 1개의 요청으로 청구됩니다. 예를 들어, 256KB 페이로드를 사용하는 단일 API 호출은 4개의 요청으로 청구됩니다.
SMS 메시지
각 SMS 메시지는 최대 140바이트를 포함할 수 있으며, 문자 제한은 인코딩 구성표를 따릅니다. 예를 들어 SMS 메시지는 다음 문자를 포함할 수 있습니다.
- GSM 160자
- ASCII 140자
- UCS-2 70자
크기 제한을 초과하는 메시지를 게시하는 경우 Amazon SNS에서는 크기 제한에 맞춰 여러 개의 메시지로 전송합니다. 메시지는 단어 중간에 잘리지 않고 전체 단어의 경계선에서 잘립니다. 단일 SMS 게시 작업의 총 크기 제한은 1,600바이트입니다.
Q: 하나의 주제에 메시지 필터를 몇 개까지 적용할 수 있습니까?
기본적으로 리전별로 계정당 200개의 필터 정책을 주제에 적용할 수 있습니다. 한도 증가가 필요하면 AWS로 문의해 주십시오.
Q: SNS와 EC2 간 교차 리전 통신에 사용해야 하는 TCP 포트가 있습니까?
예. SNS와 EC2 간 교차 리전 통신은 80/443/4080/8443이 아닌 포트의 경우 작동이 보장되지 않으며 사용을 피해야 합니다.
원시 메시지 전송
Q: 원시 메시지 전송이란 무엇입니까?
예를 들어, 메시지를 게시한 것과 정확히 같은 원시 형식으로 메시지가 전송되도록 옵트인할 수 있습니다. 메시지는 기본적으로 메시지와 주제에 대한 메타데이터를 제공하는 JSON으로 인코딩되어 전달됩니다. 원시 메시지 전송은 구독에서 “RawMessageDelivery” 속성을 설정하여 활성화할 수 있습니다. 이 속성은 AWS Management Console을 사용하거나 API SetSubscriptionAttributes를 사용하여 설정할 수 있습니다.
Q: 구독에 대한 원시 메시지 전송 속성이 설정되지 않은 경우 기본 동작은 무엇입니까?
이 속성이 설정되지 않은 경우 메시지는 기본적으로 현재 동작인 JSON 형식으로 전송됩니다. 이 동작은 기존 애플리케이션이 예상된 대로 계속 실행되게 합니다.
Q: 원시 메시지 전송을 지원하는 엔드포인트 유형은 무엇입니까?
원시 메시지 전송은 SQS 및 HTTP(S) 엔드포인트로 전송 시 지원됩니다. Lambda, 이메일 및 SMS 엔드포인트로의 전송은 “RawMessageDelivery” 속성과 관계없이 동일하게 동작합니다.
Q: 원시 메시지는 HTTP 엔드포인트에 어떻게 전송됩니까?
원시 형식 메시지가 HTTP/s 엔드포인트에 전송되는 경우 메시지 본문이 HTTP POST의 본문에 포함됩니다.
모바일 푸시 알림
Q: SNS 모바일 푸시란 무엇입니까?
SNS 모바일 푸시를 사용하면 Simple Notification Service(SNS)를 통해 Apple, Google, Fire OS 및 Windows 디바이스뿐만 아니라, Baidu Cloud Push를 통해 중국의 Android 디바이스에도 푸시 알림을 전송할 수 있습니다. 설치된 모바일 애플리케이션은 푸시 알림을 통해 사용자가 애플리케이션을 열지 않더라도 이벤트에 관한 알림을 띄워 사용자에게 즉시 알릴 수 있습니다. 예를 들어 스포츠 앱을 설치하고 푸시 알림을 설정하면 해당 앱은 앱이 실행되어 있는 않은 경우에도 사용자가 좋아하는 팀의 최신 스코어를 보낼 수 있습니다. 알림이 디바이스에 표시되고 사용자가 알림을 확인하면 자세한 내용을 표시하기 위해 앱이 시작됩니다. 사용자 경험은 SMS를 받는 것과 비슷하지만 필요한 비용의 일부만으로 향상된 기능을 사용할 수 있습니다.
Q: 푸시 알림을 보내기 시작하려면 어떻게 해야 합니까?
푸시 알림은 애플리케이션이 설치된 디바이스 및 푸시 알림을 수신하도록 선택한 사용자에게만 전송될 수 있습니다. SNS 모바일 푸시는 푸시 알림 전송을 위해 명시적으로 선택할 필요가 없지만 iOS, Android 및 Kindle Fire 운영 체제에서는 명시적 선택이 필요합니다. SNS를 사용해 푸시 알림을 전송하려면 앱 및 설치된 각각의 디바이스를 SNS에 등록해야 합니다. 자세한 내용은 Amazon SNS 모바일 푸시 알림 섹션을 참조하십시오.
Q: 어떤 푸시 알림 플랫폼을 지원합니까?
현재 지원되는 푸시 알림 플랫폼은 다음과 같습니다.
- Amazon Device Messaging(ADM)
- Apple Push Notification Service(APNS)
- Firebase Cloud Messaging(FCM)
- Windows 8+ 및 Windows Phone 8.1+용 Windows 푸시 알림 서비스(WNS)
- Windows Phone 7용 Microsoft 푸시 알림 서비스(MPNS)
- 중국의 Android 디바이스용 Baidu Cloud Push
Q: SNS 무료 제공 대상으로 몇 개의 푸시 알림을 보낼 수 있습니까?
SNS 무료 제공 대상에는 1백만 개 게시 및 1백만 개 모바일 푸시 전송이 포함됩니다. 따라서 매달 1백만 개의 무료 푸시 알림을 전송할 수 있습니다. 모든 모바일 푸시 엔드포인트로의 알림은 무료 모바일 푸시 전송 1백만 건에 대해 함께 계산됩니다.
Q: 푸시 알림을 설정하려면 SNS 모바일 푸시의 특별한 확인이 필요합니까?
아니요. 필요하지 않습니다. 최종 사용자는 SNS가 푸시 알림을 제공하는지 여부에 상관없이 처음 앱을 실행할 때 푸시 알림을 수신할 것인지 선택합니다.
Q: SNS 모바일 푸시를 사용하려면 클라이언트 앱을 수정해야 합니까?
SNS에서는 클라이언트 앱의 수정을 요구하지 않습니다. Baidu Cloud Push의 경우 제대로 작동하려면 SNS 사용 여부에 관계 없이 클라이언트 노드에 Baidu 특정 구성 요소를 추가해야 합니다.
Q: SNS 주제는 모바일 푸시에서 어떻게 작동합니까?
SNS 주제는 모든 지원되는 푸시 알림 플랫폼뿐만 아니라 SMS 또는 이메일과 같은 다른 엔드포인트 유형의 구독자를 보유할 수 있습니다. 알림을 주제에 게시할 때 SNS는 주제를 구독한 각 엔드포인트에 해당 메시지의 동일한 사본을 보냅니다. 각 푸시 플랫폼에 보내진 정확한 페이로드를 정의하는 플랫폼별 페이로드를 사용하는 경우, 페이로드가 관련 푸시 알림 플랫폼에서 제한하는 최대 크기를 초과하면 게시에 실패합니다.
Q: 다양한 대상 플랫폼에 대해 어떤 페이로드 크기가 지원됩니까?
SNS는 기본 네이티브 플랫폼에서 지원되는 최대 페이로드 크기를 지원합니다. 고객은 플랫폼별 메시지를 보내는 데 JSON 객체를 사용할 수 있습니다. 자세한 내용은 Amazon SNS 모바일 푸시 API 사용 섹션을 참조하십시오.
Q: 플랫폼별 페이로드는 어떻게 작동합니까?
주제에 게시하고 사용자 지정 메시지를 다양한 푸시 알림 플랫폼의 엔드포인트에 보내려면 게시 대화 상자에서 “Use different message body for different protocols” 옵션을 선택한 다음 메시지를 업데이트해야 합니다. 플랫폼별 페이로드를 사용해 각 푸시 알림 서비스에 전달되는 정확한 API 스트링을 지정할 수 있습니다. 예를 들어 APNS를 통해 iOS 애플리케이션의 배지 수를 조정하기 위해 플랫폼별 페이로드를 사용할 수 있습니다. 자세한 내용은 Amazon SNS 모바일 푸시 알림 섹션을 참조하십시오.
Q: 한 개의 토큰으로 여러 주제를 구독할 수 있습니까?
예. 각 토큰으로 SNS 주제 수에 제한 없이 구독할 수 있습니다.
Q: 직접 주소 지정이란 무엇이며 어떻게 작동합니까?
직접 주소 지정 기능을 사용하면 특정 주제를 구독하는 모든 사용자에게 동일한 메시지를 전송하는 대신 단일 엔드포인트에 직접 알림을 전달할 수 있습니다. 이 기능은 대상 메시지를 각 수신자에 정확하게 전달하려고 하는 경우 유용합니다. 디바이스 토큰을 SNS에 등록하면 SNS는 토큰에 해당하는 엔드포인트를 생성합니다. 주제에 게시하는 것처럼 토큰 엔드포인트에 게시할 수 있습니다. 알림 텍스트나 플랫폼별 기능을 활용하는 플랫폼별 페이로드(예:앱의 배지 수 업데이트)를 직접 게시할 수 있습니다. 직접 주소 지정은 현재 푸시 알림 엔드포인트에 대해서만 사용할 수 있습니다.
Q: SNS에서 SMS 또는 이메일에 대한 직접 주소 지정을 지원합니까?
현재 직접 주소 지정은 모바일 푸시 엔드포인트(APNS, FCM, ADM, WNS, MPNS, Baidu) 및 SMS에 대해서만 지원됩니다. 이메일 메시징에서는 주제를 사용해야 합니다.
Q: SNS 모바일 푸시는 알림 서비스의 토큰 피드백을 어떻게 처리합니까?
APNS 및 FCM 같은 푸시 알림 서비스는 만료되거나 새로운 토큰으로 대체되었을 수 있는 토큰에 대한 피드백을 제공합니다. APNS 또는 FCM에서 특정 토큰이 만료되었거나 올바르지 않음을 보고한 경우 SNS는 토큰에 연결된 애플리케이션 엔드포인트를 "비활성화"하고 이벤트를 통해 이 변경 사항을 사용자에게 알립니다. 특히 FCM은 가끔 토큰이 올바르지 않음을 표시할 뿐만 아니라, SNS에 대한 응답에서 애플리케이션 엔드포인트에 연결된 새 토큰도 제공합니다. 이 경우, SNS에서는 연결된 엔드포인트를 새 토큰 값으로 자동 업데이트하고, 엔드포인트를 활성 상태로 유지한 다음, 이벤트를 통해 이러한 변경 사항을 알립니다.
Q: SNS 모바일 알림을 위해 Google Cloud Messaging(GCM)을 사용하고 있습니다. GCM 기능이 더 이상 지원되지 않는 경우 어떻게 됩니까?
Q: 기존 앱을 SNS 모바일 푸시로 마이그레이션할 수 있습니까?
예. 콘솔 인터페이스나 API를 통해 Amazon SNS에 대한 기존 디바이스 토큰을 대량으로 업로드할 수 있습니다. 또한 관련 푸시 알림 서비스에 대한 자격 증명을 업로드하여 SNS에 앱을 등록하고 향후의 새로운 토큰을 SNS에 등록하기 위해 프록시나 앱을 구성할 수 있습니다.
Q: 내 푸시 알림을 Amazon CloudWatch에서 모니터링할 수 있습니까?
예. SNS는 게시된 메시지 수, 성공한 알림 수, 실패한 알림 수, 필터링된 알림 수 및 게시된 데이터 크기에 대한 Cloudwatch 지표를 게시합니다. 지표는 애플리케이션 단위별로 사용 가능합니다. AWS Management Console이나 CloudWatch API를 통해 Cloudwatch 지표에 액세스할 수 있습니다.
Q: Amazon SNS는 어떤 유형의 Windows 푸시 알림을 지원합니까?
SNS는 토스트, 타일, 배지, 원시 알림을 비롯하여 Microsoft WNS 및 MPNS에서 제공하는 모든 유형의 푸시 알림을 지원합니다. TYPE 메시지 속성을 사용하여 원하는 알림 유형을 지정할 수 있습니다. 모든 모바일 플랫폼으로 동일한 메시지를 전송할 때 기본 페이로드를 사용하는 경우 SNS에서는 Windows 플랫폼에 대한 기본 설정으로 토스트 알림을 선택합니다. 플랫폼별 페이로드를 사용하는 경우 Windows 플랫폼에 대한 알림 유형을 지정해야 합니다.
Q: SNS는 Windows 원시 푸시 알림을 지원합니까?
예. SNS를 통해 원시 알림을 전송하려면 알림 페이로드를 텍스트로서 인코딩해야 합니다.
Q: Baidu Cloud Push란 무엇입니까?
Baidu Cloud Push란 Android 디바이스용으로 제공되는 타사의 대체 푸시 알림 전달 서비스입니다. Baidu Cloud Push를 사용하면 사용자가 앱을 다운로드하는 데 어떤 Android 앱 스토어를 선택했는지와는 관계없이 중국의 Android 고객에게도 알림을 보낼 수 있습니다. Baidu Cloud Push에 대해 자세히 알아보려면 https://push.baidu.com/을 방문하십시오.
Q: 모든 퍼블릭 AWS 리전에서 Baidu 알림을 게시할 수 있습니까?
예. SNS는 모든 퍼블릭 AWS 리전에서의 Baidu 푸시 알림을 지원합니다.
Q: 모든 Android 앱 스토어에 대해 Baidu 알림을 사용할 수 있습니까?
예. Baidu 푸시 알림은 모든 Android 앱 스토어를 통해 설치된 앱에 대해 작동합니다.
Q: 메시지 속성이란 무엇입니까?
메시지 속성을 사용하면 메시지에 대해 구조화된 메타데이터 항목(예: 타임스탬프, 지형 정보 데이터, 서명, 식별자)을 제공할 수 있습니다. 메시지 속성은 선택 사항이며 메시지 본문과는 개별적이지만, 함께 전송됩니다. 이 정보는 메시지 수신인이 메시지 본문을 먼저 처리할 필요 없이 메시지 처리 방법을 결정할 수 있게 해줍니다.
SNS 메시지 속성은 SQS 및 모바일 푸시 엔드포인트와 함께 사용할 수 있습니다. 메시지 속성에 대해 자세히 알아보려면 SNS 시작 안내서를 참조하십시오.
Q: SNS에서 지원되는 메시지 속성은 무엇입니까?
SNS는 자체적으로 지원하는 엔드포인트 유형과는 상관없이 각 엔드포인트 유형에 대해 각기 다른 메시지 속성을 지원합니다.
- SQS 엔드포인트의 경우 메시지당 이름-유형-값이라는 3개 부분으로 이루어진 속성을 최대 10개까지 지정할 수 있습니다. 문자열, 바이너리, 숫자(정수, 부동 소수점, 배수 포함)와 같은 유형이 지원됩니다.
- 모바일 푸시 엔드포인트의 경우 각 모바일 플랫폼이 지원하는 특정 메시지 속성(예: 알림 유형)을 활용할 수 있습니다.
Q: Time to Live(TTL)란 무엇입니까?
SNS로 전송할 수 있는 일부 메시지는 제한 기간에만 관련이 있거나 가치가 있기도 합니다. 이제 Amazon SNS를 사용하여 각 메시지에 대한 TTL(Time to Live) 값을 설정할 수 있습니다. 전송되지 않아 최종 사용자가 읽지 않은 특정 메시지의 TTL이 만료되면 해당 메시지는 삭제됩니다. TTL은 초 단위로 지정되며 Publish 호출이 이루어지는 시간과 관련이 있습니다.
Q: 메시지에 대한 TTL은 어떻게 지정합니까?
콘솔 또는 API를 사용하여 TTL을 지정할 수 있습니다. TTL은 아래 메시지 속성을 사용하여 메시지의 게시 시간에 지정할 수 있습니다. 플랫폼마다 속성이 다릅니다. 특정 플랫폼에 대해 지정된 속성은 해당 플랫폼으로의 알림 전송에만 적용됩니다.
Q: 기본 TTL은 어떻게 됩니까?
SNS에서 사용하는 모든 모바일 플랫폼에 대한 기본 Time to Live(TTL)는 4주입니다.
Q: TTL 메시지 속성은 메시지 페이로드에서 지정된 TTL을 무시합니까?
예. Google FCM 및 Amazon ADM을 사용하면 메시지 페이로드 내에서 TTL을 지정할 수 있습니다. 메시지 페이로드와 메시지 속성 내에서도 TTL을 지정하는 경우 SNS는 메시지 속성을 따릅니다.
Q: TTL=0으로 지정하면 어떻게 됩니까?
일부 플랫폼에서는 TTL = 0을 특수 사례로 처리하여 메시지를 즉시 전송하도록 시도하거나 만료되도록 합니다. TTL=0으로 지정한 경우 SNS에서는 이러한 특수 사례를 활용할 수 있도록 메시지를 TTL=0과 함께 적절한 서비스로 전달합니다.
Q: 어떤 SNS 엔드포인트가 TTL을 지원합니까?
APNS, APNS_Sandbox, FCM, ADM, Baidu, WNS와 같은 모바일 푸시 엔드포인트에서 TTL을 사용할 수 있습니다. Microsoft MPNS는 현재 TTL을 지원하지 않습니다. SQS, HTTP, 이메일 또는 SMS 엔드포인트에 대해서도 TTL이 지원되지 않습니다.
Q: Amazon SNS의 전송 상태 기능은 어떤 작업을 수행합니까?
전송 상태 기능을 사용하면 지원되는 모바일 알림 플랫폼에 대한 푸시 알림의 성공률, 실패율 및 유지 시간과 관련된 정보를 수집할 수 있습니다. 현재 지원되는 플랫폼으로는 Apple(APNS), Google(FCM), Windows(WNS 및 MPNS), Amazon(ADM) 및 Baidu가 있습니다. 상태 정보는 Amazon SNS에서 자동으로 생성된 Amazon CloudWatch 로그 그룹에서 캡처됩니다. 또한 Amazon CloudWatch에 실행 가능한 측정치를 만들고 관심 있는 패턴을 기반으로 경보를 트리거할 수 있습니다.
Q: Amazon SNS의 전송 상태 기능은 모바일 푸시 알림에만 사용할 수 있습니까? 다른 엔드포인트 유형에 이 기능이 제공될 예정입니까?
현재 전송 상태 기능은 모바일 푸시 알림과 SMS에서 사용할 수 있습니다. AWS에서는 고객의 피드백에 따라 다른 엔드포인트 유형으로 이 기능을 확장하는 것을 고려하고 있습니다.
Q: 전송 상태 기능을 활성화하려면 어떻게 해야 합니까?
Amazon SNS 콘솔에서 전송 상태 기능을 활성화할 수 있습니다. 애플리케이션의 Application Actions 드롭다운 메뉴에서 전송 상태 옵션을 선택합니다. 자세한 내용은 설명서를 참조하십시오.
Q: Amazon SNS API에서 전송 상태 기능을 활성화할 수 있습니까?
예, 관련 애플리케이션 수준 속성을 추가하여 Amazon SNS API에서 이 기능을 활성화할 수 있습니다. AWS 설명서에는 이 기능을 사용하기 위해 추가해야 할 애플리케이션 수준 속성 및 호출해야 할 특정 API가 설명되어 있습니다.
Q: 전송 상태 기능의 사용료는 얼마입니까?
현재 전송 상태 기능을 사용하기 위한 추가 Amazon SNS 요금은 없습니다. 하지만 이 기능을 사용하면 Amazon CloudWatch 로그 그룹이 생성되므로 사용량에 따라 CloudWatch 사용 요금이 발생할 수 있습니다. CloudWatch 요금 및 프리 티어에 대한 자세한 내용은 요금 페이지를 참조하십시오.
Q: 성공한 전송에 대한 샘플링 비율은 선택할 수 있는데 실패한 전송 시도는 샘플링할 수 없는 이유는 무엇입니까?
AWS에서는 고객의 피드백에서 대부분의 개발자가 애플리케이션의 모든 전송 시도 실패에 대해 알고 싶어하지만, 모두 로깅하기보다는 성공한 전송 샘플링만 저장하고 싶어한다는 사실을 확인했습니다.
Q: 실패 측정치나 유지 시간 측정치를 토대로 경보를 설정하려면 어떻게 해야 합니까?
전송 상태 기능을 활성화한 후 Amazon SNS에서 대신 생성한 로그 그룹에 대한 Amazon CloudWatch Logs에 로그 지표 필터를 정의해야 합니다. 이 측정치 필터를 정의하여 실패율과 유지 시간 등 관심 있는 정보를 추출할 수 있습니다. Metric Filter를 정의하여 필터를 만들고 Metric에 할당할 수 있습니다. 그런 다음 이 측정치를 사용하여 정의한 임계값에 따라 경보를 설정하거나 알림을 보낼 수 있습니다. 자세한 내용은 AWS 설명서 또는 블로그를 참조하십시오.
Q: Amazon SNS는 APNS 엔드포인트에 대한 모바일 푸시 알림을 위해 HTTP/2를 지원합니까?
Amazon SNS는 Apple Push Notification Service(APNS)를 통해 iOS 및 macOS 엔드포인트에 푸시 알림을 전송하기 위해 p12 인증서와 함께 HTTP/2를 사용합니다.
Q: 2020년 11월을 기점으로 APNS 바이너리 프로토콜이 사용 중지되므로 애플리케이션을 수정해야 합니까?
Amazon SNS는 p12 인증서와 함께 HTTP/2를 사용합니다. 이는 기존 바이너리 프로토콜에 의존하지 않으므로 Amazon SNS를 통해 푸시 알림을 전송하는 애플리케이션은 변경하지 않아도 됩니다.
AWS Lambda에 대한 SNS 지원
Q: Amazon SNS에서 AWS Lambda 엔드포인트를 지원한다는 것은 무엇을 의미합니까?
AWS Lambda 함수가 구독되어 있는 Amazon SNS 주제에 메시지를 게시함으로써 AWS Lambda 함수를 호출할 수 있습니다. Amazon SNS에서 메시지 팬아웃을 지원하므로, 단일 메시지 게시로 다른 AWS Lambda 함수를 호출하거나 또는 모바일 푸시, HTTP 엔드포인트, SQS, 이메일 및 SMS와 같이 지원되는 Amazon SNS 대상에 알림을 전송하는 것 이외에 Lambda 함수도 호출할 수 있습니다.
Q: AWS Lambda란 무엇입니까?
AWS Lambda는 이벤트에 응답하여 코드를 실행하고 자동으로 컴퓨팅 리소스를 관리하는 컴퓨팅 서비스입니다. 이를 사용하면 새로운 정보에 빠르게 대응하는 애플리케이션을 손쉽게 제작할 수 있습니다. AWS Lambda와 AWS Lambda 함수 생성 방법에 대한 자세한 내용은 여기를 참조하십시오.
Q: AWS Lambda 함수와 Amazon SNS로 무엇을 할 수 있습니까?
Amazon SNS 주제에 AWS Lambda 함수를 구독함으로써, 사용자 지정 메시지 처리를 수행할 수 있습니다. AWS Lambda 함수를 호출하여, 먼저 AWS Lambda 함수에 메시지를 게시함으로써 사용자 지정 메시지 전송 처리를 제공하고, Lambda 함수를 통해 메시지를 수정하고(예: 언어 현지화), 그런 다음 수정한 메시지를 다른 주제와 엔드포인트에 필터링 및 라우팅할 수 있습니다. Amazon CloudWatch와 같이 이미 Amazon SNS 알림을 전송하는 앱과 서비스는 사용자 지정 메시지 처리를 위해 인프라를 프로비저닝하거나 관리할 필요 없이 즉시 AWS Lambda를 활용할 수 있습니다. 또한, AWS Lambda 함수로 전송을 통해 Amazon Kinesis 또는 Amazon S3와 같은 다른 AWS 서비스에 게시할 수 있습니다. Amazon SNS 주제에 AWS Lambda 함수를 구독하고, 그런 다음 Lambda 함수를 통해 다른 서비스에 메시지를 전달할 수 있습니다.
Q: Amazon SNS의 AWS Lambda 엔드포인트 지원을 활성화하려면 어떻게 해야 합니까?
먼저 AWS 계정과 AWS Lambda 콘솔을 통해 AWS Lambda 함수를 생성하고, Amazon SNS 콘솔 또는 Amazon SNS API를 사용하여 주제에 AWS Lambda 함수를 구독합니다. 이 작업이 완료되면, Lambda 함수가 구독되어 있는 Amazon SNS 주제에 게시한 메시지가 해당 주제에 구독된 다른 대상 및 관련 Lambda 함수에 전송됩니다.
Q: Amazon SNS에서 AWS Lambda 함수로 전송된 메시지의 역할은 무엇입니까?
Amazon SNS에서 AWS Lambda 함수로 메시지가 전송되면, AWS Lambda 함수의 인스턴스를 생성하고, 메시지를 입력 값으로 사용하여 해당 인스턴스를 호출합니다. 메시지 형식에 대한 자세한 내용은 Amazon SNS 설명서와 AWS Lambda 설명서를 참조하십시오.
Q: 이 기능의 요금은 어떻게 됩니까?
Amazon SNS를 사용한 메시지 게시에는 1백만 요청당 0.50 USD가 부과됩니다. AWS 서비스 사용에 따른 요금 외에는 메시지를 AWS Lambda 함수로 전송하는 데 추가되는 요금은 없습니다. Amazon SNS 프리 티어에는 월별 1백만 회의 요청이 포함됩니다. 자세한 내용은 Amazon SNS 요금을 참조하십시오. 함수 요청 개수와 코드 실행 횟수에 따라 AWS Lambda 함수 요금이 부과됩니다. AWS Lambda 프리 티어에는 월별 1백만 회의 무료 요청과 월별 400,000GB-초 컴퓨팅 시간이 포함됩니다. 자세한 내용은 AWS Lambda 요금을 참조하십시오.
Q: 제가 소유한 Amazon SNS 주제에 다른 사용자가 생성한 AWS Lambda 함수를 구독할 수 있습니까?
현재 AWS 계정 소유자가 다른 계정에 속한 AWS Lambda 함수를 구독하는 것을 허용되지 않습니다. 본인이 소유한 Amazon SNS 주제에 본인이 소유한 AWS Lambda 함수를 구독하거나, SNS 주제 관련 주제 정책이 허용하는 범위 내에서 다른 계정에서 생성한 Amazon SNS 주제에 본인의 AWS Lambda 함수를 구독할 수 있습니다.
Q: Amazon SNS 주제에 구독하는 AWS Lambda 함수의 수에 할당량이 있습니까?
Amazon SNS는 AWS Lambda 함수를 다른 대상과 동일하게 처리하며, 주제당 1천만 구독을 기본으로 제공합니다. 한도 증가를 요청하려면 AWS에 문의해 주십시오.
Q: AWS Lambda 함수에 어떤 데이터를 전달할 수 있습니까?
Amazon SNS 메시지 전송의 결과로 AWS Lambda 함수가 호출되면, AWS Lambda 함수가 SNS 이벤트를 통해 메시지 ID, 주제 ARN, 메시지 페이로드, 메시지 속성과 같은 데이터를 수신합니다. AWS Lambda 함수로 전달되는 이벤트 구조에 대한 자세한 내용은 블로그를 확인하세요.
Q: AWS Lambda 함수로 시도한 메시지 전송에 대한 전송 상태를 추적할 수 있습니까?
메시지 전송의 성공 또는 실패 상태를 추적하려면 Amazon SNS의 전송 상태 기능을 활성화해야 합니다. 이 기능 활성화 방법에 대한 자세한 내용은 블로그를 확인하십시오.
Q: 어떤 AWS 리전에서 AWS Lambda를 사용할 수 있습니까?
전체 목록은 AWS 리전 및 엔드포인트를 참조하십시오.
Q: AWS Lambda 함수가 Amazon SNS와 같은 리전에 있어야 합니까?
어떤 리전에서나 Amazon SNS 주제에 AWS Lambda 함수를 구독할 수 있습니다.
Q: AWS Lambda 호출 시 데이터 전송 요금이 부과됩니까?
AWS Lambda 함수에 메시지 전송 시, 데이터 전송 요금이 적용됩니다. 자세한 내용은 요금을 참조하십시오.
Q: 동시 처리 가능한 AWS Lambda 함수의 수에 할당량이 있습니까?
현재 AWS Lambda에서는 리전별로 AWS 계정당 1,000건의 동시 실행을 지원합니다. AWS Lambda에 전송되는 Amazon SNS 메시지 수가 이 할당량보다 많으면, Amazon SNS 메시지 전송이 제한됩니다. AWS Lambda에서 Amazon SNS 메시지를 제한하는 경우, Amazon SNS에서 다시 전송을 시도합니다. AWS Lambda 동시 처리 수 할당량에 대한 자세한 내용은 AWS Lambda 설명서를 참조하십시오.
Q: 다른 서비스(예: Amazon S3)에서 사용하는 같은 AWS Lambda 함수를 Amazon SNS에서 사용할 수 있습니까?
해당 함수가 다른 서비스의 이벤트 형식뿐 아니라 Amazon SNS의 이벤트 형식도 분석할 수 있다면, 다른 서비스에서 사용하는 같은 AWS Lambda 함수를 사용할 수 있습니다. SNS 이벤트 형식에 대한 자세한 내용은 블로그를 참조하십시오.
VoIP iOS 및 Mac OS 알림
Q: iOS용 VoIP 푸시 알림이란 무엇입니까?
iOS 8 이상에서는 사용자에게 VoIP 전화가 수신되었을 때 상황에 따라 iOS가 앱을 시작하거나 깨울 수 있도록, VoIP(Voice-over-IP) 앱에서 VoIP 원격 알림을 등록할 수 있습니다. VoIP 알림을 등록하는 절차는 iOS에 일반 푸시 알림을 등록하는 것과 비슷합니다. 자세한 내용은 설명서를 참조하십시오.
Q: VoIP 푸시 알림과 다른 푸시 알림을 같은 iOS 앱에서 사용할 수 있습니까?
예. iOS 애플리케이션이 두 가지 유형의 푸시 알림을 모두 수신하도록 등록할 수 있습니다. 그러나 Apple에서 일반 푸시 알림 인증서 외에도 VoIP 푸시 알림 인증서를 받아야 하며 Amazon SNS에 새로운 플랫폼 애플리케이션을 생성하고 플랫폼 유형으로 Apple VoIP 푸시를 선택해야 합니다. 자세한 내용은 설명서를 참조하십시오.
Q: Mac OS 푸시 알림이란 무엇입니까?
이제 Amazon SNS를 사용하여 Mac OS X Lion(10.7) 이상을 실행하는 Mac OS 데스크톱에 푸시 알림을 보낼 수 있습니다. 자세한 내용은 설명서를 참조하십시오.
Amazon SNS 요금에 대해 자세히 알아보기