Amazon RDS イベント - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon RDS イベント

Amazon RDS イベントは、Amazon RDS 環境で生じた変更を示すものです。例えば、DB インスタンスのステータスが開始中から使用可能に変わると、Amazon RDS ではイベント RDS-EVENT-0088 The DB instance has been started が生成されます。Amazon RDS から Amazon EventBridge へは、ほぼリアルタイムでイベントが配信されます。イベントにアクセスするには、Amazon RDS コンソール、AWS CLI コマンド describe-events、または Amazon RDS API オペレーション DescribeEvents を使用します。次の画像は、Amazon RDS コンソールに表示されるイベントとログを示しています。

Amazon RDS コンソールに表示されるアラーム、イベント、ログ

Amazon RDS では、DB インスタンスイベント、DB パラメータグループイベント、DB セキュリティグループイベント、DB スナップショットイベント、RDS Proxy イベント、ブルー/グリーンデプロイイベントといった、各種イベントが発行されます。これにより、次の情報が得られます。

  • ソース名とソースタイプ。例: "SourceIdentifier": "database-1", "SourceType": "db-instance"

  • イベントの日付と時刻。例: "Date": "2022-12-01T09:20:28.595000+00:00"

  • イベントに関連付けられたメッセージ。例: "Message": "Finished updating DB parameter group"

  • イベントカテゴリ。例: "EventCategories": ["configuration change"]

網羅的なリファレンスについては、Amazon RDS ドキュメントの「Amazon RDS のイベントカテゴリとイベントメッセージ」を参照してください。

Amazon RDS イベントのモニタリングをお勧めします。なぜなら、これらのイベントは、DB インスタンスの可用性ステータス変更、設定変更、リードレプリカのステータス変更、バックアップおよびリカバリイベント、フェイルオーバーアクション、障害イベント、セキュリティグループの変更といった、さまざまな情報や通知を示すものだからです。例えば、データベースのパフォーマンスと耐久性の向上を目的にリードレプリカ DB インスタンスを設定している場合は、DB インスタンスに関連付けられたリードレプリカイベントカテゴリの Amazon RDS イベントをモニタリングすると良いでしょう。RDS-EVENT-0057 Replication on the read replica was terminated などのイベントは、リードレプリカがプライマリ DB インスタンスと同期されていないことを示しているからです。そのようなイベントの発生を担当チームに通知すれば、問題のタイムリーな緩和に役立ちます。Amazon EventBridge とその他の AWS のサービス (AWS Lambda、Amazon Simple Queue Service (Amazon SQS)、Amazon Simple Notification Service (Amazon SNS) など) は、データベースの可用性の問題やリソースの変更といったシステムイベントへの応答を自動化するのに有用です。

Amazon RDS コンソールでは、過去 24 時間のイベントを取得できます。AWS CLI または Amazon RDS API を使用してイベントを表示する場合は、次のように describe-events コマンドを使用して、過去 14 日間のイベントを取得できます。

$ aws rds describe-events --source-identifier database-1 --source-type db-instance { "Events": [ { "SourceIdentifier": "database-1", "SourceType": "db-instance", "Message": "CloudWatch Logs Export enabled for logs [audit, error, general, slowquery]", "EventCategories": [], "Date": "2022-12-01T09:20:28.595000+00:00", "SourceArn": "arn:aws:rds:eu-west-3:111122223333:db:database-1" }, { "SourceIdentifier": "database-1", "SourceType": "db-instance", "Message": "Finished updating DB parameter group", "EventCategories": [ "configuration change" ], "Date": "2022-12-01T09:22:40.413000+00:00", "SourceArn": "arn:aws:rds:eu-west-3:111122223333:db:database-1" } ] }

イベントを長期的に保存 (指定した有効期限まで、あるいは永続的に保存) する場合は、CloudWatch Logs を使用して、Amazon RDS で生成されたイベントの情報をログに記録できます。このソリューションを実装するには、Amazon SNS トピックを使用して Amazon RDS イベント通知を受信し、Lambda 関数を呼び出して CloudWatch Logs にイベントをログ記録します。

  1. イベントで呼び出す Lambda 関数を作成し、イベントから取得した情報を CloudWatch Logs に記録します。CloudWatch Logs は Lambda と統合されているため、stdout にイベント情報を書き出す print 関数を使用して、それらの情報を簡単にログに記録できます。

  2. Lambda 関数へのサブスクリプションを使用して SNS トピックを作成し ([プロトコル] を Lambda に設定)、[エンドポイント] を、前のステップで作成した Lambda 関数の Amazon リソースネーム (ARN) に設定します。

  3. Amazon RDS イベント通知を受信するように SNS トピックを設定します。詳細な手順については、Amazon SNS トピックで Amazon RDS 通知を受信する方法に関する AWS re:Post の記事を参照してください。

  4. Amazon RDS コンソールで、イベントサブスクリプションを新規作成します。[ターゲット] を ARN に設定し、前に作成した SNS トピックを選択します。要件に応じて、[ソースタイプ][含めるイベントカテゴリ] を設定します。詳細については、Amazon RDS ドキュメントの「Amazon RDS イベント通知にサブスクライブする」を参照してください。