Learn Amazon Web Services in a Month of Lunches
David Clinton
  • MEAP began November 2016
  • Publication in June 2017 (estimated)
  • ISBN 9781617294440
  • 300 pages (estimated)
  • printed in black & white

Amazon Web Services is, by all metrics, the giant of the cloud computing world. Not only does it dominate in terms of user adoption and market share, but its innovative and highly integrated services have defined the way networked digital services are delivered. AWS gives you the networking, compute, and security services you need without making you pay for anything you're not actually using. And you can access gold standard infrastructure elements and have them running your application in minutes. With almost a hundred individual AWS services, putting all the pieces together is not a simple thing. That's where this book can help.

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 start by getting your own AWS-based web server running in just a few minutes. Then, piece by piece, you'll learn to add in more advanced functionality and efficiency. The book's second part introduces you to some of the more theoretical concepts of virtualization and high availability as they relate to AWS, along with many of the more specialized AWS services. When you're done, you'll be comfortable with the basics, and know exactly where to look when you're ready for more. 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. The Cloud

1.2. Is this book for you?

1.3. Using this book

1.3.1. The main chapters

1.3.2. Hands-on Labs

1.3.3. Try It Now

1.3.4. Supplementary Materials

1.4. How they do it

1.5. Setting up your lab environment

1.6. Being immediately effective

1.7. Finding help

1.8. Definitions

Part 1: The Core AWS Toolset

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.3.1. Using SSH (the "Secure SHell" protocol)

2.3.2. Accessing from a Linux or OS X machine

2.3.3. Accessing from a Windows machine

2.4. Building an Ubuntu Linux web server

2.4.1. Installing the software

2.4.2. Creating the website

2.5. Lab

2.6. Definitions

2.7. Command line review

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.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.3. Application 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. Populate the New Database

4.9. Lab

4.10. Definitions

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

5.5. Definitions

6. S3: Cheap and Fast File Storage

6.1. How does S3 work?

6.1.1. 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

6.5. Definitions

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

7.5. Definitions

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

8.4. Definitions

9. Managing Growth

9.1. Estimating the true costs of your cloud project

9.2. Working with the TCO Calculator

9.3. Definitions

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

10.5. Definitions

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

11.4. Definitions

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.4. Configuration

12.4.1. Choosing a region

12.4.2. Choosing an output format

12.5. The help system

12.6. Using the CLI to administrate your AWS account resources

12.6.1. Launch a new EC2 instance using the CLI

12.7. Lab

12.8. Definitions

Part 2: The AWS Power User: Optimizing Your Infrastructure

13. Keeping Ahead of User Demand

13.1. Cloud Computing

13.2. Elasticity vs Scalability

13.3. Practical applications

13.4. Automating High Availability

13.5. Definitions

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

14.5. Definitions

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. Test the cluster

15.4. Lab

15.5. Definitions

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

16.5. Definitions

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

17.4. Definitions

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

18.7. Definitions

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?

19.4. Definitions

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)

Appendixes

Appendix A: Connect to Your EC2 Instance

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

A.2. Accessing from a Windows machine

What's inside

  • Using the AWS cloud with your projects
  • Pros and cons of AWS over local server deployments
  • Building secure and reliable application infrastructures
  • Integrating AWS storage, database, and networking services
  • Creating accurate AWS cost analyses

About the reader

This book is for developers, system administrators, or anyone looking for an introduction to using AWS cloud. A basic understanding of TCP/IP networking is helpful, but not required.

About the author

David Clinton is a System Administrator and Linux Server Professional with years of experience teaching IT subjects. He's the author of Practical LPIC-1 Linux Certification Study Guide, and a guide to the LPIC-3 Linux Server Virtualization and High Availability certification. David has created video courses on Linux administration, Amazon Web Services, and server security for Pluralsight.


Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
Buy
MEAP combo $39.99 pBook + eBook
MEAP eBook $31.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks