The AWS CloudWatch integration turns CloudWatch alarms into Scaling incidents. When an alarm transitions toDocumentation Index
Fetch the complete documentation index at: https://docs.scaling.cloud/llms.txt
Use this file to discover all available pages before exploring further.
ALARM, Scaling opens a new incident on the mapped component. When it returns to OK, the matching open incident is resolved.
How it works
- You create an AWS integration in Scaling and pick a component it maps to. Scaling issues a unique webhook URL.
- In AWS, you create an SNS topic, subscribe the webhook URL to it, and route your CloudWatch alarms to that topic.
- Scaling verifies every incoming SNS notification’s signature, pins the topic ARN on first delivery, and ingests the alarm.
OK → ALARMopens a new incident on the mapped component.ALARM → OKresolves the matching open incident.INSUFFICIENT_DATAis ignored.
State handling
| Alarm transition | What Scaling does |
|---|---|
OK → ALARM | Opens a new incident on the mapped component. |
ALARM → OK | Resolves the open incident matched by the alarm ARN. |
ALARM → ALARM | No-op (deduplicated by the alarm’s resource identifier). |
OK → INSUFFICIENT_DATA | No-op. |
INSUFFICIENT_DATA → OK | No-op. |
| Replays / re-deliveries | Idempotent — the same SNS message is processed at most once. |
Security model
- HMAC signature verification — every SNS notification is verified against AWS’s published signing certificate. Notifications with invalid signatures are rejected. Scaling requires
SignatureVersion=2(RSA-SHA256); RSA-SHA1 (the SNS default) is no longer accepted. - Topic ARN pinning — the first valid
SubscriptionConfirmationpins the topic ARN on the integration. Subsequent notifications with a differentTopicArnare rejected. - Webhook tokens are revealed once — when you create the integration, the webhook URL is shown one time only. Scaling stores only a SHA-256 hash; if you lose the URL you must delete and recreate the integration.
- No payload logging — Scaling does not log raw SNS payloads at info level. Structured logs reference only
orgIdandintegrationId.
Setup
For a step-by-step walkthrough, see Ingest CloudWatch alarms. If your alarms are defined in AWS CDK, see Ingest CloudWatch alarms with AWS CDK for the TypeScript patterns that wire both ALARM and OK transitions. In short:Create the integration in Scaling
Go to Settings → Integrations → AWS and click Add integration. Choose a name and the component you want alarms to open incidents on. Copy the webhook URL on the one-time reveal screen.
Create an SNS topic in AWS
In the AWS console, create a new SNS topic (Standard, not FIFO) in the region where your alarms live.
Subscribe the webhook URL
Add an HTTPS subscription to the topic, pasting the webhook URL you copied from Scaling. Set the subscription’s SignatureVersion to
2 (RSA-SHA256) — the SNS default of 1 (RSA-SHA1) is no longer accepted. Scaling will auto-confirm the subscription on first delivery.One integration per topic
Each AWS integration is bound to one mapped component. If you want different alarms to open incidents on different components, create one integration (and one SNS topic) per component.Removing an integration
Deleting an integration in Scaling stops ingestion immediately — any further deliveries to the webhook URL return404. To stop AWS from retrying, remove the HTTPS subscription from the SNS topic on the AWS side.