AWS System Administration

Book description

With platforms designed for rapid adaptation and failure recovery such as Amazon Web Services, cloud computing is more like programming than traditional system administration. Tools for automatic scaling and instance replacement allow even small DevOps teams to manage massively scalable application infrastructures—if team members drop their old views of development and operations and start mastering automation.

This comprehensive guide shows developers and system administrators how to configure and manage AWS services including EC2, CloudFormation, Elastic Load Balancing, S3, and Route 53. Sysadms will learn will learn to automate their favorite tools and processes; developers will pick up enough ops knowledge to build a robust and resilient AWS application infrastructure.

  • Launch instances with EC2 or CloudFormation
  • Securely deploy and manage your applications with AWS tools
  • Learn to automate AWS configuration management with Python and Puppet
  • Deploy applications with Auto Scaling and Elastic Load Balancing
  • Explore approaches for deploying application and infrastructure updates
  • Save time on development and operations with reusable components
  • Learn strategies for managing log files in AWS environments
  • Configure a cloud-aware DNS service with Route 53
  • Use AWS CloudWatch to monitor your infrastructure and applications

Publisher resources

View/Submit Errata

Table of contents

  1. Foreword
  2. Preface
    1. Audience
    2. Conventions Used in This Book
    3. Using Code Examples
    4. O’Reilly Safari
    5. How to Contact Us
    6. Acknowledgments
  3. 1. Setting Up AWS Tools
    1. Getting Started
    2. Preparing Your Tools
      1. Installing the AWS Command Line Interface
      2. Parsing JSON Output with jq
      3. Legacy AWS Command-Line Tools
    3. Managing Your Costs
  4. 2. First Steps with EC2 and CloudFormation
    1. What Is an Instance?
      1. Instance Types
      2. Processing Power
      3. Storage
      4. Networking
    2. Launching Instances
      1. Launching from the Management Console
      2. Launching with Command-Line Tools
      3. Launching from Your Own Programs and Scripts
    3. Introducing CloudFormation
    4. Working with CloudFormation Stacks
      1. Creating the Stack
      2. Updating the Stack
      3. Looking Before You Leap
      4. Deleting the Stack
    5. Which Method Should I Use?
    6. Amazon Machine Images
      1. Building Your Own AMI
      2. Deregistering AMIs
    7. Pets versus Cattle
  5. 3. Access Management and Security Groups
    1. The AWS Security Model
      1. Account Security Checklist
      2. Multi-Factor Authentication
    2. Identity and Access Management
      1. Amazon Resource Names
      2. IAM Policies
      3. IAM Users and Groups
    3. IAM Roles
      1. Using IAM Roles from Other AWS Accounts
    4. Using IAM in CloudFormation Stacks
    5. Security Groups
    6. Protecting Instances with SSH Whitelists
    7. Virtual Private Networks and Security Groups
    8. A Security State of Mind
  6. 4. Configuration Management
    1. Why Use Configuration Management?
      1. OpsWorks
      2. Choosing a Configuration Management Package
    2. Puppet on AWS
      1. A Quick Introduction to Puppet
      2. Puppet and CloudFormation
      3. User Data and Tags
      4. Executing Tasks with Fabric
      5. Masterless Puppet
    3. Building AMIs with Packer
    4. Automate All the Things
  7. 5. An Example Application Stack
    1. Overview of Application Components
      1. The Web Application
      2. Database and Caching
      3. Background Task Processing
    2. Installing the Web Application
    3. Preparing Puppet and CloudFormation
      1. Puppet Files
      2. CloudFormation Files
    4. Creating an RDS Database
      1. RDS: Updating Puppet and CloudFormation
    5. Creating an ElastiCache Node
    6. ElastiCache: Updating Puppet and CloudFormation
    7. Installing Celery with Simple Queuing Service
    8. Celery: Updating Puppet and CloudFormation
    9. Building the AMIs
    10. Creating the Stack with CloudFormation
    11. Application Factory
  8. 6. Auto Scaling and Elastic Load Balancing
    1. Static Auto Scaling Groups
    2. Notifications of Scaling Activities
    3. Scaling Policies
      1. Scaling on CloudWatch Metrics
    4. Elastic Load Balancing
    5. Elastic Load Balancer and Auto Scaling Groups
    6. ELB Health Checks
    7. Managing Outages
    8. Mastering Scale
  9. 7. Deployment Strategies
    1. Instance-Based Deployments
      1. Executing Code on Running Instances with Fabric
      2. Updating Instances at Launch Time
    2. AMI-Based Deployments
      1. Deploying AMIs with CloudFormation
      2. Deploying AMIs with the EC2 API
    3. Webscale Thinking
      1. Application Immutability
    4. Takeaways
  10. 8. Building Reusable Components
    1. The Importance of Being Reusable
    2. Role-Based AMIs
      1. Mapping Instances to Roles
      2. Patterns for Configuration Management Tools
    3. Modular CloudFormation Stacks
  11. 9. Log Management
    1. Central Logging
      1. Logstash Configuration
      2. Logging to S3
    2. AWS Service Logs
    3. S3 Lifecycle Management
  12. 10. DNS with Route 53
    1. Why Use Route 53?
    2. Failure Is an Option: Service Failover with Route 53
    3. Ramping Up Traffic
    4. Surviving ELB and Application Outages with Route 53
    5. Takeaways
  13. 11. Monitoring
    1. Why Are You Monitoring?
    2. CloudWatch
      1. CloudWatch Basics
      2. Auto Scaling and Custom Metrics
    3. Old Tools, New Tricks
  14. 12. Backups
    1. Backing Up Static Files from EC2 Instances to S3
    2. Rolling Backups with S3 and Glacier
    3. PostgreSQL and Other Databases
      1. pg_dump
      2. Snapshots and Continuous Archiving
    4. Off-Site Backups
  15. Index

Product information

  • Title: AWS System Administration
  • Author(s): Mike Ryan, Federico Lucifredi
  • Release date: August 2018
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781449342531