In order to build HA & Resilient applications in AWS, you need to assume that everything will fail. Therefore, you always design and deploy your application in multiple AZ & regions. So you end up with many unused AWS resources (Snapshots, ELB, EC2, Elastic IP, etc) that could cost you a fortune.
One pillar of AWS Well-Architected Framework is Cost optimization. That’s why you need to have a global overview of your AWS Infrastructure. Fortunately, AWS offers many fully-managed services like CloudWatch, CloudTrail, Trusted Advisor & AWS Config to help you achieve that. But, they require a deep understanding of AWS Platform and they are not straighforward.
That’s why I came up with Komiser a tool that simplifies the process by querying the AWS API to fetch information about almost all critical services of AWS like EC2, RDS, ELB, S3, Lambda … in real-time in a single Dashboard.
Note: To prevent excedding AWS API rate limit for requests, the response is cached in in-memory cache by default for 30 minutes.
Komiser supported AWS Services:
Compute:
Network & Content Delivery:
Management Tools:
Database:
Messaging:
Storage:
Security Identity & Compliance:
1 — Configuring Credentials
Komiser needs your AWS credentials to authenticate with AWS services. The CLI supports multiple methods of supporting these credentials. By default the CLI will source credentials automatically from its default credential chain. The common items in the credentials chain are the following:
Environment Credentials:
Shared Credentials file (~/.aws/credentials)
EC2 Instance Role Credentials
To get started, create a new IAM user, and assign to it this following IAM policy:
Next, generate a new AWS Access Key & Secret Key, then update ~/.aws/credentials file as below:
2 — Installation
2.1 — CLI
Find the appropriate package for your system and download it. For linux:
wget https://s3.us-east-1.amazonaws.com/komiser/1.0.0/linux/komiser
chmod +x komiser
Note: The Komiser CLI is updated frequently with support for new AWS services. To see if you have the latest version, see the project Github repository.
After you install the Komiser CLI, you may need to add the path to the executable file to your PATH variable.
2.2 — Docker Image
Use the official Komiser Docker Image:
docker run -d -p 3000:3000 -e AWS_ACCESS_KEY_ID=”” -e AWS_SECRET_ACCESS_KEY=”” -e AWS_DEFAULT_REGION=”” — name komiser mlabouardy/komiser
3 — Overview
Once installed, start the Komiser server:
komiser start — port 3000 — duration 30
If you point your favorite browser to http://localhost:3000, you should see Komiser Dashboard:
Hope it helps ! The CLI is still in its early stages, so you are welcome to contribute to the project on Github.