Oracle Notifications Serviceについて学習
Oracle Cloud Infrastructure Notificationsサービス(ONS)は、Oracle Cloud Infrastructure Events (OCIイベント)をアクション可能にする手段として最もよく実証されています。
たとえば、OCIイベントに基づいて仮想マシンをスケール・アップまたはスケール・ダウンする操作を実行したり、SMS、電子メール、Slackなどのプラットフォームを介して運用サポートに通知を送信したりします。ONSの制限は、ここで説明するユースケースを超えています。その他の正当なシナリオは次のとおりです。
- 運用ダッシュボードがオンプレミス・システムに存在するハイブリッドまたはマルチクラウド企業のように、ONSでネイティブにサポートされていないサードパーティ・ソリューションにOCIイベントをプッシュ。
- アプリケーションで重要なビジネス・イベントが発生したときに、そのイベントがどのように対処されるかを知る必要がない場合に、アプリケーションから通知を生成します。
- pub/subフレームワークを介したアプリケーション・コレオグラフィの実装。
ユース・ケースに関係なく、アプリケーション・ソースまたはターゲットを使用してONSを使用する必要性が特定されています。このプレイブックでは、ONSの設定と使用のいくつかの側面について説明します。具体的には:
- ONSをSlackに接続して、カスタム・アプリケーションの動作を確認します。
- (Slackアカウントによってサブスクライブされている)特定のトピックへのONSメッセージを生成するカスタム・アプリケーションを作成して実行します。
- APIモック・サーバー(Postmanの場合)を使用して、メッセージがONSトピックに追加されたときにRESTエンドポイントを呼び出す方法を確認します。
このデモでは、アプリケーション間通信にONSを使用することが、簡単に実現できることを紹介します。ただし、コンシューマ・クライアントまたはONSとクライアント間のメカニズムは、アクティブ化プロセスに対応する必要があります。しかし、これは私たちのニーズとは違うかもしれません。このメカニズムは、ONSが逆転しないようにするためのセキュアな手段を提供します。
アーキテクチャ
これらのアーキテクチャでは、ローカル・ホストとOCI上の仮想マシンを使用してONSを示します。
アーキテクチャは次の2つの図のいずれかのようになります。すべてのONSアプリケーションのすべての構成およびデモ・アプリケーション・デプロイメントを完了すると、クライアント・アプリケーションをローカル・ソリューションとして実行することを選択したか(最初の図)、または通知プロバイダの仮想マシン(VM)で実行することを選択したか(2番目の図)によって異なります。
プレイブックの残りの部分では、テスト・アプリケーションをローカルで実行していると想定します。
クライアント・アプリケーションをローカルで実行する場合、アーキテクチャは次のようになります。
oci-notifications-local-host-architecture-diagram.zip
OCI内のVMでクライアント・アプリケーションを実行すると、アーキテクチャは次のようになります。
oci-notifications-virtual-machine-architecture-diagram-oracle.zip
このアーキテクチャには次のコンポーネントがあります。
- リージョン
Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広大な距離で(複数の国または複数の大陸にまたがる)リージョンを分離できます。
- 可用性ドメイン
アベイラビリティ・ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されるため、耐障害性が提供されます。可用性ドメインは、電源や冷却、内部可用性ドメイン・ネットワークなどのインフラストラクチャを共有しません。そのため、ある可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響することはほとんどありません。
- フォルト・ドメイン
フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインに3つのフォルト・ドメインがあり、それぞれ独立した電源とハードウェアがあります。複数のフォルト・ドメインにリソースを分散すると、アプリケーションは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、VCNによってネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる、重複しない複数のCIDRブロックを含めることができます。VCNをサブネットにセグメント化して、そのスコープをリージョンや可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- 通知
Oracle Cloud Infrastructure Notificationsサービスは、Oracle Cloud Infrastructureでホストされているアプリケーションに対して、セキュア、高信頼性、低レイテンシおよび永続的なメッセージを配信するパブリッシュ/サブスクライブ・パターンを介して、分散コンポーネントにメッセージをブロードキャストします。
- ポリシー
Oracle Cloud Infrastructure Identity and Access Managementポリシーでは、誰がどのリソースにどのようにアクセスできるかを指定します。アクセス権はグループ・レベルおよびコンパートメント・レベルで付与されます。つまり、特定のコンパートメント内またはテナンシへの特定のアクセスのタイプをグループに付与するポリシーを記述できます。
- コンピュート
Oracle Cloud Infrastructure Computeサービスを使用すると、クラウド内のコンピュート・ホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプを使用してコンピュート・インスタンスを起動できます。コンピュート・インスタンスを作成したら、インスタンスに安全にアクセスして再起動し、ボリュームをアタッチおよびデタッチして、不要になったら終了できます。