open-guides / og-aws

πŸ“™ Amazon Web Services β€” a practical guide
Creative Commons Attribution 4.0 International
35.76k stars 3.88k forks source link

An Open Guide

The Open Guide to Amazon Web Services

Slack Chat ⇦ Join us!

Credits βˆ™ Contributing guidelines

Table of Contents

Purpose

AWS in General

Specific AWS Services Basics Tips Gotchas
ALB πŸ“— πŸ“˜ πŸ“™
AMIs πŸ“— πŸ“˜ πŸ“™
API Gateway πŸ“— πŸ“˜ πŸ“™
Auto Scaling πŸ“— πŸ“˜ πŸ“™
Batch πŸ“— πŸ“˜
Certificate Manager πŸ“— πŸ“˜ πŸ“™
CLB (ELB) πŸ“— πŸ“˜ πŸ“™
CloudFront πŸ“— πŸ“˜ πŸ“™
CloudFormation πŸ“— πŸ“˜ πŸ“™
CloudWatch πŸ“— πŸ“˜ πŸ“™
Device Farm πŸ“— πŸ“˜ πŸ“™
DirectConnect πŸ“— πŸ“˜
DynamoDB πŸ“— πŸ“˜ πŸ“™
EBS πŸ“— πŸ“˜ πŸ“™
EC2 πŸ“— πŸ“˜ πŸ“™
ECS πŸ“— πŸ“˜
EKS πŸ“— πŸ“˜ πŸ“™
EFS πŸ“— πŸ“˜ πŸ“™
Elastic Beanstalk πŸ“— πŸ“˜ πŸ“™
Elastic IPs πŸ“— πŸ“˜ πŸ“™
ElastiCache πŸ“— πŸ“˜ πŸ“™
EMR πŸ“— πŸ“˜ πŸ“™
Fargate πŸ“— πŸ“˜ πŸ“™
Glacier πŸ“— πŸ“˜ πŸ“™
IoT πŸ“— πŸ“˜ πŸ“™
Kinesis Firehose πŸ“™
Kinesis Streams πŸ“— πŸ“˜ πŸ“™
KMS πŸ“— πŸ“˜ πŸ“™
Lambda πŸ“— πŸ“˜ πŸ“™
Load Balancers πŸ“— πŸ“˜ πŸ“™
Mobile Hub πŸ“— πŸ“˜ πŸ“™
OpsWorks πŸ“— πŸ“˜ πŸ“™
Quicksight πŸ“— πŸ“™
RDS πŸ“— πŸ“˜ πŸ“™
RDS Aurora πŸ“— πŸ“˜ πŸ“™
RDS Aurora MySQL πŸ“— πŸ“˜ πŸ“™
RDS Aurora PostgreSQL πŸ“— πŸ“˜ πŸ“™
RDS MySQL and MariaDB πŸ“— πŸ“˜ πŸ“™
RDS PostgreSQL πŸ“— πŸ“˜ πŸ“™
RDS SQL Server πŸ“— πŸ“˜ πŸ“™
Redshift πŸ“— πŸ“˜ πŸ“™
Route 53 πŸ“— πŸ“˜ πŸ“™
S3 πŸ“— πŸ“˜ πŸ“™
Security and IAM πŸ“— πŸ“˜ πŸ“™
SES πŸ“— πŸ“˜ πŸ“™
SNS πŸ“— πŸ“˜ πŸ“™
SQS πŸ“— πŸ“˜ πŸ“™
Step Functions πŸ“— πŸ“˜ πŸ“™
WAF πŸ“— πŸ“˜ πŸ“™
VPCs, Network Security, and Security Groups πŸ“— πŸ“˜ πŸ“™

Special Topics

Legal

Figures and Tables

Tools and Services Market Landscape AWS Data Transfer Costs

Why an Open Guide?

A lot of information on AWS is already written. Most people learn AWS by reading a blog or a β€œgetting started guide” and referring to the standard AWS references. Nonetheless, trustworthy and practical information and recommendations aren’t easy to come by. AWS’s own documentation is a great but sprawling resource few have time to read fully, and it doesn’t include anything but official facts, so omits experiences of engineers. The information in blogs or Stack Overflow is also not consistently up to date.

