通知の概要

Oracle Cloud Infrastructure Notificationsサービスを使用して、トピックおよびサブスクリプションを使用するメッセージを公開するための通信チャネルを設定します。

通知サービスを使用すると、Oracle Cloud Infrastructureのリソースで何かが発生したときにそれを知ることができます。アラーム、イベント・ルールおよびコネクタを使用すると、サポートされているエンドポイント(電子メールやテキスト・メッセージ(SMS)を含む)を介して、人間が理解できるメッセージを取得できます。カスタムHTTPSエンドポイントおよびOracle Cloud Infrastructure Functionsを使用して、タスクを自動化することもできます。メッセージを直接パブリッシュすることもできます。

ヒント

サービスの概要ビデオを視聴してください。

通知の動作

通知サービスを使用すると、トピック およびサブスクリプション を使用してメッセージを公開するための通信チャネルを設定できます。メッセージがトピックに公開されると、通知サービスはトピックのすべてのサブスクリプションにメッセージを送信します。

標準ヘッダー・メタデータ

メッセージの配信時に、Notificationsでは次のヘッダー・メタデータが追加されます。

すべてのメッセージについて:

  • Content-Type
  • X-OCI-NS-MessageId
  • X-OCI-NS-TopicOcid
  • X-OCI-NS-TopicName
  • X-OCI-NS-MessageType
  • X-OCI-NS-UnsubscribeURL

確認メッセージの場合:

ノート

HTTPS (カスタムURL)確認URLも参照してください。
  • X-OCI-NS-ConfirmationURL
  • X-OCI-NS-SubscriptionId

メッセージ署名検証の場合:

  • X-OCI-NS-Signature
  • X-OCI-NS-Timestamp
  • X-OCI-NS-SignatureVersion
  • X-OCI-NS-SigningCertURL

サブスクライバのエンドポイントがメッセージの受信を確認しないと、通知サービスは配信を再試行します。この状況は、エンドポイントがオフラインの場合に発生することがあります。たとえば、電子メール・アドレスの電子メール・サーバーが停止している可能性があります。

配信再試行の詳細

通知では、次のステップに従って、(a)確認の受信、または(b)サブスクリプションの再試行期間が終了するまで、配信を再試行します。デフォルトの再試行期間は2時間です。

  1. 即時の再試行。
  2. 次のタイミングでの、サブスクリプションの再試行期間中の指数関数的バックオフ再試行:
    1. 1分
    2. 2分
    3. 4分
    4. 8分
    5. 16分
    6. 32分
  3. 再試行期間の終了時のメッセージの破棄。

サブスクリプションの再試行期間を変更するには、サブスクリプションの配信ポリシーの更新を参照してください。

通知の概念

通知の作業には、次の概念が必要です。

友好的な書式設定
メッセージの読みやすさを向上させる設定。

サポートされているサブスクリプション・プロトコル:

サポートされているメッセージ・タイプ:

