AWS Best Practices

24 Times Used
22 MAY 2019
Send report of all instances which are not part of Auto-Scaling Group (ASG)

It is an AWS best practice to launch every EC2 machine in an AWS Auto Scaling Group to achieve zero downtime. This workflow sends a report of instances not launched in an auto-scaling group.

View Template
Send report of EC2 Instances older than 150 days

It is an AWS best practice to stop and relaunch your old EC2 instances, so that they are reallocated to updated and more reliable hardware. Instances older than 150 days are recommended to be updated.

View Template
Send report of EC2 instance which are using IAM access keys

It is AWS best practise to use IAM Roles over IAM Access Keys to sign AWS API request as Roles provide more flexibility to manage permissions. This workflow sends a report of EC2 instances which are not using IAM Roles.

View Template
Notify if AWS CloudTrail is not Enabled

AWS CloudTrail can help you achieve compliance and improve security by logging API calls and changes to your cloud resources.

View Template
Prevent duplicate entries in AWS CloudTrail logs

In order to prevent duplicate records in log occurrences for global AWS services such as IAM, STS or Cloudfront, ensure that only one trail in a multi-region logging setup has the 'Include Global Services' function enabled.

View Template
Send report of security groups with empty descriptions

It is an AWS best practice to give a description for your security groups. It helps in quickly getting more insight into the configuration of your security group. You should define the purpose and identity of the IP address to each rule. This workflow sends a report of security groups which do not have descriptions to any of the rules.

View Template
Enable S3 log file validation for AWS CloudTrail

This feature will enable you to verify the integrity of your CloudTrail log files and determine whether the files have been changed after they have been delivered to the selected S3 bucket. The validation of log file integrity uses industry-standard algorithms such as SHA-256 which makes it impossible to change files without detection.

View Template
CloudTrail multi-region logging

Global tracking of your AWS API Calls will assist you to better manage your AWS account and manage your infrastructure security.

View Template
Enables Automated Backup for redshift cluster if not already enabled

It is AWS best practice to enable automated backups for your Redshift cluster so that in case of unexpected failures data can be recovered

View Template
Enable version upgrade for redshift cluster if not already enabled

This workflow enables Version Upgrade feature on your Redshift cluster. AWS Redshift engine upgrades will occur automatically so the data warehouse service engine can get the newest features, bug fixes or the latest security patches released.

View Template
Ensure all your AWS AMIs are private

AWS AMIS created by you might contain sensitive data like your application or its data that should not be exposed outside your organisation. This workflow convert modifies AMI access from public to private

View Template
Release unattached Elastic IPs to save your cost

If an Elastic IP (EIP) address within your account is not associated with a running EC2 instance or an Elastic Network Interface (ENI) AWS charges you with a small amount. You should release any unused EIPs in order to save cost.

View Template
Notify if any of your AMIs are not encrypted.

It is an AWS best practice to enable data encryption in order to prevent it from unauthorised personnel. AMI encryption is managed by AWS Key Management Service (KMS)

View Template
Notify If any EC2 instance in your account is not Launched using approved/golden AMIs

It is AWS best practice to launch EC2 machine from an approved/golden AMi. Approved AMI is an image of EC2 Instance having all the necessary softwares and setting configured for you application which help in scaling, quick and secure deployment.

View Template
Remove unused Amazon Elastic Network Interfaces (ENI)

It is AWS best practise to remove unused ENIs as there is service limit set by AWS. Keeping a lot of unused ENIs can exhaust the resource limit and will prevent the launching of new EC2 machines.

View Template
Remove unused EC2 key pairs

It is an AWS best practice to remove all unused EC2 key pairs from your account. It provides security to your EC2 machines by restricting access to individuals who are no longer part of your organization but still have old key value pairs with them.

View Template
Ensure redshift cluster is not publicly accessible

It is an AWS best practice to keep your Redshift clusters private for security reasons. If your cluster is public, any machine on the internet can establish a connection to it which can lead to SQL injection or DDoS attack.

View Template
Enable global service events tracking in AWS CloudTrail

With API tracking for global services, such as IAM, STS and CloudFront, you can have complete visibility over all of your AWS infrastructure. Having CloudTrail logging enabled for regional and global AWS services will assist you to ensure compliance and troubleshoot operational or safety issues within your AWS account.

View Template
Ensure AWS CloudTrail logging for global events is enabled

With API tracking for global services, such as IAM, STS and CloudFront, you can have complete visibility over all of your AWS infrastructure. Having CloudTrail logging enabled for regional and global AWS services will assist you to ensure compliance and troubleshoot operational or safety issues within your AWS account.

View Template
Notify if any AWS AMIs are publicly shared

AWS AMIS created by you might contain sensitive information like your application or its data that should not be exposed outside your organisation. This workflow notifies if any of the AWS AMIs are publicly shared.

View Template
Identify Auto Scaling Groups without cooldown periods

Identify Auto Scaling Groups that are not using appropriate cooldown periods, every hour. This helps you to ensure that one scaling event is not initiated before the effects of another are evident.

View Template
Activate all features of organisation using service control policies (SCPs)

Ensure that all features within your Amazon organizations are enabled to gain full control over the use of AWS services and actions across multiple AWS accounts using Service Control Policies.

View Template
Use AWS Organisations

Ensure that Amazon Organizations must be in use to gain oversight on the usage of AWS services across multiple AWS accounts

View Template
Expired ACM Certificates

Having expired ACM certificates lying around is not a AWS best practice can potentially affect application in case they are picked during a deployment.

View Template