これは 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
});