This guide is by and for engineers who use AWS. It aims to be a useful, living reference that consolidates links, tips, gotchas, and best practices. It arose from discussion and editing over beers by several engineers who have used AWS extensively.

Before using the guide, please read the license and disclaimer.

Back to top :arrow_up:

Please help!

This is an early in-progress draft! It’s our first attempt at assembling this information, so is far from comprehensive still, and likely to have omissions or errors.

Slack Chat

Please help by joining the Slack channel (we like to talk about AWS in general, even if you only have questions β€” discussion helps the community and guides improvements) and contributing to the guide. This guide is open to contributions, so unlike a blog, it can keep improving. Like any open source effort, we combine efforts but also review to ensure high quality.

Scope

Legend

General Information

When to Use AWS

Back to top :arrow_up:

Which Services to Use

Back to top :arrow_up:

Tools and Services Market Landscape

There are now enough cloud and β€œbig data” enterprise companies and products that few can keep up with the market landscape.

We’ve assembled a landscape of a few of the services. This is far from complete, but tries to emphasize services that are popular with AWS practitioners β€” services that specifically help with AWS, or a complementary, or tools almost anyone using AWS must learn.

Popular Tools and Services for AWS Practitioners

🚧 Suggestions to improve this figure? Please file an issue.

Back to top :arrow_up:

Common Concepts

Back to top :arrow_up:

Service Matrix

Many services within AWS can at least be compared with Google Cloud offerings or with internal Google services. And often times you could assemble the same thing yourself with open source software. This table is an effort at listing these rough correspondences. (Remember that this table is imperfect as in almost every case there are subtle differences of features!)

Service AWS Google Cloud Google Internal Microsoft Azure Other providers Open source β€œbuild your own” Openstack
Virtual server EC2 Compute Engine (GCE) Virtual Machine DigitalOcean OpenStack Nova
PaaS Elastic Beanstalk App Engine App Engine Web Apps Heroku, AppFog, OpenShift Meteor, AppScale, Cloud Foundry, Convox
Serverless, microservices Lambda, API Gateway Functions Function Apps PubNub Blocks, Auth0 Webtask Kong, Tyk Qinling
Container, cluster manager ECS, EKS, Fargate Container Engine, Kubernetes Borg or Omega Container Service Kubernetes, Mesos, Aurora Zun
Object storage S3 Cloud Storage GFS Storage Account DigitalOcean Spaces Swift, HDFS, Minio Swift
Block storage EBS Persistent Disk Storage Account DigitalOcean Volumes NFS Cinder
SQL datastore RDS Cloud SQL SQL Database MySQL, PostgreSQL Trove (stores NoSQL as well)
Sharded RDBMS Cloud Spanner F1, Spanner Azure Database for PostgreSQL - Hyperscale (Citus) Crate.io, CockroachDB
Bigtable Cloud Bigtable Bigtable HBase
Key-value store, column store DynamoDB Cloud Datastore Megastore Tables, DocumentDB Cassandra, CouchDB, RethinkDB, Redis
Memory cache ElastiCache App Engine Memcache Redis Cache Memcached, Redis
Search CloudSearch, Elasticsearch (managed) Search Algolia, QBox, Elastic Cloud Elasticsearch, Solr
Data warehouse Redshift BigQuery Dremel SQL Data Warehouse Oracle, IBM, SAP, HP, many others Greenplum
Business intelligence QuickSight Data Studio 360 Power BI Tableau
Lock manager DynamoDB (weak) Chubby Lease blobs in Storage Account ZooKeeper, Etcd, Consul
Message broker SQS, SNS, IoT Pub/Sub PubSub2 Service Bus RabbitMQ, Kafka, 0MQ
Streaming, distributed log Kinesis Dataflow PubSub2 Event Hubs Kafka Streams, Apex, Flink, Spark Streaming, Storm
MapReduce EMR Dataproc MapReduce HDInsight, DataLake Analytics Qubole Hadoop
Monitoring CloudWatch Stackdriver Monitoring Borgmon Monitor Prometheus(?)
Tracing X-Ray Stackdriver Trace Monitor (Application Insights) DataDog, New Relic, Epsagon Zipkin, Jaeger, Appdash
Metric management Borgmon, TSDB Application Insights Graphite, InfluxDB, OpenTSDB, Grafana, Riemann, Prometheus
CDN CloudFront Cloud CDN CDN Akamai, Fastly, Cloudflare, Limelight Networks Apache Traffic Server
Load balancer CLB/ALB Load Balancing GFE Load Balancer, Application Gateway nginx, HAProxy, Apache Traffic Server
DNS Route53 DNS DNS bind
Email SES Sendgrid, Mandrill, Postmark
Git hosting CodeCommit Cloud Source Repositories Visual Studio Team Services GitHub, BitBucket GitLab
User authentication Cognito Firebase Authentication Azure Active Directory oauth.io
Mobile app analytics Mobile Analytics Firebase Analytics HockeyApp Mixpanel
Mobile app testing Device Farm Firebase Test Lab Xamarin Test Cloud BrowserStack, Sauce Labs, Testdroid
Managing SSL/TLS certificates Certificate Manager Let's Encrypt, Comodo, Symantec, GlobalSign
Automatic speech recognition and natural language understanding Transcribe (ASR), Lex (NLU) Cloud Speech API, Natural Language API Cognitive services AYLIEN Text Analysis API, Ambiverse Natural Language Understanding API Stanford's Core NLP Suite, Apache OpenNLP, Apache UIMA, spaCy
Text-to-speech engine in the cloud Polly Nuance, Vocalware, IBM Mimic, eSpeak, MaryTTS
Image recognition Rekognition Vision API Cognitive services IBM Watson, Clarifai TensorFlow, OpenCV
OCR (Text recognition) Textract (documents), Rekognition (photographs) Cloud Vision API Computer Vision API Tesseract
Language Translation Translate Translate Translator Text API Apertium
File Share and Sync WorkDocs Google Docs OneDrive Dropbox, Box, Citrix File Share ownCloud
Machine Learning SageMaker, DeepLens, ML ML Engine, Auto ML ML Studio Watson ML
Data Loss Prevention Macie Cloud Data Loss Prevention Azure Information Protection