メッセージ
トピックに公開されるコンテンツ。各メッセージは、サブスクリプション当たり少なくとも1回配信されます。電子メールとして送信されるすべてのメッセージには、関連トピックからサブスクライブ解除するためのリンクが含まれています。
通知
アラームやイベント・ルールなど、メッセージを送信するための構成。各メッセージは、指定したトピックサブスクリプションに送信されます。
使用可能な通知のタイプは次のとおりです。
通知の作成後は、通常どおり管理できます。たとえば、通知がアラームの場合、コンソールの「アラーム」ページを使用して管理します。
サブスクリプション
トピックのエンドポイント。公開されたメッセージは、トピックの各サブスクリプションに送信されます。
サポートされているサブスクリプション・プロトコル:
  • 電子メール:

    サブスクリプションの親トピック メッセージ を公開する場合に電子メール・メッセージを送信します。

    ノート

    電子メール配信との統合に関するベスト・プラクティスに従います。肯定的な電子メール送信者評価の保守および電子メールのカスタム・ドメインの設定を参照してください。
    メッセージの内容と表示は、メッセージ・タイプによって異なります。「アラーム・メッセージ」「イベント・メッセージ」および「コネクタ・メッセージ」を参照してください。

    一部のメッセージ・タイプでは、わかりやすい書式設定が使用されます。

  • ファンクション:
    サブスクリプションの親トピックメッセージを公開する場合に指定したファンクションを実行します。たとえば、関連するアラームがトリガーされたときに、ファンクションを実行してVMをサイズ変更します。
  • HTTPS (カスタムURL):

    サブスクリプションの親トピック メッセージ を公開する場合に指定した情報を送信します。

  • PagerDuty:
    サブスクリプションの親トピック メッセージ を公開する場合にデフォルトでPagerDutyインシデントを作成します。
  • Slack:
    サブスクリプションの親トピック メッセージ を公開する場合に、デフォルトで指定のSlackチャネルにメッセージを送信します。
    メッセージの内容と表示は、メッセージ・タイプによって異なります。「アラーム・メッセージ」「イベント・メッセージ」および「コネクタ・メッセージ」を参照してください。
  • SMS:
    メッセージをサブスクリプションの親トピックに公開すると、ショート・メッセージ・サービス(SMS)を使用して、指定された電話番号にテキスト・メッセージが送信されます。サポートされるエンドポイント・フォーマット: E.164形式
    ノート

    SMSメッセージが別の国の電話番号から送信される場合は、国際SMS機能が必要です。より多くのユーザーがローカルの電話番号からSMSメッセージを受信できるよう、サポートされる国を継続的に増やしていきます。

    SMSサブスクリプションは、Oracle Cloud Infrastructureサービス(のお知らせ、MonitoringおよびConnector Hub)によって送信されたメッセージに対してのみ有効です。サポートされていないサービスから送信されたSMSメッセージは削除されます。原因: SMSに使用されているサポートされていないリソースを参照してください。

    通知サービスは、事前に構成された番号のプールからSMSメッセージを配信します。複数の番号からSMSメッセージを受信する場合があります。

    メッセージの内容と表示は、メッセージ・タイプによって異なります。SMSアラーム・メッセージおよびSMSコネクタ・メッセージを参照してください。

    使用可能な国とリージョン

    通知を使用して、次の国およびリージョンにSMSメッセージを送信できます:

    国またはリージョン ISOコード
    オーストラリア AU
    ブラジル BR
    カナダ CA
    チリ CL
    中国 CN
    コスタリカ CR
    クロアチア HR
    チェコ CZ
    フランス FR
    ドイツ DE
    ハンガリー HU
    インド IN
    アイルランド IE
    イスラエル IL
    日本 JP
    リトアニア語 LT
    メキシコ MX
    オランダ NL
    ニュージーランド NZ
    ノルウェー NO
    フィリピン PH
    ポーランド PL
    ポルトガル PT
    ルーマニア RO
    サウジアラビア SA
    シンガポール SG
    南アフリカ ZA
    韓国 KR
    スペイン ES
    スウェーデン SE
    Switzerland CH
    ウクライナ UA
    イギリス AE
    イギリス GB
    米国 US
トピック
サブスクリプションメッセージを送信するための通信チャネル。各トピック名はテナンシ間で一意です。
ノート

Oracle Cloud Infrastructure Notificationsサービスによって電子メールとして送信されるメッセージは、処理され、U.S.ベースのリージョンのOracleリソースを介して配信されます。

メッセージ公開および配信のフロー

リソースは、構成されたトピックにメッセージを公開します。その後、通知によって、トピック内のアクティブなサブスクリプションにメッセージが配信されます。

メッセージを送信できるリソースには、アラーム、お知らせサブスクリプション、イベント・ルール、コネクタおよびコンテキスト通知(アラームおよびイベント・ルール)が含まれます。(ユーザー、サービスまたはアプリケーションは、直接公開を介してメッセージを送信することもできます。)

たとえば、トピックにメッセージを送信するように構成されたアラームを考えてみます。このトピックでは、電子メール、SlackおよびSMSサブスクリプションについて説明します。アラーム・トリガー・ルールに違反すると、アラームによってトピックにメッセージがパブリッシュされます。通知により、トピックのアクティブなサブスクリプションにメッセージが配信されます。この例では、Slackサブスクリプションはまだ確認されていないため、保留中です。通知は、トピックで唯一のアクティブなサブスクリプションであるため、電子メールおよびSMSサブスクリプションにのみメッセージを配信します。

公開済および配信済メッセージを追跡するメトリックについては、使用可能なメトリック: oci_notificationを参照してください。

アラーム

アラームのトリガー・ルールに違反すると、アラームはアラーム・メッセージを構成済のトピックに送信します。通知は、そのトピックのアクティブなサブスクリプションにメッセージを配信します。アラームの管理を参照してください。

コンテキスト通知には、アラームを含めることができます。

この図は、アラームのコンテキストでの通知を示しています。

お知らせサブスクリプション

お知らせサブスクリプションは、コンソールのお知らせメッセージを構成済のトピックに送信します。通知は、そのトピックのアクティブなサブスクリプションにメッセージを配信します。

この図は、お知らせサブスクリプションのコンテキストでの通知を示しています。

イベント・ルール

トリガーされると、イベント・ルールイベント・メッセージを構成済のトピックに送信します。通知は、そのトピックのアクティブなサブスクリプションにメッセージを配信します。イベントのルールの管理を参照してください。

コンテキスト通知には、イベント・ルールを含めることができます。

この図は、イベント・ルールのコンテキストにおける通知を示しています。

コネクタ

コネクタは、コネクタ・メッセージを構成済のトピックに送信します。通知は、そのトピックのアクティブなサブスクリプションにメッセージを配信します。コネクタの管理を参照してください。

この図は、コネクタのコンテキストにおける通知を示しています。

直接公開

