Learn Amazon Web Services in a Month of Lunches
David Clinton
  • August 2017
  • ISBN 9781617294440
  • 328 pages
  • printed in black & white

An excellent book for those who have often thought about learning AWS but were overwhelmed by options and where to start.

Conor Redmond, InComm Product Control

Learn Amazon Web Services in a Month of Lunches guides you through the process of building a robust and secure web application using the core AWS services you really need to know. You'll be amazed by how much you can accomplish with AWS!

Table of Contents detailed table of contents

1. Before you begin

1.1. Is this book for you?

1.2. Using this book

1.2.1. The main chapters

1.2.2. Hands-on Labs

1.2.3. Try It Now

1.3. Being immediately effective

1.4. Setting up your lab environment

1.5. Finding help

1.6. How AWS does it

1.6.1. The big picture

Part 1: The Core AWS Tools

2. The Ten Minute EC2 Webserver

2.1. What is EC2 and what does it do?

2.2. Launching an AWS Instance

2.3. Accessing your AWS instance

2.4. Building an Ubuntu Linux web server

2.4.1. Installing the software

2.4.2. Creating the website

2.5. Troubleshooting

2.6. Lab

3. Provisioning a More Robust EC2 Website

3.1. Calculating Capacity Needs

3.2. Getting the Measure of EC2's Core Compute Services

3.2.1. vCPU

3.2.2. EBS

3.2.3. Memory

3.2.4. Bandwidth

3.3. Assessing your Application

3.4. Choosing the Right Instance for Your Project

3.4.1. Instance Type Families

3.5. Adding WordPress

3.5.1. Prepare the Server

3.5.2. Prepare MySQL

3.5.3. Download and Configure WordPress

3.5.4. Setting uo the WordPress filesystem

3.5.5. Testing your application

3.5.6. What’s next?

3.6. Lab

3.7. Definitions

3.8. Command line review

4. Databases on AWS

4.1. The Database

4.2. Choosing the Right Database Model

4.2.1. Relational Databases

4.2.2. NoSQL Databases

4.2.3. How to choose

4.3. Infrastructure Design: where does your database belong?

4.4. Estimating Costs

4.5. Migrate Your Database to RDS

4.5.1. Creating a MySQL Dump

4.6. Building an Amazon RDS Instance

4.7. Configure Security Group Settings

4.8. Populating the New Database

4.9. Lab

5. DNS - What's in a Name

5.1. Adding a name to public indexes

5.2. Configuring your hosted zone

5.2.1. Configuring Record Sets

5.2.2. Elastic IP addresses

5.3. Routing policies

5.3.1. Create a health check

5.3.2. Create a routing policy

5.4. Lab

6. S3: Cheap and Fast File Storage

6.1. How does S3 work?

6.1.1. Creating an S3 bucker

6.1.2. Uploading files to an S3 bucket

6.2. Integrating S3 resources into an EC2-based website

6.3. Using S3 to create a simple static website

6.4. Lab

7. S3: Cheap and Fast System Backups

7.1. Why back up?

7.1.1. Your AWS account: what might go wrong?

7.2. How to back up to S3: Snapshots

7.2.1. Create a snapshot

7.2.2. Create an image

7.2.3. Use an image to recreate an instance

7.3. How to back up to S3: manual process

7.3.1. Choosing what to back up

7.3.2. Generate a compressed archive

7.3.3. Install the AWS CLI

7.4. Lab

8. AWS Security - Working with IAM Users, Groups, and Roles

8.1. Defining the pieces of the IAM picture

8.1.1. Policies

8.1.2. Users

8.1.3. Groups

8.1.4. Roles

8.1.5. Best Practices

8.2. IAM-ifying an AWS account

8.2.1. Creating an admin user

8.2.2. Signing in as an IAM user

8.2.3. Locking down the root

8.2.4. Creating and configuring a group

8.3. Lab

9. Managing Growth

9.1. Estimating the true costs of your cloud project

9.2. Working with the TCO Calculator

10. Pushing Back Against the Chaos - Using Resource Tags

10.1. What are resource tags?

10.2. Working with resource tags

10.2.1. Create and apply a tag

10.2.2. Design a naming scheme

10.2.3. Search through your tagged resources

10.3. Leveraging resource tags

10.3.1. Using tags to track costs

10.4. Lab

11. CloudWatch - Monitoring AWS Resources for Fun and Profit

11.1. AWS Budgets

11.1.1. Creating a budget

11.1.2. Using tags with your budgets

11.2. CloudWatch

11.2.1. CloudWatch billing alerts

11.2.2. CloudWatch usage alerts

11.3. Lab

12. Another Way to Play - the Command Line Interface

12.1. What is a CLI?

12.2. Why use a CLI?

12.3. Installing the AWS CLI

12.3.1. Windows MSI Installation

12.3.2. Bundled installer (Linux and OS X)

12.3.3. Python pip Installation (all operating systems)

12.3.4. Installing using Python pip (all OSs)

12.4. Configuring the AWS CLI

12.4.1. Choosing a region

12.4.2. Choosing an output format

12.4.3. Working with multiple AWS profiles

12.5. Using the help system

12.6. Using the CLI to administrate your AWS account resources

