Puppet on AWS
Quick Start Reference Deployment Guide


Puppet on AWS

Puppet is a declarative, model-based configuration management solution from Puppet Labs that lets you define the state of your IT infrastructure, and automatically enforces that desired state on your systems. Every step of your software delivery process, from provisioning instances to orchestration and reporting, including production release of software and updates, can be automated. Configuration management tools like Puppet can help you get more done in less time, and can help ensure consistency and reliability across the state of your infrastructure. Puppet uses a client/server model where agent nodes get configuration profiles from the Puppet master, which is a server that controls the configuration information. For more information, see the architecture overview on the Puppet Labs website.

Using this Quick Start, you can launch a Puppet master with a single click to get instant access to the following features:

  • Puppet enables you to define configurations that are idempotent, meaning they can be run multiple times without any risks. Once you’ve developed your configurations, your agents can apply the configuration on a regular interval (30 minutes by default), which will keep your systems in their desired state. If your system state drifts out of the desired configuration, the Puppet agent will re-apply your configuration.

  • Puppet gives you cross-platform support for multiple agent types running on a variety of operating systems. For example, if you’re already using Puppet for configuration management of Linux systems, you can use Puppet to manage your Microsoft Windows servers as well. This includes EC2 instances running Linux or Windows, and even physical machines you have running in your own data center.

  • In addition to using native Puppet modules to configure your systems, you can use code from the Puppet Forge to extend the capabilities of Puppet. Puppet Forge is a repository of modules contributed by the Puppet community. It provides you with reusable code that can automate tasks such as setting up various databases, web servers, and mail servers.

This Quick Start is for users who are looking to move to AWS, or are already running their systems on AWS, and also want to deploy and manage their own Puppet master infrastructure. The goal of this guide is to help you get started with Puppet on AWS, even if you have absolutely no experience with Puppet.

This Quick Start automates the launch of the Puppet master, performs the initial server setup, and creates both Linux and Windows-based Puppet agents within a virtual private cloud (VPC). You can follow the walkthrough included in this guide to learn how to apply configurations to Puppet agents and to install a basic web server. The walkthrough will show you the benefits of automating software installation and configuration, and will help you understand how to ensure that your system settings are repeatable, consistent, and always in their desired state.

Cost and Licenses

You are responsible for the cost of the AWS services used while running this Quick Start reference deployment. There is no additional cost for using the Quick Start. See the pricing pages for each AWS service you will be using for full details.

This Quick Start deploys Open Source Puppet version 3.8.6 by default. Open Source Puppet is available to download and use under the Apache 2.0 license. You can upgrade to Puppet Enterprise by registering with Puppet Labs and downloading a free trial to manage 10 nodes.