[OCI] イベント・サービスと通知を使用してADBインスタンス起動通知

イベント・サービスと通知を使用してADBインスタンス起動通知

Oracle Cloudにおいて
ComputeやAutonomous Databaseなどの起動をスケジュールしており、起動したことを通知することをOCI イベント・サービスと通知サービスを使用して実装してみた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/6d27777a-6ba6-8d9e-dc1f-eeff2f971b66.png)

※ イベント・サービス の アクション には、アクション・タイプ として ストリーミング / 通知 / ファンクション の設定が可能です。
※ 今回は 通知 を利用してメール通知します。
※ イベント・タイプ は、Autonomous Database – Start End を設定します。

# 作業ステップ

- 「通知」の設定
    - トピックの作成
    - サブスクリプションの作成・有効化
- イベント・ルールの設定
    - ルールの作成
- 動作確認

# 「通知」の設定
「通知」方法として電子メールを使用する「通知」の設定

1. Webコンソール のメニューから 「通知」 を選択
 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/5ac82f81-4ff8-b6ea-8aae-0ef61cbe87b6.png)

2.「トピックの作成」 をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/60cabe8e-d7f9-b1eb-05d9-a8a9b8c56182.png)

3.「トピックの作成」

   - 「名前」 を入力
   - 「説明」 を入力(任意)
   - 「作成」 をクリック
   
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/c63760e2-f8f3-8e89-6e22-0f96e1d80f3c.png)

## サブスクリプションの作成

1. トピックの詳細画面で「サブスクリプションの作成」 をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/cef1f026-c167-a37e-a871-2808fc2318d0.png)

2. 「サブスクリプションの作成」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/24ccaa11-388d-0393-1e9b-a114aaeb326c.png)
    - 「プロトコル」 で「電子メール」を選択    
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/27a3d017-e3f2-def6-df8b-f4eaf8483639.png)
    - 「電子メール」に配信先メールアドレスを入力
    - 「作成」 をクリック

## サブスクリプションの有効化

①. ステータスが「PENDING（確認待ち）」になっていることを確認
 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/643fce37-03d2-a1fe-e0dd-010c0008ad9a.png)

②. 電子メール通知の有効化

- Confirmation Mail のメールを確認 
- 「Confirm subscription」リンクをクリック
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/52384c3c-238c-41c8-fbb3-b0190431acb3.png)
- 「Confirm Confirmed」の画面確認
  
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/0a3476fa-4456-dc85-2555-4a7a6c7b0fc1.png)
③. ステータスが「ACTIVE」になっていることを確認(「通知」の設定が完了)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/07fff16f-fbda-81e6-ac2a-5f189bf3a412.png)

# イベント・サービスの設定
「Autonomous Database – Start End」のイベントが発生した際に電子メールを使用する「通知」を呼び出す設定

①. Webコンソール のメニューから 「イベント・サービス」 を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/ebed41d2-1a9b-a532-f5a2-c68c965bd0ee.png)

②.「ルールの作成」 をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/dc8460eb-04b8-18c5-d2ba-56a7a971a29f.png)

③.「ルールの作成」
    1.  「表示名」 にルールの名前を入力
    2.  「説明」 を入力
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/02e273d4-6ed8-4d55-2f3d-05e69536c255.png)
    3. 条件に「イベント・タイプ」を選択
    4. サービス名に「Database」を選択
    5. イベント・タイプ で「Autonomous Database – Start End」 を選択
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/a57ba952-8f21-6caf-8d23-53af444ab6a5.png)
    6. アクション・タイプで「通知」を選択
    7. 通知コンパートメントで通知を作成したコンパートメントを選択
    8. トピックに通知で作成したトピックを選択
    9. 「ルールの作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/ae40cfee-7caf-f658-007e-015d86967aa7.png)


# 設定のテスト
 （別途作成した）Autonomous Database を起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/5824b2d4-d41c-c24e-0b7c-01aa353db050.png)

※ 同一リージョン 内で対象としたコンパートメント配下で、Autonomous Database を起動
※イベント の対象リソースに関しては、 ルール作成や編集画面で、Condition を追加し、Attribute を選択することで、名前などで絞り込むことも可能

## 「通知」サービスからのメール例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/edadf2c2-a061-12da-7378-f5e552dc880d.png)


## 「イベント・サービス」メトリックの確認

「配信されたイベント」がカウントされていることを確認

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/78e29865-8502-ab19-6d67-9d65f2cda21e.png)

# おわりに
イベント・サービスと通知を使用してAutonomous Databaseインスタンスが起動した際に電子メール通知を確認することができた。

# 参考情報

- [イベントを生成するサービス](https://docs.cloud.oracle.com/ja-jp/iaas/Content/Events/Reference/eventsproducers.htm)
- Autonomous Database – サポートされているイベント・タイプ

|  | Database | Container Database | Exadata Infrastructure |
|:-----------|:-----------:|:------------:|:------------:|
|Automatic Failover|Begin-End         |          |          |
|Change Compartment            |Begin-End         |          |          |
|Create Backup            |Begin-End         |Begin-End          |          |
|Create          |Begin-End         |Begin-End          |Begin-End          |
|Disable Data Guard            |Begin-End         |          |          |
|Enable Data Guard            |Begin-End         |          |          |
|Manual Failover            |Begin-End         |          |          |
|Peer Database Provisioning            |Begin-End         |          |          |
|Restore            |Begin-End         |Begin-End          |          |
|Start            |Begin-End         |          |          |
|Stop            |Begin-End         |          |          |
|Switchover            |Begin-End         |          |          |
|Terminate            |Begin-End         |Begin-End          |Begin-End          |
|Update            |Begin-End         |Begin-End          |Begin-End          |
|Upgrade            |Begin-End         |          |          |
|Change Compartment            |         |✔️          |✔️          |
|Free Database Automatic Stop Reminder            |✔️         |          |          |
|Free Database Automatically Stopped            |✔️         |          |          |
|Free Database Automatic Termination Reminder            |✔️         |          |          |
|Free Database Automatically Terminated            |✔️         |          |          |
|Maintenance            |         |          |Begin-End          |Begin-End
|Maintenance Reminder            |         |✔️          |✔️          |
|Maintenance Scheduled            |         |✔️          |✔️          |
|Restart             |         |Begin-End          |          |

[As of 2020/09/17](https://docs.cloud.oracle.com/en-us/iaas/Content/Events/Reference/eventsproducers.htm#dbaasevents__AutoDB)