🚧 Please help fill this table in.

Selected resources with more detail on this chart:

Back to top :arrow_up:

AWS Product Maturity and Releases

It’s important to know the maturity of each AWS product. Here is a mostly complete list of first release date, with links to the release notes. Most recently released services are first. Not all services are available in all regions; see this table.

Service Original release Availability CLI Support HIPAA Compliant PCI-DSS Compliant
πŸ₯X-Ray 2016-12 General βœ“ βœ“ βœ“
πŸ₯Lex 2016-11 Preview
πŸ₯Polly 2016-11 General βœ“ βœ“ βœ“
πŸ₯Rekognition 2016-11 General βœ“ βœ“ βœ“
πŸ₯Athena 2016-11 General βœ“ βœ“ βœ“
πŸ₯Batch 2016-11 General βœ“ βœ“ βœ“
πŸ₯Database Migration Service 2016-03 General βœ“ βœ“
πŸ₯Certificate Manager 2016-01 General βœ“ βœ“ βœ“
πŸ₯IoT 2015-08 General βœ“ βœ“ βœ“13
πŸ₯WAF 2015-10 General βœ“ βœ“ βœ“
πŸ₯Data Pipeline 2015-10 General βœ“
πŸ₯Elasticsearch 2015-10 General βœ“ βœ“ βœ“
πŸ₯Aurora 2015-07 General βœ“ βœ“3 βœ“3
πŸ₯Service Catalog 2015-07 General βœ“ βœ“ βœ“
πŸ₯Device Farm 2015-07 General βœ“
πŸ₯CodePipeline 2015-07 General βœ“ βœ“
πŸ₯CodeCommit 2015-07 General βœ“ βœ“ βœ“
πŸ₯API Gateway 2015-07 General βœ“ βœ“1 βœ“
πŸ₯Config 2015-06 General βœ“ βœ“ βœ“
πŸ₯EFS 2015-05 General βœ“ βœ“ βœ“
πŸ₯Machine Learning 2015-04 General βœ“
Lambda 2014-11 General βœ“ βœ“ βœ“
ECS 2014-11 General βœ“ βœ“ βœ“
EKS 2018-06 General βœ“12 βœ“ βœ“
KMS 2014-11 General βœ“ βœ“ βœ“
CodeDeploy 2014-11 General βœ“ βœ“
Kinesis 2013-12 General βœ“ βœ“ βœ“11
CloudTrail 2013-11 General βœ“ βœ“ βœ“
AppStream 2013-11 Preview βœ“
CloudHSM 2013-03 General βœ“ βœ“ βœ“
Silk 2013-03 Obsolete?
OpsWorks 2013-02 General βœ“ βœ“ βœ“
Redshift 2013-02 General βœ“ βœ“ βœ“
Elastic Transcoder 2013-01 General βœ“
Glacier 2012-08 General βœ“ βœ“ βœ“
CloudSearch 2012-04 General βœ“
SWF 2012-02 General βœ“ βœ“ βœ“
Storage Gateway 2012-01 General βœ“ βœ“ βœ“
DynamoDB 2012-01 General βœ“ βœ“ βœ“
DirectConnect 2011-08 General βœ“ βœ“ βœ“
ElastiCache 2011-08 General βœ“ βœ“14 βœ“14
CloudFormation 2011-04 General βœ“ βœ“ βœ“
SES 2011-01 General βœ“ βœ“
Elastic Beanstalk 2010-12 General βœ“ βœ“ βœ“
Route 53 2010-10 General βœ“ βœ“ βœ“
IAM 2010-09 General βœ“ βœ“
SNS 2010-04 General βœ“ βœ“ βœ“
EMR 2010-04 General βœ“ βœ“ βœ“
RDS 2009-12 General βœ“ βœ“2 βœ“9
VPC 2009-08 General βœ“ βœ“ βœ“
Snowball 2015-10 General βœ“ βœ“ βœ“15
Snowmobile 2016-11 General βœ“ βœ“
CloudWatch 2009-05 General βœ“ βœ“ βœ“
CloudFront 2008-11 General βœ“ βœ“4 βœ“
Fulfillment Web Service 2008-03 Obsolete?
SimpleDB 2007-12 ❗Nearly obsolete βœ“ βœ“
DevPay 2007-12 General
Flexible Payments Service 2007-08 Retired
EC2 2006-08 General βœ“ βœ“5,6,7 βœ“6,7,10
SQS 2006-07 General βœ“ βœ“ βœ“
S3 2006-03 General βœ“ βœ“8 βœ“
Alexa Top Sites 2006-01 General ❗HTTP-only
Alexa Web Information Service 2005-10 General ❗HTTP-only

