Skip to main content

AWS Best Practices: Five Key Approaches to Get You Started

There’s a whole mountain of official documentation on AWS best practices.

Most new users will probably have a great deal of trouble working through all that material (not that you shouldn’t try). So I’m going to try to provide you with a bit of a short cut and present what I think are the top five AWS Best Practices you absolutely must know right now.

1. AWS Best Practices: protect your AWS credentials

Your AWS account represents a business relationship between you and AWS. Since you use your root AWS account to manage your AWS resources and services, it will need full access, which requires root permissions. But with great power comes great risk.

Do not use root account credentials for day-to-day interactions with AWS!

One of the very best of AWS best practices is to avoid creating an access key for your root account. Unless, for some strange reason, you absolutely must have a root access key, it is best not to generate one. Instead, create one or more AWS Identity and Access Management (IAM) users, give them the necessary permissions and use those users for everyday interaction with AWS.

2. AWS Best Practices: secure your Applications

Sometimes it is better to explain a concept with a picture or diagram rather than with words.

The diagram below could be a small scale deployment on AWS. You have a Web Server, an App Server, and a DB server. You should allow access from the outside world only where necessary. So a security group should be created for the web server that only allows traffic through ports 80 (HTTP) and 443 (HTTPS). Another security group could restrict traffic into the App Server to port 22 (SSH), and even then only to sessions originating from a defined range of IP addresses. All other Internet traffic should be denied.

Further security configuration could control access between the servers themselves.
Amazon EC2 Security Group Firewall

3. AWS Best Practices: backup a lot and test your recovery resources before you need them

With all your AWS credentials protected and your applications secured you should be sleeping better at night. Now it’s time to start thinking about a backup and recovery plan. Here are some things that should be part of any robust backup plan.

  • Regularly back up your instance using Amazon EBS snapshots or a backup tool.
  • Deploy critical components of your application across multiple Availability Zones, and replicate your data appropriately.
  • Design your applications to handle dynamic IP addressing when your instance restarts.
  • Monitor and respond to events.
  • Ensure that you are prepared to handle failover. For a basic solution, you can manually attach a network interface or Elastic IP address to a replacement instance.
  • Regularly test the process of recovering your instances and Amazon EBS volumes if they fail.

4. AWS Best Practices: use the Trusted Advisor

I’ve written about Trusted Advisor before.  As it turns out, so has the Amazon documentation team. They characterized their Trusted Advisor as

…Your customized cloud expert! It helps you to observe best practices for the use of AWS by inspecting your AWS environment with an eye toward saving money, improving system performance and reliability, and closing security gaps.

The good news is that there are four Trusted Advisor services available at no charge:

  • Service Limits Check
  • Security Groups – Specific Ports Unrestricted Check
  • IAM Use Check
  • MFA on Root Account Check

This is a must-use tool. All you need to do is click on the Trusted Advisor icon in your AWS console under Administration & Security and the screen will appear and give you an instantaneous snapshot of the current status of the four items listed above. This is the easiest of all the AWS Best Practices listed here, so there is really no excuse for not using it. To dive into the AWS Trusted Advisor service and how you can use it to benefit your AWS account, take a look at Cloud Academy’s Overview of AWS Trusted Advisor course.

5. AWS Best Practices: understand the AWS Shared Responsibility Model

You must know what you are responsible for and what lies under Amazon Web Services’ control. Once again rather than bore you with a long explanation, when a diagram will be more effective, see if this doesn’t make things clear.
AWS Shared Responsibility Model

Conclusion

AWS Best Practices exist because they work best. And their significance increases exponentially as the size of your deployment grows. However, figuring out what to focus on can be very confusing at first. Hopefully, this article will give you some idea of where you should begin.

Here’s a list of just some of the best practice documents currently available if you wish to continue reading on AWS best practices:

Avatar

Written by

Michael Sheehy

I have been UNIX/Linux System Administrator for the past 15 years and am slowly moving those skills into the AWS Cloud arena. I am passionate about AWS and Cloud Technologies and the exciting future that it promises to bring.

Related Posts

Sam Ghardashem
Sam Ghardashem
— May 15, 2019

Aviatrix Integration of a NextGen Firewall in AWS Transit Gateway

Learn how Aviatrix’s intelligent orchestration and control eliminates unwanted tradeoffs encountered when deploying Palo Alto Networks VM-Series Firewalls with AWS Transit Gateway.Deploying any next generation firewall in a public cloud environment is challenging, not because of the f...

