AWS provides us with an option to get notified when the monthly bill exceeds a certain threshold using billing alarms. To create a billing alarm, you need to login to the AWS management console using root account credentials, as the IAM users do not have permissions to access billing information or create billing alarms.
In the drop down menu next to your account name on the right top corner, choose My Billing Dashboard which will take you to the Billing & Cost Management Dashboard page.
In the left hand navigation pane, choose Billing Preferences and enable the Receive Billing Alerts option and save preferences. This is a required setting to receive billing alarm notifications.
To create billing alarm, navigate to the services page and choose CloudWatch service under Management and Governance section as shown below:
In the left hand navigation pane on the CloudWatch dashboard, choose Alarms and select Create Alarm.
Choose show advanced on the bottom of the page and enter values for Name, Description, Estimated Charges under the Alarm details section.
Further down, under Additional settings section, leave the Treat missing data as as ignore.
Under the Actions section, leave Whenever this alarm as State is ALARM. To use an SNS topic to receive the email notifications, choose Send notification to as Select a notification list and enter list or create a new list. To subscribe to email notifications without SNS topic, choose Notify me and enter a valid email address. This email address should be confirmed for alarm status to change from pending to OK.
Login to your email account and confirm the email address. Once done, you will see the state of alarm as OK.
You can also modify or delete the billing alarm as shown below.