12.6.1. Launching a new EC2 instance using the CLI

12.7. Lab

Part 2: The AWS Power User: Optimizing Your Infrastructure

13. Keeping Ahead of User Demand

13.1. Automating High Availability

13.2. Cloud Computing

13.3. Elasticity vs Scalability

14. High Availability - Working with AWS Networking Tools

14.1. Organizing AWS resources within Virtual Private Clouds (VPC)

14.1.1. Creating a new VPC

14.2. Availability Zones and network subnets

14.2.1. Network design

14.2.2. TCP/IP addressing

14.2.3. NAT addressing

14.3. Deploying your website across two availability zones

14.4. Lab

15. High Availability - Load Balancing

15.1. What is Load Balancing?

15.2. Building a multi-zone load balancer

15.2.1. Launch four instances

15.2.2. Create a target group

15.2.3. Register instances in a target group

15.2.4. Create a load balancer and associate it with a security group

15.2.5. Associate the target with the load balancer

15.3. Testing the cluster

15.4. Lab

16. High Availability - Auto Scaling

16.1. Creating a launch configuration

16.2. Creating an auto scaling group

16.2.1. Integrating a load balancer

16.2.2. Configuring scaling policies

16.3. Cleaning up after yourself

16.4. Lab

17. High Availability - Content Delivery Networks

17.1. How does Amazon CloudFront work?

17.2. Creating a CloudFront distribution

17.2.1. SSL/TLS encryption

17.2.2. Other settings

17.2.3. CloudFront Costs

17.2.4. SSL/TLS certificates

17.2.5. Wrapping it all up

17.3. Lab

Part 3: Food for Thought: what else can AWS do for you?

18. Building Hybrid Infrastructure

18.1. Why go hybrid?

18.2. Hybrid storage solutions

18.2.1. S3 and Glacier

18.2.2. AWS Storage Gateway

18.2.3. AWS Snowball

18.3. Hybrid connectivity

18.3.1. AWS Direct Connect

18.3.2. The Hardware Virtual Private Gateway

18.3.3. AWS Directory Service

18.4. Disaster recovery

18.5. The Amazon EC2 Systems Manager

18.6. VMware integration

19. Cloud Automation - working with Elastic Beanstalk, Docker, and Lambda

19.1. AWS Elastic Beanstalk (what you don't see won't hurt you)

19.2. AWS EC2 Container Service (running Docker in the cloud)

19.3. AWS Lambda (going serverless)

19.3.1. The server is dead, long live serverless?

20. Everything Else (nearly)

20.1. Databases

20.1.1. DynamoDB

20.1.2. Redshift

20.1.3. ElastiCache

20.2. Developer tools

20.2.1. CodeCommit

20.2.2. CodeBuild

20.2.3. CodeDeploy

20.2.4. CodePipeline

20.2.5. API Gateway

20.2.6. CloudFormation

20.3. Security and Authentication

20.3.1. WAF and Shield

20.3.2. Cognito

20.4. Messaging

20.4.1. SNS

20.4.2. SQS

20.4.3. SES

20.5. Short cuts

20.5.1. AWS Quick Starts

20.5.2. Migration shortcuts

21. Never the End

21.1. Keeping up

21.2. Where to turn for help

21.3. Certifications

21.4. Lab (the steroid overdose edition)


Appendix A: Connect to Your EC2 Instance

A.1. Accessing from a Linux or OS X machine

A.2. Accessing from a Windows machine

About the Technology

Cloud computing has transformed the way we build and deliver software. With the Amazon Web Services cloud platform, you can trade expensive glass room hardware and custom infrastructure for virtual servers and easy-to-configure storage, security, and networking services. Better, because you don't own the hardware, you only pay for the computing power you need! Just learn a few key ideas and techniques and you can have applications up and running in AWS in minutes.

About the book

Learn Amazon Web Services in a Month of Lunches gets you started with AWS fast. In just 21 bite-size lessons, you'll learn the concepts and practical techniques you need to deploy and manage applications. You'll learn by doing real-world labs that guide you from the core AWS tool set through setting up security and storage and planning for growth. You'll even deploy a public-facing application that's highly available, scalable, and load balanced.

What's inside

  • First steps with AWS - no experience required
  • Deploy web apps using EC2, RDS, S3, and Route 53
  • Cheap and fast system backups
  • Setting up cloud automation

About the reader

If you know your way around Windows or Linux and have a basic idea of how web applications work, you're ready to start using AWS.

About the author

David Clinton is a system administrator, teacher, and writer. He has administered, written about, and created training materials for many important technology subjects including Linux systems, cloud computing (AWS in particular), and container technologies like Docker. Many of his video training courses can be found on Pluralsight.com, and links to his other books (on Linux administration and server virtualization) can be found at https://bootstrap-it.com.

combo $39.99 pBook + eBook + liveBook
eBook $31.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks

An easy read and straight to the point. A great foundation for every AWS user.

Alexey Galiullin, GlobalOrange

A must-read for anyone who wants a robust and practical start with AWS.

Peter Perlepes, Growth

A friendly tutorial on what's essential to know in today's cloud/DevOps world.

Miguel Paraz, Odecee