Back to top :arrow_up:

Footnotes

1: Excludes use of Amazon API Gateway caching
2: RDS MySQL, Oracle, and PostgreSQL engines only
3: MySQL-compatible Aurora edition only
4: Excludes Lambda@Edge
5: Includes EC2 Systems Manager
6: Includes Elastic Block Storage (EBS)
7: Includes Elastic Load Balancing
8: Includes S3 Transfer Acceleration
9: Includes RDS MySQL, Oracle, PostgreSQL, SQL Server, and MariaDB
10: Includes Auto-Scaling
11: Data Analytics, Streams, Video Streams and Firehose
12: Kubernetes uses a custom CLI for Pod/Service management called kubectl. AWS CLI only handles Kubernetes Master concerns
13: IoT Core (includes Device Management) and Greengrass
14: ElastiCache for Redis only
15: Snowball and Snowball Edge

Compliance

Getting Help and Support

Restrictions and Other Notes

Related Topics

Learning and Career Development

Certifications

Associate level certifications were once required as pre-requisites to taking the Professional examinations - this is no longer the case.

Certifications are required to access certificate lounges at official AWS events such as Summits and re:Invent. Lounges typically provide power charging points, seats and relatively better coffee.

Managing AWS

Managing Infrastructure State and Change

A great challenge in using AWS to build complex systems (and with DevOps in general) is to manage infrastructure state effectively over time. In general, this boils down to three broad goals for the state of your infrastructure:

Much of what we discuss below is really about how to improve the answers to these questions.

There are several approaches to deploying infrastructure with AWS, from the console to complex automation tools, to third-party services, all of which attempt to help achieve visibility, automation, and flexibility.

AWS Configuration Management

The first way most people experiment with AWS is via its web interface, the AWS Console. But using the Console is a highly manual process, and often works against automation or flexibility.

So if you’re not going to manage your AWS configurations manually, what should you do? Sadly, there are no simple, universal answers β€” each approach has pros and cons, and the approaches taken by different companies vary widely, and include directly using APIs (and building tooling on top yourself), using command-line tools, and using third-party tools and services.

