これまでのところ、次のような方法でアラームを設定しました。
dim = new Dimension()
.withName("InstanceId")
.withValue(hashedId);
alarmreq = new PutMetricAlarmRequest()
.withDimensions(dim)
.withMetricName(metricName)
.withNamespace(nameSpace)
.withAlarmName(alarmName)
.withActionsEnabled(true)
.withStatistic(statistic)
.withThreshold(threshold)
.withComparisonOperator("GreaterThanThreshold")
.withPeriod(period)
.withEvaluationPeriods(evaluationPeriods)
.withAlarmActions("arn:aws:sns:us-west-2:xxxxxxxxx:NotifyMe");
gCloudWatch.putMetricAlarm(alarmreq);
これにより、SNS NotifyMe を実行する指定されたインスタンスのアラームが作成されます。ただし、アラームが ALARM 状態になったときにインスタンスを停止または終了するために、このアラームまたは SNS に追加する方法に関するドキュメントを見つけることができません。
私が持っている唯一のリードは、.withAlarmActions() は SNS または SQS アクションのみを受け入れますが、SNS は HTTP リクエストを作成できるということです。
また、AWS Web インターフェイスでは、インスタンスを停止または終了するアラームを作成できるため、この機能をアラームに追加できることもわかっています。