Read more
  • AWS
Joe Nemer
Joe Nemer
— May 3, 2019

AWS Config Best Practices for Compliance

Use AWS Config the Right Way for Successful ComplianceIt’s well-known that AWS Config is a powerful service for monitoring all changes across your resources. As AWS Config has constantly evolved and improved over the years, it has transformed into a true powerhouse for monitoring your...

Read more
  • AWS
  • Compliance
Avatar
Francesca Vigliani
— April 30, 2019

Cloud Academy is Coming to the AWS Summits in Atlanta, London, and Chicago

Cloud Academy is a proud sponsor of the 2019 AWS Summits in Atlanta, London, and Chicago. We hope you plan to attend these free events that bring the cloud computing community together to connect, collaborate, and learn about AWS. These events are all about learning. You can learn how t...

Read more
  • AWS
  • AWS Summits
Paul Hortop
Paul Hortop
— April 2, 2019

How to Monitor Your AWS Infrastructure

The AWS cloud platform has made it easier than ever to be flexible, efficient, and cost-effective. However, monitoring your AWS infrastructure is the key to getting all of these benefits. Realizing these benefits requires that you follow AWS best practices which constantly change as AWS...

Read more
  • AWS
  • Monitoring
Joe Nemer
Joe Nemer
— April 1, 2019

AWS EC2 Instance Types Explained

Amazon Web Services’ resource offerings are constantly changing, and staying on top of their evolution can be a challenge. Elastic Cloud Compute (EC2) instances are one of their core resource offerings, and they form the backbone of most cloud deployments. EC2 instances provide you with...

Read more
  • AWS
  • EC2
Avatar
Nitheesh Poojary
— March 26, 2019

How DNS Works – the Domain Name System (Part One)

Before migrating domains to Amazon's Route53, we should first make sure we properly understand how DNS worksWhile we'll get to AWS's Route53 Domain Name System (DNS) service in the second part of this series, I thought it would be helpful to first make sure that we properly understand...

Read more
  • AWS
Avatar
Stuart Scott
— March 14, 2019

Multiple AWS Account Management using AWS Organizations

As businesses expand their footprint on AWS and utilize more services to build and deploy their applications, it becomes apparent that multiple AWS accounts are required to manage the environment and infrastructure.  A multi-account strategy is beneficial for a number of reasons as ...

Read more
  • AWS
  • Identity Access Management
Avatar
Sanket Dangi
— February 11, 2019

WaitCondition Controls the Pace of AWS CloudFormation Templates

AWS's WaitCondition can be used with CloudFormation templates to ensure required resources are running.As you may already be aware, AWS CloudFormation is used for infrastructure automation by allowing you to write JSON templates to automatically install, configure, and bootstrap your ...

Read more
  • AWS
  • CloudFormation
Badrinath Venkatachari
Badrinath Venkatachari
— February 1, 2019

10 Common AWS Mistakes & How to Avoid Them

Massive migration to the public cloud is changing architecture patterns, operating principles, and governance models. That means new approaches are vital to get a handle on soaring cloud spend. Because the cloud’s short-term billing cycles call for financial discipline, you must empower...

Read more
  • AWS
  • Operations
Avatar
Andrew Larkin
— January 24, 2019

The 9 AWS Certifications: Which is Right for You and Your Team?

As companies increasingly shift workloads to the public cloud, cloud computing has moved from a nice-to-have to a core competency in the enterprise. This shift requires a new set of skills to design, deploy, and manage applications in cloud computing.As the market leader and most ma...

Read more
  • AWS
  • AWS Certifications
Avatar
Andrew Larkin
— January 15, 2019

2018 Was a Big Year for Content at Cloud Academy

As Head of Content at Cloud Academy I work closely with our customers and my domain leads to prioritize quarterly content plans that will achieve the best outcomes for our customers.We started 2018 with two content objectives: To show customer teams how to use Cloud Services to solv...

Read more
  • AWS
  • Azure
  • Cloud Computing
  • Google Cloud Platform
Avatar
Jeremy Cook
— November 29, 2018

Amazon Elastic Inference – GPU Acceleration for Faster Inferencing

“Add GPU acceleration to any Amazon EC2 instance for faster inference at much lower cost (up to 75% savings)”So you’ve just kicked off the training phase of your multilayered deep neural network. The training phase is leveraging Amazon EC2 P3 instances to keep the training time to a...

Read more
  • AWS
  • Elastic Inference
  • re:Invent 2018