AWS Console

Command-Line tools

APIs and SDKs

Boto

Back to top :arrow_up:

General Visibility

Managing Servers and Applications

Back to top :arrow_up:

AWS vs Server Configuration

This guide is about AWS, not DevOps or server configuration management in general. But before getting into AWS in detail, it’s worth noting that in addition to the configuration management for your AWS resources, there is the long-standing problem of configuration management for servers themselves.

Back to top :arrow_up:

Philosophy

Back to top :arrow_up:

Server Configuration Management

Back to top :arrow_up:

Containers and AWS

Back to top :arrow_up:

Visibility

Back to top :arrow_up:

Tips for Managing Servers

Security and IAM

We cover security basics first, since configuring user accounts is something you usually have to do early on when setting up your system.

Security and IAM Basics

Back to top :arrow_up:

Security and IAM Tips

Back to top :arrow_up:

Security and IAM Gotchas and Limitations

S3

S3 Basics

Back to top :arrow_up:

S3 Tips

Back to top :arrow_up:

S3 Gotchas and Limitations

Back to top :arrow_up:

Storage Durability, Availability, and Price

As an illustration of comparative features and price, the table below gives S3 Standard, RRS, IA, in comparison with Glacier, EBS, EFS, and EC2 d2.xlarge instance store using Virginia region as of Sept 2017.

Durability (per year) Availability β€œdesigned” Availability SLA Storage (per TB per month) GET or retrieve (per million) Write or archive (per million)
Glacier Eleven 9s Sloooow – $4 $50 $50
S3 IA Eleven 9s 99.9% 99% $12.50 $1 $10
S3 RRS 99.99% 99.99% 99.9% $24 (first TB) $0.40 $5
S3 Standard Eleven 9s 99.99% 99.9% $23 $0.40 $5
EBS 99.8% Unstated 99.99% $25/$45/$100/$125+ (sc1/st1/gp2/io1)
EFS β€œHigh” β€œHigh” – $300
EC2 d2.xlarge instance store Unstated Unstated – $25.44 $0 $0

Especially notable items are in boldface. Sources: S3 pricing, S3 SLA, S3 FAQ, RRS info (note that this is considered deprecated), Glacier pricing, EBS availability and durability, EBS pricing, EFS pricing, EC2 SLA

EC2

EC2 Basics

Back to top :arrow_up:

EC2 Alternatives and Lock-In

Back to top :arrow_up:

EC2 Tips

Back to top :arrow_up:

EC2 Gotchas and Limitations

CloudWatch

CloudWatch Basics

Back to top :arrow_up:

CloudWatch Alternatives and Lock-In

Back to top :arrow_up:

CloudWatch Tips

Back to top :arrow_up:

CloudWatch Gotchas and Limitations

AMIs

AMI Basics

Back to top :arrow_up:

AMI Tips

Back to top :arrow_up:

AMI Gotchas and Limitations

Auto Scaling

Auto Scaling Basics

Back to top :arrow_up:

Auto Scaling Tips

Back to top :arrow_up:

Auto Scaling Gotchas and Limitations

EBS

EBS Basics

Back to top :arrow_up:

EBS Tips

Back to top :arrow_up:

EBS Gotchas and Limitations

EFS

EFS Basics

Back to top :arrow_up:

EFS Tips

Back to top :arrow_up:

EFS Gotchas and Limitations

Load Balancers

Load Balancer Basics

Back to top :arrow_up:

Load Balancer Tips

Back to top :arrow_up:

Load Balancer Gotchas and Limitations

CLB

CLB Basics

Back to top :arrow_up:

CLB Tips

Back to top :arrow_up:

CLB Gotchas and Limitations

ALB

ALB Basics

Back to top :arrow_up:

ALB Tips

Back to top :arrow_up:

ALB Gotchas and Limitations

Elastic Beanstalk

Elastic Beanstalk Basics

Back to top :arrow_up:

Elastic Beanstalk Tips

Back to top :arrow_up:

Elastic Beanstalk Gotchas and Limitations

Elastic IPs

Elastic IP Basics

Back to top :arrow_up:

Elastic IP Tips

Back to top :arrow_up:

Elastic IP Gotchas and Limitations

Glacier

Glacier Basics

Back to top :arrow_up:

