4.8 Ensure Billing Alerts are enabled for increments of X spend

Information

AWS Billing and Cost Management is the service that you use to pay your AWS bill, monitor your usage, and budget your costs.

The Billing and Cost Management service provides features that you can use to estimate and plan your AWS costs, receive alerts if your costs exceed a threshold that you set, assess your biggest investments in AWS resources.

Once all resources are tagged, it becomes possible to perform detailed billing analysis on a per tag basis.
Provides billing notifications based on per-determined dollar value intervals. Billing alerts help prevent unexpected spend increases which may be due to:

* Higher than normal traffic load - resulting in a larger number of instances per auto-scaling group
* Shadow I.I. - resources which have been created but are no longer in use
* Unauthorized account or instance usage

NOTE: Nessus has not performed this check. Please review the benchmark to ensure target compliance.

Solution

Before you create a billing alarm, you must enable billing alerts. You need to do this only once.

*

Sign in to the AWS Management Console and open the Billing and Cost Management console at https://console.aws.amazon.com/billing/home#/ [https://console.aws.amazon.com/billing/home].
*

On the navigation pane, choose Preferences.
*

Select the Receive Billing Alerts check box.
*

Choose Save preferences.

The second step is using the Amazon unified command line interface to create the billing alarm based on the EstimatedCharges metric:

1. Using the Amazon unified command line interface, list all available Amazon CloudWatch metrics for the AWS services that you're using.:

aws cloudwatch list-metrics

2. In the list of metrics, review the billing metrics that have the AWS/Billing namespace. These are the billing metrics that you can use to create a billing alarm.

3. Using the Amazon unified command line interface:

aws cloudwatch put-metric-alarm --alarm-name <_billing_alarm_name_> --comparison-operator GreaterThanOrEqualToThreshold --evaluation-periods 1 --metric-name <_e__stimated_charges>_ --namespace AWS/Billing --dimensions Name=Currency,Value=USD --period 21600 --statistic Maximum --threshold _<integer>_ --actions-enabled --alarm-actions <sns_topic_arn>

See Also

https://workbench.cisecurity.org/files/260