はじめに
Oracle Cloud Infrastructure (OCI)では多くのサービス(製品)が提供されています。
その中でも、いわゆるクラウドネイティブと呼ばれるようなサービスは、サービス間の連携が簡単におこなえるものがあります。
これらを活用することで、低コストでサービス間連携がおこなえます。
サービス間連携できるサービス例
サービス・コネクタ・ハブ
名前の通り、サービス間を接続するためのサービスです。
サービス・コネクタ・ハブで接続できる接続元サービスと接続先サービスの組み合わせは以下のとおりです。
接続先に渡す前に任意のファンクションを呼ぶこともできるので、そこでデータの加工などもおこなえます。
ユースケースとしては
- ログなどを長期保管のためにオブジェクト・ストレージに保存する
- 特定のログ情報を通知サービスを利用してメール等で通知する
といった使い方が考えられます。
下記が接続元 | オブジェクト・ストレージ | ストリーミング | ファンクション | モニタリング | ログ・アナリティクス | 通知 |
---|---|---|---|---|---|---|
ロギング | ◯ | ◯ | ◯ | ◯ | ◯ | ◯ |
ストリーミング | ◯ | ◯ | ◯ | - | ◯ | ◯ |
モニタリング | ◯ | ◯ | ◯ | - | - | - |
Queue | ◯ | ◯ | ◯ | - | - | ◯ |
※縦が接続元サービス、横が接続先サービスです
モニタリング
OCIの各種サービスのリソース利用状況等を監視できるサービスです。
アラーム機能があり、あらかじめ設定したしきい値を超えた場合などに、下記のサービスと連携することができます。
- 通知
- ストリーミング
一般的には通知を利用することが多いかと思います。
通知はいわゆるPub/Sub型のサービスで、メール通知などをおこなえます。(詳細は後述)
ファンクションと直接連携することはできませんが、通知サービス経由で呼び出すことができます。
1分間に60超えるようなアラームが発生する場合、下記マニュアルに記載のあるように制限があるため、ストリーミングを利用します。
イベント
イベントは「Coputeを起動した」、「オブジェクトストレージにファイルを作成した」などのイベントが発生した時に、下記のいずれかのサービスを呼び出すサービスです。
なお、「CPUの使用率があがった」などのリソースの変化はイベントではなく、前述のモニタリングのアラートで監視します
- 通知
- ファンクション
- ストリーミング
通知サービスについて
- いわゆるPub/Sub型のサービス
- 「トピック」とそれに紐づく「サブスクリプション」を作成する
- トピックには複数のサブスクリプションを紐づけることができる
- 利用できるサブスクリプションは以下の通り
- 電子メール
- ファンクション
- HTTPS(任意のURL)
- PagerDuty
- Slack
- SMS (モニタリングおよびサービス・コネクタ・ハブ用)
- 動作例
- Publisher(例えばモニタリングのアラーム)が、通知サービスのトピックにメッセージを送信する
(トピックにパブリッシュするという言い方をしたりします) - 通知サービスによって、トピックに紐づけられている各サブスクリプションにメッセージが送信される
- Publisher(例えばモニタリングのアラーム)が、通知サービスのトピックにメッセージを送信する