Glacier Tips

Back to top :arrow_up:

Glacier Gotchas and Limitations

Quicksight

Quicksight Basics

Back to top :arrow_up:

Quicksight Gotchas and Limitations

RDS

RDS Basics

Back to top :arrow_up:

RDS Tips

Back to top :arrow_up:

RDS Gotchas and Limitations

RDS MySQL and MariaDB

RDS MySQL and MariaDB Basics

Back to top :arrow_up:

RDS MySQL and MariaDB Tips

Back to top :arrow_up:

RDS MySQL and MariaDB Gotchas and Limitations

RDS PostgreSQL

RDS PostgreSQL Basics

Back to top :arrow_up:

RDS PostgreSQL Tips

Back to top :arrow_up:

RDS PostgreSQL Gotchas and Limitations

RDS SQL Server

RDS SQL Server Basics

Back to top :arrow_up:

RDS SQL Server Tips

Back to top :arrow_up:

RDS SQL Server Gotchas and Limitations

RDS Aurora

RDS Aurora Basics

Aurora is a cloud only database service designed to provide a distributed, fault-tolerant relational database with self-healing storage and auto-scaling up to 64TB per instance. It currently comes in two versions, a MySQL compatible system, and a PostgreSQL compatible system.

RDS Aurora MySQL

RDS Aurora MySQL Basics

Back to top :arrow_up:

RDS Aurora MySQL Tips

Back to top :arrow_up:

RDS Aurora MySQL Gotchas and Limitations

RDS Aurora PostgreSQL

RDS Aurora PostgreSQL Basics

Back to top :arrow_up:

RDS Aurora PostgreSQL Tips

Back to top :arrow_up:

RDS Aurora PostgreSQL Gotchas and Limitations

ElastiCache

ElastiCache Basics

Back to top :arrow_up:

ElastiCache Tips

Back to top :arrow_up:

ElastiCache Gotchas and Limitations

DynamoDB

DynamoDB Basics

Back to top :arrow_up:

DynamoDB Alternatives and Lock-in

Back to top :arrow_up:

DynamoDB Tips

Back to top :arrow_up:

DynamoDB Gotchas and Limitations

ECS

ECS Basics

Back to top :arrow_up:

ECS Tips

Back to top :arrow_up:

ECS Alternatives and Lock-in

🚧 Please help expand this incomplete section.

EKS

EKS Basics

Back to top :arrow_up:

EKS Tips

Back to top :arrow_up:

EKS Alternatives and Lock-in

Back to top :arrow_up:

EKS Gotchas and Limitations

Back to top :arrow_up:

Footnotes

1: https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
2: https://aws.amazon.com/about-aws/whats-new/2019/05/amazon-eks-simplifies-kubernetes-cluster-authentication/

Fargate

Fargate Basics

Back to top :arrow_up:

Fargate Tips

Back to top :arrow_up:

Fargate Alternatives and Lock-in

Back to top :arrow_up:

Fargate Gotchas and Limitations

Lambda

Lambda Basics

Back to top :arrow_up:

Lambda Tips

Back to top :arrow_up:

Lambda Alternatives and Lock-in

Back to top :arrow_up:

Lambda Gotchas and Limitations

Back to top :arrow_up:

Lambda Code Samples

🚧 Please help expand this incomplete section.

API Gateway

API Gateway Basics

Back to top :arrow_up:

API Gateway Alternatives and Lock-In

Back to top :arrow_up:

API Gateway Tips

Back to top :arrow_up:

API Gateway Gotchas and Limitations

🚧 Please help expand this incomplete section.

Step Functions

Step Functions Basics

Back to top :arrow_up:

Step Functions Tips

Back to top :arrow_up:

Step Functions Gotchas and Limitations

Route 53

Route 53 Basics

Back to top :arrow_up:

Route 53 Alternatives and Lock-In

Back to top :arrow_up:

Route 53 Tips

Back to top :arrow_up:

Route 53 Gotchas and Limitations

CloudFormation

CloudFormation Basics

Back to top :arrow_up:

CloudFormation Alternatives and Lock-In

Back to top :arrow_up:

CloudFormation Tips

Back to top :arrow_up:

CloudFormation Gotchas and Limitations

VPCs, Network Security, and Security Groups

VPC Basics

Back to top :arrow_up:

