Architecture Overview

Deploying this solution with the default parameters
builds the following environment in the AWS Cloud.

Figure 1: Cost Optimization Monitor solution architecture on
AWS

The solution deploys an Amazon Elasticsearch Service (Amazon ES) domain, which is
the hardware, software, and data
exposed by Amazon Elasticsearch Service endpoints. During initial configuration of
the AWS CloudFormation template, users
choose from one of three solution sizes to determine the number and type of data nodes
(Amazon
Elasticsearch instances) in the cluster: small, medium, or large.

The template also launches an Amazon EC2 instance in an Amazon Virtual Private Cloud
(Amazon VPC) network. The instance
is configured with an Nginx proxy to limit the exposure of data stored in Amazon ES.
It serves as
an intermediary between the Kibana client web browser and the Amazon ES domain endpoint,
filtering
requests and then forwarding them to Amazon ES from a single authenticated IP address
(see Additional Security Settings for more information).
During initial configuration, the user specifies the IP address range that can access
the
instance as well as custom login credentials for an extra layer of protection. This
highly
available design enables Auto Scaling to maintain solution performance and uses Elastic
Load Balancing to manage
incoming traffic.

The Amazon EC2 instance also hosts Python scripts that parse data from the latest
billing
report and upload it daily to Amazon ES, and also that import a default set of Kibana
dashboards to
Amazon ES during initial launch.

Users have the option to automatically create a new Amazon S3 bucket or use an existing
bucket
to store detailed billing reports. The template configures the applicable bucket with
a
cross-account policy to allow objects from AWS Billing and Cost Management. The report
file is continuously
overwritten, but the data will be parsed daily and sent to Amazon ES.

Javascript is disabled or is unavailable in your browser.

To use the AWS Documentation, Javascript must be enabled. Please refer to your browser's
Help pages for instructions.