CloudWatch アラームを設定する - AWS Cloud Development Kit (AWS CDK) v2

これは AWS CDK v2 デベロッパーガイドです。古い v1 CDK は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

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

CloudWatch アラームを設定する

aws-cloudwatch パッケージを使用して、 CloudWatch メトリクスに Amazon CloudWatch アラームを設定します。事前定義されたメトリクスを使用するか、独自のメトリクスを作成できます。

既存のメトリクスを使用する

多くの Construct Library AWS モジュールでは、メトリクスを持つオブジェクトのインスタンスの便利なメソッドにメトリクスの名前を渡すことで、既存のメトリクスにアラームを設定できます。例えば、Amazon SQSキューの場合、キューの metric() メソッドApproximateNumberOfMessagesVisibleから メトリクスを取得できます。 https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html#metricmetricname-props

TypeScript
const metric = queue.metric("ApproximateNumberOfMessagesVisible");
JavaScript
const metric = queue.metric("ApproximateNumberOfMessagesVisible");
Python
metric = queue.metric("ApproximateNumberOfMessagesVisible")
Java
Metric metric = queue.metric("ApproximateNumberOfMessagesVisible");
C#
var metric = queue.Metric("ApproximateNumberOfMessagesVisible");

独自のメトリクスを作成する

次のように独自のメトリクスを作成します。ここで、名前空間の値は Amazon SQSキューの AWS/SQS のようになります。また、メトリクスの名前とディメンションを指定する必要があります。

TypeScript
const metric = new cloudwatch.Metric({ namespace: 'MyNamespace', metricName: 'MyMetric', dimensionsMap: { MyDimension: 'MyDimensionValue' } });
JavaScript
const metric = new cloudwatch.Metric({ namespace: 'MyNamespace', metricName: 'MyMetric', dimensionsMap: { MyDimension: 'MyDimensionValue' } });
Python
metric = cloudwatch.Metric( namespace="MyNamespace", metric_name="MyMetric", dimensionsMap=dict(MyDimension="MyDimensionValue") )
Java
Metric metric = Metric.Builder.create() .namespace("MyNamespace") .metricName("MyMetric") .dimensionsMap(java.util.Map.of( // Java 9 or later "MyDimension", "MyDimensionValue")) .build();
C#
var metric = new Metric(this, "Metric", new MetricProps { Namespace = "MyNamespace", MetricName = "MyMetric", Dimensions = new Dictionary<string, object> { { "MyDimension", "MyDimensionValue" } } });

アラームの作成

既存のメトリクスまたは定義したメトリクスがあれば、アラームを作成できます。この例では、過去 3 つの評価期間のうち 2 つに 100 を超えるメトリクスがある場合にアラームが発生します。comparisonOperator プロパティを使用して、アラームの より小さい などの比較を使用できます。G reater-than-or-equal-to が AWS CDK デフォルトであるため、指定する必要はありません。

TypeScript
const alarm = new cloudwatch.Alarm(this, 'Alarm', { metric: metric, threshold: 100, evaluationPeriods: 3, datapointsToAlarm: 2, });
JavaScript
const alarm = new cloudwatch.Alarm(this, 'Alarm', { metric: metric, threshold: 100, evaluationPeriods: 3, datapointsToAlarm: 2 });
Python
alarm = cloudwatch.Alarm(self, "Alarm", metric=metric, threshold=100, evaluation_periods=3, datapoints_to_alarm=2 )
Java
import software.amazon.awscdk.services.cloudwatch.Alarm; import software.amazon.awscdk.services.cloudwatch.Metric; Alarm alarm = Alarm.Builder.create(this, "Alarm") .metric(metric) .threshold(100) .evaluationPeriods(3) .datapointsToAlarm(2).build();
C#
var alarm = new Alarm(this, "Alarm", new AlarmProps { Metric = metric, Threshold = 100, EvaluationPeriods = 3, DatapointsToAlarm = 2 });

アラームを作成する別の方法は、 メトリクスの createAlarm() メソッドを使用することです。これは、基本的にAlarmコンストラクターと同じプロパティを取ります。メトリクスは既知のため、渡す必要はありません。

TypeScript
metric.createAlarm(this, 'Alarm', { threshold: 100, evaluationPeriods: 3, datapointsToAlarm: 2, });
JavaScript
metric.createAlarm(this, 'Alarm', { threshold: 100, evaluationPeriods: 3, datapointsToAlarm: 2, });
Python
metric.create_alarm(self, "Alarm", threshold=100, evaluation_periods=3, datapoints_to_alarm=2 )
Java
metric.createAlarm(this, "Alarm", new CreateAlarmOptions.Builder() .threshold(100) .evaluationPeriods(3) .datapointsToAlarm(2) .build());
C#
metric.CreateAlarm(this, "Alarm", new CreateAlarmOptions { Threshold = 100, EvaluationPeriods = 3, DatapointsToAlarm = 2 });