## TL;DR
The AWS/Billing namespace only exists in us-east-1, so the console refuses to create a billing alarm anywhere else. Create the alarm in us-east-1 instead, with billing alerts enabled on the account. The workloads it watches can live in any region.

```text
The AWS/Billing namespace is not available in this region
```

## Use this when
- Creating a billing alarm in the console errors on the namespace.
- An IaC template fails with the same namespace message.
- You want one estimated-charges alarm for the whole account.

## Not for this skill when
- The alarm exists but never fires. That is a threshold problem.
- You need per-region spend alarms. Billing metrics are account-wide.

## Steps
1. Switch to us-east-1 before creating the alarm, in the console, CLI, or IaC provider block. Verify: the AWS/Billing namespace appears in the metric picker.
2. Enable billing alerts in Billing Preferences on the payer account. Verify: the EstimatedCharges metric shows data points.
3. Create the alarm against EstimatedCharges with statistic Maximum and a sensible period (6 hours matches the metric cadence). Verify: the alarm is created without the namespace error.
4. Attach the notification action (SNS topic) and confirm the subscription. Verify: a test notification arrives.
5. Remove or ignore the failed alarm definition in the original region. Verify: only one billing alarm exists, in us-east-1.

### CloudFormation variant
Billing alarms belong in the us-east-1 stack, not the workload stack. Verify: the template deploys cleanly in us-east-1.

Compatibility: AWS CloudWatch. This regional lock applies to every account type.

## Why it happens
AWS publishes billing data once, to us-east-1. Every other region simply has no AWS/Billing namespace, so any alarm or metric query referencing it there is refused at creation time.

## Edge cases / pitfalls
- GovCloud and China partitions have their own billing regions; us-east-1 does not apply there.
- Billing alerts are a payer-account setting. Enabling them on a linked account does nothing.
- The namespace appears in the console only after billing alerts have been on long enough to emit data.
- Do not alarm on EstimatedCharges with a 1-minute period; the metric updates every few hours.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_Oz2dL6VOinp8C0DD3wgoWA
