Amazon Redshift: イベント通知機能を使って要素の作業記録を確認する

2015.07.13

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欄にこれまでのクラスタに関する動作記録が表示されています。

redshift-event-01

[Subscriptions]タブを選択し、[Create Event Subscription]をクリック。

redshift-event-02

サブスクリプション設定(Subscription Settings)でカテゴリを『Management, Monitoring』、Severityを『Any』で選択。

redshift-event-03

ソースタイプは『Cluster』を選択。

redshift-event-04

任意のクラスタを選択する事も可能です。『Choose Specific』を選択し、任意のクラスタを追加。

redshift-event-05

名前とSubscription有効化を設定し、[Next]を押下。

redshift-event-06

イベントサブスクリプションに関する設定を行い、[Create]を押下。

redshift-event-07

イベントサブスクリプションが作成されました。

redshift-event-08

メール通知確認もこのタイミングで飛ぶので、承認しておいてください。

redshift-event-09

実際にクラスタリサイズをしてみましょう。この時はdc1.large 2ノードからdc1.large 3ノードへのリサイズ処理を行いました。

redshift-event-10

リサイズ処理が初期化状態から、[in progress]に切り替わりました。

redshift-event-11

すると、そのタイミングでメール通知が飛んできました。以下の様な内容で開始時間、イベントIDが記載されています。

redshift-event-12

処理が暫く続き...

redshift-event-13

リサイズ処理が完了しました。管理コンソール上でも完了の旨がコメント表記されています。

redshift-event-142

そしてメール通知も完了の段階で改めて飛んでいます。リサイズ開始時間、終了時間、処理時間とイベントIDがそれぞれ記載されていました。

redshift-event-15

まとめ

今回ご紹介したイベント通知機能では、この他にも様々なイベント情報をトリガーとして捕捉・通知させる事が出来ます。有効活用してAmazon Redshiftに関する作業を効率化させて行きたいですね。こちらからは以上です。