You are previewing AWS System Administration.
O'Reilly logo
AWS System Administration

Book Description

Building and deploying infrastructure with Amazon Web Services is simply not the same as dealing with static servers. With tools that let you automatically replace instances and scale up and down in response to demand, it’s actually more like programming than traditional system administration—and ideal for a DevOps environment. This comprehensive guide shows developers and system administrators alike how to configure and manage AWS services, such as CloudFormation, OpsWorks, Elastic Load Balancing, and Route 53.

Table of Contents

  1. Preface
    1. Audience
    2. Conventions Used in This Book
    3. Using Code Examples
    4. Safari® Books Online
    5. How to Contact Us
  2. 1. Introduction
    1. Welcome
    2. About the Book
    3. Preparing Your Tools
      1. Installing the AWS Command Line Tool
      2. Parsing JSON Output with jq
      3. Installing the Previous AWS Command Line Tools
  3. 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 Web Console
        1. Launching a new instance of an AMI
        2. Key pairs
        3. Waiting for the instance
        4. Querying information about the instance
        5. Terminating the instance
      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. Recap
  4. 3. Access Management and Security Groups
    1. Identity and Access Management
      1. Amazon Resource Names
      2. IAM Policies
        1. Referencing resources in IAM Policies
        2. Dynamic policies
        3. Limitations of IAM Policies
      3. IAM Users and Groups
        1. Organizing users and groups with paths
        2. Multi-factor authentication
    2. IAM Roles
      1. Using IAM Roles From Other AWS accounts
    3. Using IAM in CloudFormation Stacks
    4. Security Groups
    5. Protecting Instances With SSH Whitelists
    6. Virtual Private Networks and Security Groups
    7. Recap
  5. 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. Master-less Puppet
    3. Building AMIs With Packer
  6. 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 Queueing Service
    8. Celery: Updating Puppet and CloudFormation
    9. Building the AMIs
    10. Creating the Stack with CloudFormation
    11. Recap
  7. 6. Auto Scaling and Elastic Load Balancing
    1. What is Auto Scaling?
    2. Static Auto Scaling Groups
    3. Notifications of Scaling Activities
    4. Scaling Policies
      1. Scaling on CloudWatch Metrics
    5. Elastic Load Balancing
    6. Elastic Load Balancer and Auto Scaling Groups
    7. Recap
  8. 7. Deployment Strategies
    1. Instance-based Deployments
      1. Executing Code on Running Instances with Fabric
        1. Grouping instances through roles
        2. Dynamically finding instances
      2. Updating Instances at Launch Time
    2. AMI-based Deployments
      1. Deploying AMIs with CloudFormation
      2. Deploying AMIs with the EC2 API
    3. Recap
  9. 8. Building Reusable Components
    1. Introduction
    2. Role-based AMIs
      1. Mapping Instances to Roles
      2. Patterns for Configuration Management Tools
    3. Modular CloudFormation Stacks
  10. 9. Log Management
    1. Logging in the Cloud
    2. Central Logging
      1. Logstash Configuration
        1. Creating and configuring a Logstash server
        2. Configuring the Logstash clients
      2. Logging to S3
    3. AWS Service Logs
    4. S3 Lifecycle Management
  11. 10. DNS with Route53
    1. Why Use Route 53?
    2. Failure is an Option - Using Route 53 to Handle Service Failover
    3. Ramping Up Traffic
    4. Surviving ELB and Application Outages with Route 53
    5. Recap
  12. 11. Monitoring
    1. Why Are You Monitoring?
    2. CloudWatch
      1. Auto Scaling and Custom Metrics
    3. Old Tools, New Tricks
  13. 12. Backups
    1. Introduction
    2. Backing up Static Files From EC2 Instances to S3
    3. Rolling Backups with S3 and Glacier
    4. PostgreSQL and Other Databases
      1. pg_dump
      2. Snapshots and Continuous Archiving
        1. Backing up
        2. Restoring
    5. Off-site Backups
  14. About the Author
  15. Copyright