

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

# [アラート]
<a name="alerting"></a>

アラートは、IT インフラストラクチャと IT サービスを運用する上で、セキュリティ、可用性、パフォーマンス、信頼性に関する最も重要な情報源の 1 つです。IT チームでは、アラートの通知によって、進行中のセキュリティの脅威、停止、パフォーマンスの問題、システム障害などの情報を得ています。

Information Technology Infrastructure Library (ITIL) のうち、とりわけ IT サービス管理 (ITSM) のプラクティスでは、モニタリング、イベント管理、インシデント管理のベストプラクティスで注視すべき点に自動アラートを設定します。

インシデントアラートとは、モニタリングツールでアラートを生成し、IT 環境の変更、高リスクのアクション、障害などの情報をチームと自動ツール (自動実行可能な項目の場合) に通知します。IT アラートは、重大なインシデントにつながりかねないシステム停止や変更を防御するための最前線として機能します。システムを自動的にモニタリングし、停止やリスクのある変更に関するアラートを生成することで、ダウンタイムを最小限に抑え、それに伴う高コストを削減できます。

Well-Architected AWS フレームワークでは、ベストプラクティスとして、[モニタリングを使用してアラームベースの通知を生成し](https://docs.aws.amazon.com/wellarchitected/latest/framework/perf_monitor_instances_post_launch_generate_alarms.html)、[プロアクティブにモニタリングおよびアラーム](https://docs.aws.amazon.com/wellarchitected/latest/framework/perf_monitor_instances_post_launch_proactive.html)を行うことを規定しています。CloudWatch やサードパーティー製のモニタリングサービスを利用して、メトリクスが想定範囲外となった旨が通知されるアラームを設定すると良いでしょう。

アラート管理の目的は、ログ記録、分類、アクション定義と実装、クローズ、インシデント後のレビューアクティビティなどにより、IT 関連のイベントとインシデントを処理する効率的で標準化された手順を確立することです。

**セクション**
+ [CloudWatch アラーム](cloudwatch-alarms.md)
+ [EventBridge ルール](eventbridge-rules.md)
+ [アクションの指定、アラームの有効化と無効化](enable-disable-alarms.md)

# CloudWatch アラーム
<a name="cloudwatch-alarms"></a>

Amazon RDS DB インスタンスの操作では、さまざまな種類のメトリクス、イベント、トレースをモニタリングしてアラートを生成します。MySQL および MariaDB データベースの場合、[DB インスタンスメトリクス](db-instance-monitoring.md)、[OS メトリクス](os-monitoring.md)、[イベント、ログ、監査証跡が重要な情報源となります](events-logs-audit.md)。指定した期間全体で 1 つのメトリクスを監視するには、[CloudWatch アラーム](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)を使用すると良いでしょう。

次の例は、すべての Amazon RDS DB インスタンスで `CPUUtilization` メトリクス (CPU 使用率) を監視するアラームの設定方法を示しています。DB インスタンスの CPU 使用率が 5 分間の評価時間中に 80% を超えた場合にアラームがトリガーされるように設定します。

![\[CPUUtilization メトリクスのアラームを設定する\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/setting-alarm.png)


つまり、いずれかのデータベースで 5 分以上 CPU 使用率が高い (80% を超える) 状態が続く場合、アラームは `ALARM` の状態になります。CPU が 80% を超える使用率まで短時間バーストし、再びしきい値を下回った場合、アラームは `OK` の状態が維持されます。そのロジックを以下のグラフに示します。

![\[アラームの状態としきい値\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/thresholds.png)


CloudWatch アラームでは、メトリクスアラームと複合アラームがサポートされています。
+ *メトリクスアラーム*: 単一の CloudWatch メトリクスを監視し、メトリクスで数式を実行できます。また、Amazon SNS メッセージを送信することで、複数の期間にわたって特定のしきい値のメトリクス値に基づいて 1 つ以上のアクションを実行できます。
+ *複合アラーム*: 複数のアラームの状態を評価し、ルールのすべての条件が満たされた場合にのみ `ALARM` 状態になるルール式に従って動作します。一般的、複合アラームは、不要なアラートの数を減らすために使用します。例えば、複合アラームに、アクションを実行しないように設定した複数のメトリクスアラームが含まれているとします。この場合、複合アラームに含まれる各メトリクスアラームがすべて `ALARM` の状態になると、アラートが送信されます。

CloudWatch アラームで監視できるのは、CloudWatch のメトリクスのみです。エラー、スロークエリ、一般的なログに基づいてアラームを作成する場合は、それらのログから CloudWatch メトリクスを作成する必要があります。これを行うには、「[OS モニタリング](os-monitoring.md)」セクションと「[イベント](events-logs-audit.md)」セクションで説明したように、フィルターを使用して[ログイベントからメトリクスを作成](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html)します。同様に、拡張モニタリングメトリクスに基づいてアラートを生成するには、CloudWatch Logs のデータから CloudWatch でメトリクスフィルターを作成する必要があります。

# EventBridge ルール
<a name="eventbridge-rules"></a>

[Amazon RDS のイベント](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html)は Amazon EventBridge に配信されますが、それらのイベントには、[EventBridge ルール](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)を使用して対応できます。例えば、1 つの特定の DB インスタンスが停止または起動した場合に通知し、アクションを実行する EventBridge ルールを作成できます。その例を次の図に示します。

![\[DB インスタンスの停止と起動に関する EventBridge ルール\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/eventbridge-rules.png)


`The DB instance has been stopped` のイベントを検出するルールには Amazon RDS イベント ID (`RDS-EVENT-0087`) があるため、そのルールの `Event Pattern` プロパティは、次のように設定します。

```
{
  "source": ["aws.rds"],
  "detail-type": ["RDS DB Instance Event"],
  "detail": {
    "SourceArn": ["arn:aws:rds:eu-west-3:111122223333:db:database-3"],
    "EventID": ["RDS-EVENT-0087"]
  }
}
```

このルールでは DB インスタンス `database-3` のみをモニタリングして、`RDS-EVENT-0087` のイベントを監視します。EventBridge でイベントが検出されると、[ターゲット](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)であるリソースまたはエンドポイントにイベントが送信されます。このルールでは、Amazon RDS インスタンスがシャットダウンした場合に実行するアクションを指定できます。SNS トピック、Amazon Simple Queue Service (Amazon SQS) キュー、 AWS Lambda 関数、 AWS Systems Manager Automation、 AWS Batch ジョブ、Amazon API Gateway など、考えられる多くのターゲットにイベントを送信できます。例えば、通知 E メールと SMS を送信する SNS トピックを作成して、その SNS トピックを EventBridge ルールのターゲットとして割り当てることができます。Amazon RDS DB インスタンス `database-3` が停止した場合、Amazon RDS から EventBridge にイベント `RDS-EVENT-0087` が配信され、検出されます。その後、EventBridge では、ターゲット (指定した SNS トピック) が呼び出されます。SNS トピックは、E メール (次の図を参照) と SMS を送信するように設定しておきます。

![\[SNS トピックの設定\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/sns-notification.png)


# アクションの指定、アラームの有効化と無効化
<a name="enable-disable-alarms"></a>

CloudWatch アラームを使用すると、`OK`、`ALARM`、`INSUFFICIENT_DATA` の各状態にアラームが変化したときに実行するアクションを指定できます。CloudWatch には、SNS トピックとの連携機能が組み込まれており、Amazon Elastic Compute Cloud (Amazon EC2) のアクションや Amazon EC2 Auto Scaling グループのアクションといった、Amazon RDS メトリクスには適用されないアクションカテゴリが複数追加されています。EventBridge の一般的な用途は、ルールを記述して、Amazon RDS メトリクスのアラームがトリガーされたときにアクションを実行するターゲットを定義することです。CloudWatch アラームの状態が変化するたびに、CloudWatch から EventBridge にイベントが送信されます。これらのアラーム状態変更イベントを使用して、EventBridge でイベントターゲットをトリガーできます。詳細については、CloudWatch ドキュメントの「[アラームイベントと EventBridge](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-and-eventbridge.html)」を参照してください。

アラームの管理が必要となる場合もあります。例えば、計画した設定変更またはテスト中にアラームを自動的に無効にし、計画したアクションが終了したらアラームを再度有効にするなどです。例を挙げましょう。ダウンタイムが必要な計画済みデータベースソフトウェアアップグレードを予定しており、データベースが使用できなくなった場合に有効化されるアラームがある場合は、API アクション [DisableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DisableAlarmActions.html) と [EnableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_EnableAlarmActions.html)、あるいは AWS CLIの [disable-alarm-actions](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/disable-alarm-actions.html) と [enable-alarm-actions](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/enable-alarm-actions.html) コマンドによってアラームを無効化または有効化できます。アラーム履歴は、CloudWatch コンソール、[DescribeAlarmHistory](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html) API アクション、または AWS CLIの [describe-alarm-history](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/describe-alarm-history.html) コマンドを使用して確認することもできます。CloudWatch は、アラーム履歴を 2 週間保存します。CloudWatch コンソールでは、ナビゲーションペインの **[お気に入りと最近のアクセス]** メニューを選択して、お気に入りのアラームまたは最近使用したしたアラームへのアクセスと、それらの設定を行えます。