CloudWatch Alarms


https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create-alarm-on-metric-math-expression.html
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation
https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html
https://docs.aws.amazon.com/sns/latest/dg/sns-lambda.html
https://docs.aws.amazon.com/lambda/latest/dg/with-sns.html

1. Important Points#

CloudWatch alarm payload

{
  "AlarmName": "cookbook-uat-aurora-memory-high",
  "AlarmDescription": "Low free memory on Aurora cluster",
  "AWSAccountId": "360783619144",
  "AlarmConfigurationUpdatedTimestamp": "2026-06-17T08:05:22.702+0000",
  "NewStateValue": "ALARM",
  "NewStateReason": "Threshold Crossed: 2 out of the last 2 datapoints [6.0463669248E9 (17/06/26 08:05:10), 6.0440829952E9 (17/06/26 08:05:00)] were less than or equal to the threshold (1.024E10) (minimum 2 datapoints for OK -> ALARM transition).",
  "StateChangeTime": "2026-06-17T08:05:33.190+0000",
  "Region": "Asia Pacific (Tokyo)",
  "AlarmArn": "arn:aws:cloudwatch:ap-northeast-1:0123456789012:alarm:cookbook-uat-aurora-memory-high",
  "OldStateValue": "OK",
  "ActionExecutedAfterMuteWindow": false,
  "OKActions": [],
  "AlarmActions": [
    "arn:aws:sns:ap-northeast-1:0123456789012:cookbook-uat-cloudwatch-alerts"
  ],
  "InsufficientDataActions": [],
  "Trigger": {
    "MetricName": "FreeableMemory",
    "Namespace": "AWS/RDS",
    "StatisticType": "Statistic",
    "Statistic": "AVERAGE",
    "Unit": null,
    "Dimensions": [
      {
        "value": "cookbook-uat-aurora",
        "name": "DBClusterIdentifier"
      }
    ],
    "Period": 10,
    "EvaluationPeriods": 2,
    "DatapointsToAlarm": 2,
    "ComparisonOperator": "LessThanOrEqualToThreshold",
    "Threshold": 10240000000,
    "TreatMissingData": "notBreaching",
    "EvaluateLowSampleCountPercentile": ""
  }
}