Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Service Screener

An open source guidance tool for the AWS environment. Click here for sample report.

Disclaimer: The generated report has to be hosted locally and MUST NOT be internet accessible

Overview

Service Screener is a tool that runs automated checks on AWS environments and provides recommendations based on AWS and community best practices.

AWS customers can use this tool on their own environments and use the recommendations to improve the Security, Reliability, Operational Excellence, Performance Efficiency and Cost Optimisation at the service level.

This tool aims to complement the AWS Well Architected Tool.

How does it work?

Service Screener uses AWS Cloudshell, a free serivce that provides a browser-based shell to run scripts using the AWS CLI. It runs multiple describe and get API calls to determine the configuration of your environment.

How much does it cost?

Running this tool is free as it is covered under the AWS Free Tier. If you have exceeded the free tier limits, each run will cost less than $0.01.

Prerequisites

  1. Please review the DISCLAIMER before proceeding.
  2. You must have an existing AWS Account.
  3. You must have an IAM User with sufficient read permissions. Here is a sample policy. Additionally, the IAM User must also have the following permissions: a. AWSCloudShellFullAccess b. cloudformation:CreateStack

Installing service-screener V2

  1. Log in to your AWS account using the IAM User with sufficient permissions described above.
  2. Launch AWS CloudShell in any region.
Launch AWS Cloudshell Walkthrough

Launch AWS CloudShell

In the AWS CloudShell terminal, run this script this to install the dependencies:

python3 -m venv .
source bin/activate
python3 -m pip install --upgrade pip
rm -rf service-screener-v2
git clone https://github.com/aws-samples/service-screener-v2.git
cd service-screener-v2
pip install -r requirements.txt
alias screener="python3 $(pwd)/main.py"
Install Dependecies Walkthrough

Install dependencies

Using Service Screener

When running Service Screener, you will need to specify the regions and services you would like it to run on. It currently supports Amazon Cloudfront, AWS Cloudtrail, Amazon Dynamodb, Amazon EC2, Amazon EFS, Amazon RDS, Amazon EKS, Amazon Elasticache, Amazon Guardduty, AWS IAM, Amazon Opensearch, AWS Lambda, and Amazon S3.

We recommend running it in all regions where you have deployed workloads in. Adjust the code samples below to suit your needs then copy and paste it into Cloudshell to run Service Screener.

Example 1: Run in the Singapore region, check all services

screener --regions ap-southeast-1 

Example 2: Run in the Singapore region, check only Amazon S3

screener --regions ap-southeast-1 --services s3

Example 3: Run in the Singapore & North Virginia regions, check all services

screener --regions ap-southeast-1,us-east-1

Example 4: Run in the Singapore & North Virginia regions, check RDS and IAM

screener --regions ap-southeast-1,us-east-1 --services rds,iam

Example 5: Run in the Singapore region, filter resources based on tags (e.g: Name=env Values=prod and Name=department Values=hr,coe)

screener --regions ap-southeast-1 --filters env=prod%department=hr,coe

Example 6: Run in all regions and all services

screener --regions ALL

Other parameters

##mode
--mode api-full | api-raw | report

# api-full: give full results in JSON format
# api-raw: raw findings
# report: generate default web html
Get Report Walkthrough

Get Report

Downloading the report

The output is generated as a ~/service-screener-v2/output.zip file. You can download the file in the CloudShell console by clicking the Download file button under the Actions menu on the top right of the Cloudshell console.

Download Output & Report Viewing Walkthrough

Download Output

Once downloaded, unzip the file and open 'index.html' in your browser. You should see a page like this:

front page

Ensure that you can see the service(s) run on listed on the left pane. You can navigate to the service(s) listed to see detailed findings on each service.

Sample Output Walkthrough

Sample Output

Using the report

The report provides you an easy-to-navigate dashboard of the various best-practice checks that were run.

Use the left navigation bar to explore the checks for each service. Expand each check to read the description, find out which resources were highlighted, and get recommendations on how to remediate the findings.

Contributing to service-screener

We encourage public contributions! Please review CONTRIBUTING for details on our code of conduct and development process.

Contact

Please review CONTRIBUTING to raise any issues.

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

Metadata

Release files for aws-service-screener 2.0.2a3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aws-service-screener 2.0.2a3
File Size Uploaded
aws_service_screener-2.0.2a3.tar.gz 2.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for aws-service-screener 2.0.2a3
File Interpreter ABI Platform
aws_service_screener-2.0.2a3-py3-none-any.whl Python 3 none any Details

Total release size: 5.8 MB

Release files / aws_service_screener-2.0.2a3.tar.gz

Download URL aws_service_screener-2.0.2a3.tar.gz
Size 2.9 MB
Tags Source
SHA-256 checksum
How to use checksums
ff6d76b56e3b31e918c5bd526f6038914eb614df144cec4d0a59640e4e06a214
BLAKE2b-256 checksum
How to use checksums
6268973f1eaca3d31c3dab2b1d317cbf19aa4cbf0bce65455864924acc542f5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.2 Darwin/23.3.0

Release files / aws_service_screener-2.0.2a3-py3-none-any.whl

Download URL aws_service_screener-2.0.2a3-py3-none-any.whl
Size 2.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0a3076ada8b2aa20c015040a908f6e7e47de24f0dd830d57edc2de2147dab4aa
BLAKE2b-256 checksum
How to use checksums
76c082aa02f5e9065668e9246b271fe478da2a5e2837ab4deb974bb1ef35a711
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.2 Darwin/23.3.0
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page