What you get

Subscribe an SNS topic to OpsPing and every CloudWatch alarm pages on-call: ALARM creates the alert, OK closes it, and the alarm name becomes a stable alias — cloudwatch:<AlarmName> — so the open/close loop is deterministic. INSUFFICIENT_DATA creates nothing; flapping metrics don't manufacture pages.

Setup

  1. Create the OpsPing integration with source type AWS CloudWatch (SNS) and a default service.
  2. Subscribe the SNS topic to the integration's HTTPS webhook URL.
  3. Confirm the subscription separately — OpsPing acknowledges confirmation messages but does not confirm on your behalf.
  4. Force one alarm transition and verify the alert lands with the right priority.

Field mapping

CloudWatch stateOpsPing behavior
ALARMCreates an alert — alias cloudwatch:<AlarmName>, default priority P3, alarm reason as description
OKCloses the alert owning that alias
INSUFFICIENT_DATANo alert created
SNS envelopeUnwrapped automatically — the alarm body is what gets mapped
Region, timestampMapped into the alert

Operational notes

Migrating from Opsgenie or PagerDuty?

The SNS topic is the asset — you keep it and swap the subscriber. Opsgenie users: the SNS integration that pointed at Opsgenie's HTTPS endpoint repoints to OpsPing in minutes. See the Opsgenie migration guide for the full cutover order.

FAQ

Does OpsPing confirm the SNS subscription?

No — OpsPing acknowledges SNS confirmation messages but will not confirm the subscription for you. Click the confirmation link (or call ConfirmSubscription) after subscribing the topic; a page delivered before confirmation is the most common setup miss.

What priority do CloudWatch alarms get?

P3 by default, with the alarm reason as the description. If specific alarms must page at P1 — the database, the payment path — tag them in AWS and add an alert policy that sets priority from the tag, or split them onto a dedicated integration.

Why didn't INSUFFICIENT_DATA create an alert?

By design: unknown-state flapping would manufacture noise. Only ALARM creates and OK closes. If a stuck-unknown state matters for a given alarm, model it in CloudWatch (alarm on the metric math) rather than hoping the pager catches it.