VPC and Network Security Tips

Back to top :arrow_up:

PrivateLink

Back to top :arrow_up:

VPC and Network Security Gotchas and Limitations

KMS

KMS Basics

Back to top :arrow_up:

KMS Tips

Back to top :arrow_up:

KMS Gotchas and Limitations

CloudFront

CloudFront Basics

Back to top :arrow_up:

CloudFront Alternatives and Lock-in

Back to top :arrow_up:

CloudFront Tips

Back to top :arrow_up:

CloudFront Gotchas and Limitations

DirectConnect

DirectConnect Basics

Back to top :arrow_up:

DirectConnect Tips

Redshift

Redshift Basics

Back to top :arrow_up:

Redshift Alternatives and Lock-in

Back to top :arrow_up:

Redshift Tips

Back to top :arrow_up:

Redshift Gotchas and Limitations

EMR

EMR Basics

Back to top :arrow_up:

EMR Alternatives and Lock-in

Back to top :arrow_up:

EMR Tips

Back to top :arrow_up:

EMR Gotchas and Limitations

Kinesis Streams

Kinesis Streams Basics

Back to top :arrow_up:

Kinesis Streams Alternatives and Lock-in

Back to top :arrow_up:

Kinesis Streams Tips

Back to top :arrow_up:

Kinesis Streams Gotchas and Limitations

Kinesis Firehose

Back to top :arrow_up:

Kinesis Firehose Gotchas and Limitations

Device Farm

Device Farm Basics

Back to top :arrow_up:

Device Farm Tips

Back to top :arrow_up:

Device Farm Gotchas and Limitations

Mobile Hub

Mobile Hub Basics

Back to top :arrow_up:

Mobile Hub Tips

Back to top :arrow_up:

Mobile Hub Gotchas and Limitations

IoT

IoT Basics

How AWS IoT Works

Back to top :arrow_up:

IoT Greengrass

IoT Greengrass

Back to top :arrow_up:

IoT Alternatives and Lock-in

Back to top :arrow_up:

IoT Tips

Back to top :arrow_up:

IoT Gotchas and Limitations

Back to top :arrow_up:

IoT Code Samples

SES

SES Basics

Back to top :arrow_up:

SES Tips

Back to top :arrow_up:

SES Gotchas and Limitations

Certificate Manager

Certificate Manager Basics

Back to top :arrow_up:

Certificate Manager Alternatives and Lock-in

Back to top :arrow_up:

Certificate Manager Tips

Back to top :arrow_up:

Certificate Manager Gotchas and Limitations

WAF

WAF Basics

Back to top :arrow_up:

WAF Tips

Back to top :arrow_up:

WAF Gotchas and Limitations

OpsWorks

OpsWorks Basics

Back to top :arrow_up:

OpsWorks Alternatives and Lock-in

Back to top :arrow_up:

OpsWorks Tips

Back to top :arrow_up:

OpsWorks Gotchas and Limitations

Batch

Batch Basics

Back to top :arrow_up:

Batch Tips

SQS

SQS Basics

Back to top :arrow_up:

SQS Alternatives and Lock-In

Back to top :arrow_up:

SQS Tips

Back to top :arrow_up:

SQS Gotchas and Limitations

SNS

SNS Basics

Back to top :arrow_up:

SNS Alternatives and Lock-In

Back to top :arrow_up:

SNS Tips

Back to top :arrow_up:

SNS Gotchas and Limitations

High Availability

This section covers tips and information on achieving high availability.

High Availability Tips

Back to top :arrow_up:

High Availability Gotchas and Limitations

Billing and Cost Management

Billing and Cost Visibility

Back to top :arrow_up:

AWS Data Transfer Costs

AWS Data Transfer Costs

Back to top :arrow_up:

EC2 Cost Management

Further Reading

This section covers a few unusually useful or β€œmust know about” resources or lists.

Disclaimer

The authors and contributors to this content cannot guarantee the validity of the information found here. Please make sure that you understand that the information provided here is being provided freely, and that no kind of agreement or contract is created between you and any persons associated with this content or project. The authors and contributors do not assume and hereby disclaim any liability to any party for any loss, damage, or disruption caused by errors or omissions in the information contained in, associated with, or linked from this content, whether such errors or omissions result from negligence, accident, or any other cause.

License

Creative Commons License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.