[OpsJAWS] RDSイベントの監視
RDSメンテナンスイベント監視の目的
RDSもDBインスタンスのOSメンテナンスや、DBエンジンのメンテナンスなどの計画メンテナンスが実施されることがある。RDSメンテナンスイベントの検知後に、任意のタイミングでメンテナンス実施、事前に指定したメンテナンス期間で実施、もしくは延期などの対応が取れるため、RDSメンテナンスイベントの発生を監視することも必要となる。
RDSメンテナンスイベントの監視
RDSのメンテナンスイベントは、AWSアカウントに設定されたメールアドレス宛にメール通知される他、Management Consoleからの確認や、AWS CLI/APIによる確認が可能である。メールによる通知だけに頼ると見逃してしまうリスクがあるため、定期的にCLI/APIを実行してメンテナンスイベント有無を監視することが望ましい。メンテナンスイベント監視に使用するCLI/APIはそれぞれ下記となる。
- API:DescribePendingMaintenanceActions
- CLI :describe-pending-maintenance-actions
出力として、イベントの種類、イベントの説明、イベント予定時間帯(メンテナンス期間に設定した時間帯)、イベントが強制的に実施される時間帯などの情報が得られる。例えば、CLIで下記のように実行すると、イベントが計画されているRDSの情報が出力される。
# aws rds describe-pending-maintenance-actions
イベントの種類についての詳細は下記を参照。
RDSイベント検知後の対応
RDSメンテナンスイベントを検知した場合の対応方法としては、下記の3通りが考えられる。
1.任意のタイミングでメンテナンスを実施する。
システム的に影響の少ないタイミングで先行してメンテナンスを実施する。RDSをMuti-AZ構成にしている場合スタンバイへのメンテナンス実行→スタンバイがプライマリに昇格→旧プライマリへのメンテナンス実行と言った順番でメンテナンスが実行されるため、メンテナンス時のシステム影響を小さくすることが可能となる。
2.事前に定義したメンテナンス期間内で実施
RDSインスタンスに設定されたメンテナンス期間内で実施されるようにスケジュール設定することが可能。そうすることでサービスへの影響を極力抑えた時間でのメンテナンスが可能となる。
3.メンテナンス項目の適用を延期
「Available」と表示されたメンテナンスは無期限に延期が可能なため、システムの安定稼働を優先する場合は延期するのも有効な選択肢の一つとなる。ただし、「Required」と表示されたメンテナンスについては無期限延期が不可能であるため、上記の1か2どちらかの対応が必要となる。
RDSイベントの監視
RDSインスタンスで発生した何らかの変更や障害、メンテナンス発生後の情報、Failover発生事象などはRDSイベントとして扱われる。RDSはイベントソースとカテゴリによって分類され、イベントソースはイベントの発生元を指し、カテゴリはイベントの区分を指す。
イベント内容の詳細についてはこちらを参照。
RDSイベントの監視方法
RDSイベント情報はManagement Console、AWS CLI/API、SNSで取得することが可能である。イベント情報は障害発生時の切り分け情報として必要になることが多いため、適切に蓄積しておくことが望ましい。SNS経由でメール通知が行えるため、これを利用してイベント情報を蓄積しておく。設定の際に、通知対象のイベントを絞り込むことが可能であるため、システムごとの要件に応じて通知対象のイベントを決めておくことが望ましい。詳細な設定方法はこちらを参照。
また、RDSサービスの正常性を表すカテゴリは下記となるため、正常性監視目的でイベントの監視を行う場合は、下記を通知対象とすることが望ましい。
一方、RDSサービスの変更情報を表すイベントは下記となるため、変更管理目的でイベントの監視を行う場合は、下記を通知対象とすることが望ましい。
その他運用カテゴリはこちらを参照。
コメント