Oracle Cloud Infrastructure Notification은 여러 구독 엔드포인트로 대규모로 푸시하는 전담 관리형 게시-구독 서비스입니다. Notification 서비스는 이메일, PagerDuty, Functions, HTTPS, Slack 및 SMS 엔드포인트에 대한 푸시 기반 알림과 Oracle Cloud Infrastructure Monitoring 및 Service Connector Hub와의 통합 지원을 지원합니다.
Notification의 가장 흔한 활용 사례는 모니터링 메시지 및 서비스 커넥터 허브를 지원하여 애플리케이션 경고를 보내는 것입니다. 예를 들어 Oracle Cloud Infrastructure Monitoring 경보를 구성하여 주제에 알림을 보낼 수 있습니다. 이메일 또는 PagerDuty를 사용하여 주제를 구독하면 클라우드 인프라에 이상 징후 발생 시 즉시 알림을 받을 수 있습니다. 또 다른 구현 사례는 이메일 프로토콜 통합을 통해Notification 서비스가 사용자의 서비스를 대신하여 특정 가입자에게 메시지를 보낼 수 있도록 하는 것입니다. 비밀번호 재설정, 캘린더 미리 알림, 장바구니 알림에 이르기까지 다양한 활용 사례에서 Notification은 가장 많이 사용되는 프로토콜 및 타사와의 통합 기능을 지원함으로써 서비스를 분리할 수 있는 유연성을 제공합니다.
Notification은 메시지 게시자가 메시지 구독자와 분리된 게시-구독 프레임 워크를 사용합니다. 주제 및 구독을 사용하여 메시지를 게시하기 위한 커뮤니케이션 채널을 설정할 수 있습니다. 주제는 구독자에게 메시지를 전달하기 위한 채널입니다. 구독은 지원되는 프로토콜의 엔드포인트입니다. 메시지가 주제에 게시되면 서비스에서 해당 메시지를 모든 주제의 구독자에게 보냅니다.
Console(브라우저 기반 인터페이스) 또는 REST API 또는 CLI를 사용하여 Notification 서비스에 액세스할 수 있습니다. 사용 가능한 SDK 목록은 소프트웨어 개발 키트 및 명령줄 인터페이스를 참조하세요.
Oracle Cloud Infrastructure는 다음과 같은 이벤트 전달용 메시징 서비스를 제공합니다.
이러한 서비스는 몇 가지 유사점이 있지만 각기 고유한 사용 사례를 위해 개발되었습니다.
주제는 구독자에게 메시지를 전달하기 위한 채널입니다.
구독은 주제에 대한 엔드포인트입니다. 게시된 메시지는 특정 주제에 대한 각 구독자에게 전송됩니다. 현재 지원되는 구독 프로토콜은 다음과 같습니다.
주제에 게시되는 컨텐츠입니다. 각 메시지는 구독당 최소 1회 전달됩니다. 이메일로 발송된 모든 메시지에는 관련 주제를 구독 취소할 수 있는 링크가 포함되어 있습니다.
Notification 서비스는 이메일, PagerDuty, Functions, HTTPS, Slack, SMS를 지원합니다.
지원되는 작업은 다음과 같으며 여기에서 더 많은 설명서를 찾으실 수 있습니다.
작업 | 설명 |
---|---|
createTopic | 지정된 구획에 주제를 만듭니다. |
getTopic | 지정된 토픽의 구성 정보를 가져옵니다. |
listTopics | 지정된 구획의 주제를 나열합니다. |
updateTopic | 지정된 주제의 구성을 업데이트합니다. |
deleteTopic | 지정된 주제를 삭제합니다. |
작업 | 설명 |
---|---|
createSubscription | 지정된 토픽에 대한 구독을 생성합니다. |
deleteSubscription | 지정된 구독을 삭제합니다. |
listSubscriptions | 지정된 구획 또는 주제의 구독을 나열합니다. |
getSubscription | 지정된 구독의 구성 정보를 가져옵니다. |
updateSubscription | 지정된 구독의 구성을 업데이트합니다. |
getConfirmSubscription | 지정된 구독에 대한 확인 정보를 가져옵니다. |
resendSubscriptionConfirmation | 지정된 구독에 대한 확인 정보를 다시 전송합니다. |
getUnsubscription | 지정된 구독에 대한 구독 취소 세부 정보를 가져옵니다. |
작업 | 설명 |
---|---|
publishMessage | 지정된 주제에 메시지를 게시합니다. |
Notification 주제에 게시된 모든 메시지는 해당 지역 내에서 지속됩니다. 메시지가 주제에 게시되면 해당 메시지는 메시지 게시자에게 승인이 전송되기 전에 영역 내 3개의 가용성 도메인에 동시에 복제됩니다.
구독자의 엔드포인트에서 메시지 수신을 확인하지 않으면 서비스는 메시지 재전송을 시도하며, 현재 메시지가 토픽에 게시된 시간부터 최대 2시간 동안 메시지를 보관합니다. 서비스는 보관 시간 내에 계속해서 메시지 전송을 시도합니다.
예. 메시지가 전송되지 않았더라도 보존 시간이 경과되면 Notification 서비스가 메시지를 삭제합니다.
Notification 서비스는 구독 엔드포인트에 메시지를 1회 이상 전송합니다. 이러한 작업 실행 시 중복이 발생할 수 있으며 중복 알림이 발생하는 경우 수신자가 처리하도록 하는 것이 좋습니다.
Notification 서비스는 단일 주제의 여러 엔드포인트에 메시지를 전송하도록 구성할 수 있습니다. 예를 들어 Oracle Cloud Infrastructure Monitoring 경고를 이메일 주소 및 또는 PagerDuty 엔드포인트에 동시에 전송할 수 있습니다.
Notification은 게시자의 메시지를 주제에 게시된 순서대로 전송합니다. 단, 네트워크 파티션의 특성, 인터넷 연결 안정성 및 일시적인 오류로 인해 Notification에서 메시지를 게시 순서와 다르게 전송할 수도 있습니다.
현재 주제에 게시된 모든 메시지는 해당 주제의 모든 구독 엔드포인트로 전송되며, 구독자는 메시지의 하위 집합을 선택적으로 구독할 수 없습니다.
메시지가 Notification 주제에 게시된 후에는 해당 메시지를 삭제할 수 없습니다.
PublishMessage API 작업에서 제목을 매개 변수로 전송하여 각 메시지의 제목을 변경할 수 있습니다. 다만, 현재는 Notification에서 발송한 이메일의 기본 발신자 이름을 변경할 수 없습니다.
측정 지표 이름 | 설명 |
---|---|
게시된 메시지 수 | Notification에 게시된 메시지의 수입니다. |
전송된 메시지 수 | 성공적으로 전송된 메시지 수입니다. |
실패한 메시지 수 | 전송되지 않은 메시지 수입니다. |
게시된 메시지 크기(바이트) | 게시된 메시지의 총 용량입니다. |
전달된 메시지 크기(바이트) | 성공적으로 전달된 메시지의 총 용량입니다. |
실패한 메시지 크기(바이트) | 전달하지 못한 메시지의 총 용량입니다. |
Monitoring 서비스를 통해 NumberOfNotificationFailed 측정 지표에 대한 경고를 구성할 수 있습니다. 자세한 내용은 여기를 참조하세요.
게시 작업은 성공하지만 해당 메시지에 관심 있는 구독자가 없기 때문에 메시지가 삭제됩니다.
구독자의 엔드포인트에서 메시지 수신을 확인하지 않으면 서비스는 메시지 재전송을 시도하며, 현재 메시지가 토픽에 게시된 시간부터 최대 2시간 동안 메시지를 보관합니다. 서비스는 보관 시간 내에 계속해서 메시지 전송을 시도합니다.
Notification 서비스는 구독 엔드포인트에서 수신 확인을 하지 않으면 최대 2시간 동안 메시지 재전송을 시도합니다. 엔드포인트가 오프라인인 경우 이러한 상황이 발생할 수 있습니다. 예를 들어 PagerDuty 서비스가 오프라인일 수 있습니다.
주제를 만들 수 있는 권한은 기본적으로 Oracle Cloud Infrastructure 테넌트 관리자에게 있습니다. 단, 테넌트 관리자는 사용자 그룹이 주제를 만들 수 있도록 사용 권한 및 정책을 부여할 수 있습니다. 자세한 내용은 정책 시작하기를 참조하세요. 서비스별 정책 작성에 대한 자세한 내용은 정책 참조를 확인하세요. 그룹에 Notification에 대한 액세스 권한을 부여하는 일반 정책을 알아보려면 그룹이 주제를 관리할 수 있도록 허가하기, 그룹이 주제 구독을 관리할 수 있도록 허가하기, 그룹이 주제에 메시지를 게시할 수 있게 허가하기를 참조하세요.
기본적으로 메시지를 게시 권한은 주제 소유자에게 있지만, 다른 Oracle Cloud Infrastructure 사용자에게도 권한을 부여할 수 있습니다. 그룹에서 주제에 메시지를 게시하도록 허용하기를 참조하세요.
주제 소유자는 둘 이상의 사용자 또는 테넌트가 주제에 메시지를 게시할 수 있는 명시적 권한을 설정할 수 있습니다. 기본적으로는 주제에 메시지를 게시하고, 정책을 조정하고, 자세한 내용을 볼 수 있는 권한은 주제 소유자만 있습니다. 자세한 내용은 그룹이 주제에 메시지를 게시할 수 있도록 허가하기를 참조하세요.
테넌트 관리자 또는 주제 소유자가 구독자를 추가할 수 있습니다. 자세한 내용은 Notification 정책과 구독 관리를 참조하세요.
주제 소유자는 구독자에게 주제에 대한 구독 권한을 부여할 수 있습니다. 자세한 내용은 알림 게시에 대한 일반 정책을 참조하세요.
이메일의 경우 구독 리스트에 추가되면 구독자는 구독 확인 URL을 받게 됩니다. 구독 확인 및 재전송 확인 정보에 대한 자세한 내용은 여기를 참조하세요.
구독자 엔드포인트를 스팸으로 보낼 수 없게 하고, 유효하고 등록된 엔드포인트로만 메시지가 전송되도록 하려면 구독자가 명시적으로 옵트인 해야 합니다.
Notification 인증은 Oracle Cloud Infrastructure Identity and Access Management (IAM) 서비스와 통합되어 있습니다. 여기에서 자세한 내용을 알아보세요.
구독자는 다음과 같은 방법으로 Notification 주제를 구독 취소할 수 있습니다.
항목 | 크기 |
---|---|
요청당 메시지 크기 | 64KB |
프로토콜 | 단일 엔드포인트에 대한 분당 메시지 수 |
---|---|
이메일 | 60 |
HTTPS(PagerDuty) | 10 |
Notification의 가격은 간단하고 직관적으로 책정되어 있습니다. 고객은 메시지 전송 건당 요금을 지불합니다. HTTPS의 경우 한 달에 메시지 100만 개당 미화 0.60달러입니다. 이메일은 한 달에 1,000개당 미화 0.02달러입니다. SMS의 경우 메시지 수신 국가에 따라 SMS당 비용을 지불합니다.
Notification은 Oracle Cloud Infrastructure 고객이 무료로 시작할 수 있는 티어를 제공합니다. 이 티어를 활용하면 HTTPS 엔드포인트에 월간 100만 개의 메시지와 1,000개의 이메일 메시지를 무료로 전송할 수 있습니다.
Notification 서비스는 구독 엔드포인트에서 수신 확인을 하지 않으면 최대 2시간 동안 메시지 재전송을 시도합니다. 엔드포인트가 오프라인인 경우 이러한 상황이 발생할 수 있습니다. 예를 들어 PagerDuty 서비스가 오프라인일 수 있습니다.