ユーザー(またはサービスまたはアプリケーション)は、メッセージを構成済のトピックに送信します。通知は、そのトピックのアクティブなサブスクリプションにメッセージを配信します。「トピックへのメッセージの公開」を参照してください。

この図は、メッセージを直接公開するために使用される通知を示しています。

ファンクションとイベントを使用した自動化の作成

メッセージをファンクション・サブスクリプションを含むトピックに公開することで、自動化を作成できます。ファンクション・サブスクリプションの例については、シナリオA: 仮想マシンの自動サイズ変更を参照してください。

イベント・タイプ、ルールおよびアクションを使用して、トピックおよびサブスクリプション(通知リソース)の状態変更に基づく自動化を作成することもできます。

可用性

通知サービスは、すべてのOracle Cloud Infrastructure商用リージョンで使用できます。使用可能なリージョンのリストと、関連する場所、リージョン識別子、リージョン・キーおよび可用性ドメインは、リージョンおよび可用性ドメインについてを参照してください。

電子メール・メッセージ送信のサービス比較

通知サービスまたは電子メール配信サービスを使用して電子メール・メッセージを送信するかどうかを決定する際には、次のサービス機能を使用することを検討してください。電子メール配信の詳細は、電子メール配信サービスの概要を参照してください。

サービス機能 通知サービス 電子メール配信サービス
電子メールを送信する前に確認が必要。 はい いいえ
署名などの電子メール装飾を許可。 はい いいえ
RAW電子メール・メッセージを許可。 いいえ はい
MIMEアタッチメントをサポート。 いいえ

はい

失敗した電子メール配信の特別な処理をサポート。 いいえ

はい

小さいメッセージ(32KB未満、64KBの制限付き)の場合に課金。 はい いいえ
大きいメッセージ(32KBを超える、2MBの制限付き)の場合に課金。 いいえ はい

リソース識別子

ほとんどのタイプのOracle Cloud Infrastructureリソースには、Oracle Cloud ID (OCID)と呼ばれるOracleによって割り当てられた一意の識別子があります。OCIDのフォーマットおよびリソースを識別するその他の方法の詳細は、リソース識別子を参照してください。

通知へのアクセス方法

コンソールまたは通知REST APIを使用して、Notificationsサービスにアクセスできます。コンソール、CLIおよびAPIに関する手順は、このガイド全体に記載されています。使用可能なSDKのリストは、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。

コンソール:コンソールを使用して通知にアクセスするには、サポートされているブラウザを使用する必要があります。コンソールのサインイン・ページに移動するには、このページの上部にあるナビゲーション・メニューを開き、「Infrastructureコンソール」をクリックします。クラウド・テナント、ユーザー名およびパスワードの入力を求められます。ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「通知」をクリックします。

API: APIを介して通知にアクセスするには、通知APIを使用します。

CLI: 通知のコマンドライン・リファレンスを参照してください。

認証と認可

Oracle Cloud Infrastructureの各サービスは、すべてのインタフェース(コンソール、SDKまたはCLI、およびREST API)の認証および認可のためにIAMと統合されています。

組織の管理者は、どのユーザーがどのサービスとリソースにアクセスできるか、およびアクセスのタイプを制御する、グループコンパートメントおよびポリシーを設定する必要があります。たとえば、ポリシーは、新規ユーザーの作成、クラウド・ネットワークの作成と管理、インスタンスの起動、バケットの作成、オブジェクトのダウンロードなどを実行できるユーザーを制御します。詳細は、ポリシーの開始を参照してください。異なる各サービスに対するポリシーの記述の詳細は、ポリシー・リファレンスを参照してください。

会社が所有するOracle Cloud Infrastructureリソースを使用する必要がある通常のユーザー(管理者ではない)の場合は、ユーザーIDを設定するよう管理者に連絡してください。管理者は、使用する必要があるコンパートメントを確認できます。

管理者: 通知リソースへのアクセス権をグループに付与する一般的なポリシーについては、「IAMポリシー」(「通知の保護」ページ)を参照してください。

通知における制限

適用可能な制限のリストと制限の引上げをリクエストする手順は、サービス制限を参照してください。リソースまたはリソース・ファミリにコンパートメント固有の制限を設定するために、管理者は、コンパートメント割当てを使用できます。

メッセージの公開の制限(PublishMessage操作)

制限はすべてテナンシ単位です。

制限タイプ 制限量
リクエスト当たりのメッセージ・サイズ 64KB
HTTPベース・プロトコルのエンドポイント当たりのメッセージ配信率("http:"または"https:"で始まるエンドポイント) 60メッセージ/分
電子メール・プロトコルのエンドポイント当たりのメッセージ配信率 10メッセージ/分
1分当たりのメッセージ(1分当たりのトランザクション(TPM)とも呼ばれる) 60/トピック

セキュリティ

通知のセキュリティについて学習します。

トピックおよびサブスクリプションへのアクセス権を付与します。「通知の保護」を参照してください。