Amazon Redshift: イベント通知機能を使って要素の作業記録を確認する
Amazon Redshiftには『イベント通知』という機能があり、クラスタやその他要素の状態変更イベントをトリガーとしてSNSと連携し、情報を通知する事が出来ます。そこで当エントリでは、Amazon Redshiftに於けるイベント通知の内容と、実際にイベント通知を設定してみてどの様に活用出来るかについてご紹介してみたいと思います。
目次
Amazon Redshiftイベント通知 - イベント一覧
イベント通知の機能については、以下に公式ドキュメントがありますので詳細解説は割愛します。ざっと説明しますと、Amazon Redshiftのメニューとしてクラスタを始めとした『要素』に対し『要素の種類』や『各種イベント発生のタイミング』、『重要度(ログレベルのようなもの)』といった組み合わせで『SNS通知と連携させる事が出来る』、即ち『イベントが発生したタイミングでSNSを使ってお知らせをする事が出来る』という代物になります。
通知が出来るイベントについては以下をご参照ください。こちらは上記公式ドキュメントの内容を(若干把握しづらかったので)少し要約・整理しました。IDの部分については、本来はREDSHIFT-EVENT-XXXXという形式で表示されるものですが、ここではスペースの都合上数字のみの記載としています。ご了承ください。
Amazon Redshiftカテゴリ | イベントの重大度:INFO | イベントの重大度:ERROR | ||
---|---|---|---|---|
ID 数値 | 概要 | ID 数値 | 概要 | |
クラスターソースタイプ | ||||
設定 | 1000 | パラメータグループの更新完了 | 1500 | クラスタ名変更エラー (VPC無し) |
1001 | パラメータグループの更新設定依頼 | 1501 | クラスタ名変更エラー (VPCサブネット不備or無し) | |
1502 | クラスタ名変更エラー (VPCの使用可能なIP無し) | |||
1503 | クラスタ名変更エラー (VPCのインターネット ゲートウェイ未接続) | |||
1504 | クラスタのHSMに到達出来ない | |||
1505 | クラスタのHSMを登録出来ない | |||
管理 | 2000 | クラスタの作成完了 | ||
2001 | クラスタの削除完了及び 最終スナップショットの保存有無 | |||
2002 | VPCセキュリティグループの更新完了 | |||
2003 | クラスタメンテナンスの開始 | |||
2004 | クラスタメンテナンスの終了 | |||
2006 | クラスタリサイズの開始 | |||
2007 | クラスタリサイズの進行中 | |||
2008 | クラスタスナップショットの リストア開始 | |||
2013 | クラスタ名の変更 | |||
モニタリング | 3000 | クラスタの再起動 | 3500 | クラスタのリサイズ失敗 |
3001 | クラスタのノード置き換え | 3501 | クラスタスナップショットのリストア失敗 | |
3002 | クラスタのリサイズ完了 | 3504 | S3バケットのログ作成無効 | |
3003 | クラスタスナップショットのリストア終了 | 3505 | S3バケットにクラスタのIAMポリシーが無い | |
3007 | クラスタスナップショットのクロスリージョンスナップショット完了 | 3506 | S3バケット存在せず、クラスタのログが作成出来ない | |
3507 | クラスタのEIP使用エラー (EIPが既に使われている) | |||
3509 | クラスタのクロスリージョンスナップショットコピーが有効になっていない | |||
セキュリティ | 4000 | クラスタのマスタ認証情報変更 | 4500 | セキュリティグループ指定の無効 |
4001 | セキュリティグループの変更 | 4501 | 指定したセキュリティグループが見つからない | |
パラメータグループソースタイプ | ||||
設定 | 1002 | パラメータグループのパラメータ更新完了 | ||
1003 | パラメータグループの作成完了 | |||
1004 | パラメータグループの削除完了 | |||
1005 | パラメータグループ名の更新完了 | |||
セキュリティグループソースタイプ | ||||
セキュリティ | 4002 | セキュリティグループの作成完了 | ||
4003 | セキュリティグループの削除完了 | |||
4004 | セキュリティグループ名の更新完了 | |||
スナップショットソースタイプ | ||||
管理 | 2009 | クラスタのユーザー指定スナップショットの取得開始 | ||
2010 | クラスタのユーザー指定スナップショットの取得キャンセル | |||
2011 | クラスタのユーザー指定スナップショットの削除完了 | |||
2012 | クラスタの最終スナップショットの取得開始 | |||
モニタリング | 3004 | クラスタのユーザースナップショットの取得完了 | 3502 | クラスタの最終スナップショット取得失敗 |
3005 | クラスタの最終スナップショットの取得完了 | 3503 | クラスタのユーザースナップショットの取得失敗 | |
3006 | クラスタの最終スナップショットのキャンセル完了 |
Amazon Redshiftイベント通知実践 - クラスタのリサイズ処理を通知設定してみる
では実際に設定を追加してみましょう。ここでは『Amazon Redshiftクラスタのリサイズ』に対してイベント通知を適用してみたいと思います。上記表で内容を確認してみると2006,2007,3002辺りのメッセージが受け取れれば良いっぽいので、クラスタソースタイプのINFOまでがカバー出来る設定であれば行けそうです。
管理コンソールでAmazon Redshiftのメニューに遷移し、[Events]サブメニューをクリック。Event欄にこれまでのクラスタに関する動作記録が表示されています。
[Subscriptions]タブを選択し、[Create Event Subscription]をクリック。
サブスクリプション設定(Subscription Settings)でカテゴリを『Management, Monitoring』、Severityを『Any』で選択。
ソースタイプは『Cluster』を選択。
任意のクラスタを選択する事も可能です。『Choose Specific』を選択し、任意のクラスタを追加。
名前とSubscription有効化を設定し、[Next]を押下。
イベントサブスクリプションに関する設定を行い、[Create]を押下。
イベントサブスクリプションが作成されました。
メール通知確認もこのタイミングで飛ぶので、承認しておいてください。
実際にクラスタリサイズをしてみましょう。この時はdc1.large 2ノードからdc1.large 3ノードへのリサイズ処理を行いました。
リサイズ処理が初期化状態から、[in progress]に切り替わりました。
すると、そのタイミングでメール通知が飛んできました。以下の様な内容で開始時間、イベントIDが記載されています。
処理が暫く続き...
リサイズ処理が完了しました。管理コンソール上でも完了の旨がコメント表記されています。
そしてメール通知も完了の段階で改めて飛んでいます。リサイズ開始時間、終了時間、処理時間とイベントIDがそれぞれ記載されていました。
まとめ
今回ご紹介したイベント通知機能では、この他にも様々なイベント情報をトリガーとして捕捉・通知させる事が出来ます。有効活用してAmazon Redshiftに関する作業を効率化させて行きたいですね。こちらからは以上です。