Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OCI技術資料 : イベント・サービス 概要

OCI技術資料 : イベント・サービス 概要

Oralce Cloud Infrastructure (OCI) の技術説明資料、イベント・サービスの概要編 (Level 100) です。

クラウド上のリソースの変化を捉え、サービスが自動的に連動する仕組みを実現する、イベント・サービスについて解説しています。

2024/10/18 改定
2021/10/18  初版

More Decks by Oracle Cloud Infrastructure ソリューション・エンジニア

Other Decks in Technology

Transcript

  1. サービス同士を連動させるイベント・ルーティングの管理、配信をシンプルに ▪ ユースケース クラウド上のリソースの変化を捉え、サービスが自動的に連動する仕組みを実現 (例) • データベースのバックアップが完了したことを通知する • ファイルがオブジェクト・ストレージ・バケットにアップロードされた際、 あるフォーマットのファイルを別のフォーマットに変換する

    ▪ 特徴 イベントのメッセージは CNCF (Cloud Native Computing Foundation) のCloudEventsに準拠した標準フォーマット • CloudEventsに準拠した他社クラウドサービスと連携したアプリケーションを 構築可能 ▪ 価格 無料 Events (イベント・サービス) Copyright © 2024, Oracle and/or its affiliates 3 …… Events Notifications Functions Streaming Virtual Machine Block Storage Database System リソース イベント アクション Events
  2. https://docs.oracle.com/ja-jp/iaas/Content/Events/Reference/eventenvelopereference.htm イベント・メッセージの構成 Copyright © 2024, Oracle and/or its affiliates 5

    イベント・メッセージは「エンベロープ」と「ペイロード」の2つの主要部分から構成される(下記はオブジェクト・ストレージに よって発行されるバケット・イベントの例) { "cloudEventsVersion": "0.1", "eventID": "<unique_ID>", "eventType": "com.oraclecloud.objectstorage.deletebucket", "source": "objectstorage", "eventTypeVersion": "1.0", "eventTime": "2019-01-10T21:19:24Z", "contentType": "application/json", "extensions": { "compartmentId": "ocid1.compartment.oc1..<unique_ID>" }, "data": { "compartmentId": "ocid1.compartment.oc1..<unique_ID>", "compartmentName": "example_name", "resourceName": "my_bucket", "resourceId": "ocid1.compartment.oc1..<unique_ID>", "availabilityDomain": "NfHZ:PHX-AD-2", "freeFormTags": { "Department": "Finance" }, "definedTags": { "Operations": { "CostCenter": "42" } }, "additionalDetails": { "namespace": "example_namespace", "publicAccessType": "NoPublicAccess", "eTag": "f8ffb6e9-f602-460f-a6c0-00b5abfa24c7" } } } エンベロープ部 すべてのイベント・メッセージで共通するデータ属性を含む 構成はCNCFによって推進されているCloudEvents 業界標準形式に準拠 ペイロード部 イベントを生成したサービスやイベント・タイプによって異なるデータ 属性を含む
  3. イベント・ルール設定の流れ Copyright © 2024, Oracle and/or its affiliates 7 1.

    フィルタの計画 モニター対象とするサービスが、イベント・サービスに対応しているかを確認します(イベントを生成するサービス)。 また、どのようにフィルタリングするか、条件の指定方針を検討します。 イベントの「ルール条件」では、イベント・タイプの指定のほかに、下記を指定可能です。 • 属性:モニター対象とするリソースの属性情報(リソースID、リソース名など、イベント・タイプ毎に異なる) • フィルタ・タグ:モニター対象とするリソースに付与された「タグ・ネームスペース」「タグ・キー」「タグ値」 2. アクション・リソースの設定 ルールで使用するアクション・リソースを作成または設定します。 例えば、通知サービスをアクション・リソースとして設定する場合には、事前に通知トピックを作成します。 3. ルールの作成 実際に、イベント・ルールを作成します。作成するコンパートメントおよび子コンパートメントのイベントに適用されます。 事前に計画した内容に沿って、モニターするリソースを持つコンパートメント内にルールを作成し、トリガー先となるアク ション・タイプを指定します。
  4. イベントを生成OCIサービスは以下(最新情報と各サービスのイベント・タイプの詳細はドキュメントを参照のこと) 1. フィルタの計画 — イベントを生成するサービス Copyright © 2024, Oracle and/or

    its affiliates 8 • コンテナ・レジストリ • コンテンツ管理 (OCM) • データ・カタログ • データ・フロー • データ統合 • データ・ラベリング • データ・セーフ • データ・サイエンス • データ転送 • データベース • データベース移行 • データベース・ツール • DevOps • デジタル・アシスタント • アナリティクス・クラウド (OAC) • APIゲートウェイ • アーティファクト・レジストリ • Autonomous Linux • 自律リカバリ・サービス • 要塞 (Bastion Service) • ビッグ・データ・サービス • ブロック・ボリューム • ブロックチェーン・プラットフォー ム • 予算 • クラウド・ガード • クラスタ配置グループ • コンピュート • ファイル・ストレージ • フリート・アプリケーション管理 • フルスタックディザスタリカバリ • ファンクション • Globally Distributed Autonomous Database Events • GoldenGate • ヘルス・チェック • HeatWave • IAM • 統合 • Java管理 • Kubernetesエンジン • メディア・サービス • ネットワーク • ネットワーク・ファイアウォー ル • NoSQL Database Cloud • 通知 • オブジェクト・ストレージ • オペレーション・インサイト • OS管理 • OS管理ハブ • プロセス自動化 • リソース・マネージャ • セキュア・デスクトップ • セキュリティ・ゾーン • サービス・メッシュ • 音声 • 脆弱性スキャン • WAF
  5. マネージドのメッセージングサービス。モニタリング・アラームなどのメッセージを大 規模なサブスクリプション・エンドポイントにプッシュする ▪ 特徴 • セキュアで低レイテンシー、耐久性に優れたメッセージ配信 • 通知先から確認応答がされない(通知が上手く行かない)場合、 サブスクリプションの再試行期間中(最大120分)、指数バックオフを 含む再試行を行う

    ▪ サブスクリプションのタイプ(2024年10月現在) • Email • ファンクション • HTTPS (Custom URL) • PagerDuty • Slack • SMS 2. アクションリソースの設定 — 指定可能なアクション(1):Notifications (通知サービス) Copyright © 2024, Oracle and/or its affiliates 9 イベント・サービス × 通知サービス の連携 イベント・サービスでリソースの変化を検知して通知 Notifications
  6. フルマネージド、高スケーラビリティ、実行時のみ課金のサーバーレス実行環境 2. アクションリソースの設定 — 指定可能なアクション(2):Functions (ファンクション) Copyright © 2024, Oracle

    and/or its affiliates 10 サーバーレス実行環境でイベント・ドリブン型開発を効率化 ▪ 特徴 • フルマネージドなサーバレス基盤(FaaS) 実行時のみの課金、インフラ管理は不要、自動スケール • オープンソースのFn Projectをベースとし、Dockerコンテナの可搬性を 備え、ロックイン無し • Dockerコンテナと組み合わせ多彩な処理を実行可能 • 開発者視点のシンプルな開発フロー IoT, Web, Mobileアプリケーションのバックエンドや Oracle Cloudサービスの変更をトリガーにファンクションが処理を実行 Mobile,Web App IoT Oracle Cloud Infrastructure … … Oracle Cloud Infrastructure Functions Events Functions API Gateway Streaming
  7. 大量のデータストリームを処理するフルマネージドな分散メッセージングサービス 2. アクションリソースの設定 — 指定可能なアクション(3):Streaming(ストリーミング) Copyright © 2024, Oracle and/or

    its affiliates 11 ログやイベント、Web/MobileやIoTからのデータストリームを集約し、巨大なシス テム内でのサービス間を繋ぐデータハブ ▪ 特徴 • 複雑になりやすいサービス間やコンポーネント間の接続経路を、Streaming を経由する形にすることでシンプルにすることが可能 • Pub/Subモデルの採用により、データ通信を非同期に行い急激なデータ増 加によるシステム負荷の上昇を抑制 • Streamingに接続するためのAPIやSDKを提供 • Kafka互換APIを提供 ▪ 関連するOracle Cloud Service • Events (イベント・サービス) • Oracle Functions (ファンクション) • API Gateway IoT Mobile/We b Activities App Kafka Client Streaming Events API Gateway Database System Object Storage Functions Streaming
  8. 3. ルールの作成 — 具体的な作成ステップ Copyright © 2024, Oracle and/or its

    affiliates 12 STEP1:サービスとイベント・タイプを選択 STEP2:フィルターを設定 STEP3:アクションを選択 1 2 3
  9. イベント・サービス × 通知サービス イベント・サービスの使用例(1) Copyright © 2024, Oracle and/or its

    affiliates 14 ✓ ユースケース:Autonomous Database の自動バックアップが問題なく完了したことを通知させる ✓ イベント・タイプの条件に加えて、「属性」条件でリソース名 (resourceName) を指定することで、特定の Autonomous Databaseリソースの自動バックアップのみ通知させる Autonomous Transaction Processing ATP 自動バックアップ Events Notifications 自動バックアップの完了 (Automatic Backup End) 通知サービスのトリガー 各サブスクリプションへの配信 例:Slack/Email/pagerduty
  10. イベント・サービス × ファンクション イベント・サービスの使用例(2) Copyright © 2024, Oracle and/or its

    affiliates 15 ✓ ユースケース:プリエンプティブル・インスタンスの終了を検知し、インスタンスを再作成する ✓ イベント・タイプの条件に加えて、「属性」条件でリソース名 (resourceName) を指定することで、特定のコンピュー ト・インスタンスの終了に合わせて、インスタンスの再作成をさせることも可 インスタンスの終了 Events プリエンプション・イベント (Instance Preemption Action) ファンクションのトリガー プリエンプティブル・インスタンスの再作成 Virtual Machine (Preemptible Instances) Functions Virtual Machine (Preemptible Instances)
  11. イベント・サービス × ストリーミング イベント・サービスの使用例(3) Copyright © 2024, Oracle and/or its

    affiliates 16 ✓ ユースケース:オブジェクト・ストレージへのオブジェクト追加を検知し、Splunkにデータを共有する ✓ イベント・タイプの条件に加えて、「属性」条件でバケット名 (bucketName) を指定することで、特定のバケットに 絞り込む ✓ オブジェクトはデフォルトではイベントを発行しないため、対象のバケットがオブジェクトの状態変更に対してイベントを 送信できるように事前に設定が必要。 オブジェクトの追加 (Object Create) ストリーミングのトリガー Splunkへのデータ連携 Splunk IoT Data etc. Object Storage Streaming Events
  12. イベント・サービスが向かないユースケース Copyright © 2024, Oracle and/or its affiliates 17 イベント・サービスは、『リソースにかかる

    変更 を検知し、特定の OCIサービスに連携』 する → 次のようなケースでは別の機能の利用を検討する “誰が”◦◦を行ったかを検知して、通知サービスに連携したい ◦◦”ログ”を、特定のOCIサービスに連携したい イベント・サービスでは、イベントの内容に「プリンシパル」の情報が含まれない。 代わりに、「監査ログ」と「サービス・コネクタ・ハブ」を利用して、通知サービスに連携する。 各サービスのログ (VCNのフロー・ログ、ロード・バランサのアクセス・ログ等) や、Syslog等を特定のOCIサー ビスに連携したい場合には、「ロギング」と「サービス・コネクタ・ハブ」を利用して、対象のサービスに連携する。 各リソースの“パフォーマンス“を監視して、アクションに連携したい イベント・サービスでは、CPU使用率やスループット等のパフォーマンス指標は検知できない。 モニタリング・サービスを使用し、各リソースから発行されるメトリックを元に監視する。
  13. イベント・サービスで使用可能なメトリクス Copyright © 2024, Oracle and/or its affiliates 19 •

    PublishedEvents コンパートメント内のリソースによって発行された イベントの合計数 • MatchedEvents ルールに対して一致したイベントの合計数 • DeliverySucceedEvents アクションへの配信が成功したイベントの合計数 • DeliveryFailedEvents アクションへの配信が失敗したイベントの合計数
  14. Oracle Cloud Infrastructure マニュアル (日本語 / 英語) • https://docs.cloud.oracle.com/iaas/api/ -

    APIリファレンス • https://docs.cloud.oracle.com/ja-jp/iaas/Content/General/Reference/aqswhitepapers.htm - テクニカ ル・ホワイト・ペーパー • https://docs.cloud.oracle.com/iaas/releasenotes/ - リリースノート • https://docs.cloud.oracle.com/ja-jp/iaas/Content/knownissues.htm - 既知の問題 (Known Issues) • https://docs.cloud.oracle.com/ja-jp/iaas/Content/General/Reference/graphicsfordiagrams.htm - OCIアイコン・ダイアグラム集(PPT、SVG、Visio用) ※ 日本語版は翻訳のタイムラグのため情報が古い場合があります。最新情報は英語版をご確認ください Oracle Cloud Infrastructure マニュアル・ドキュメント Copyright © 2024, Oracle and/or its affiliates 22
  15. Oracle Cloud Infrastructure 活用資料集 • https://oracle-japan.github.io/ocidocs/ チュートリアル - Oracle Cloud

    Infrastructureを使ってみよう • https://oracle-japan.github.io/ocitutorials/ Oracle Cloud ウェビナーシリーズ • https://www.oracle.com/goto/ocws-jp Oracle 主催 セミナー、ハンズオン・ワークショップ • https://www.oracle.com/search/events/_/N-2bu/ Oracle Cloud Infrastructure – General Forum (英語) • https://cloudcustomerconnect.oracle.com/resources/9c8fa8f96f/summary Oracle Cloud Infrastructure トレーニング・技術フォーラム Copyright © 2024, Oracle and/or its affiliates 23
  16. Our mission is to help people see data in new

    ways, discover insights, unlock endless possibilities.