hands-on lab

Deploying a PHP Application Using AWS OpsWorks
This lab is currently under maintenance and unavailable. We are actively working to resolve this issue and we apologize for any inconvenience.


AWS OpsWorks Stacks can no longer be created and existing stacks will no longer be able to be used after May 26, 2024.

For more information please reference the following documentation:


Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

AWS OpsWorks is a configuration management service that provides managed instances of Chef and Puppet to automate your application management operations. 

The main building blocks of OpsWorks include:

  • stacks: Top-level building blocks. Used to model your applications with the help of layers.
  • layers: Separate levels of a stack to separate the concerns of your application. Layers can be categorized by responsibility such as web, application, and database layers
  • instances: EC2 instances that are associated with your stack layers to perform the necessary tasks at each level of your application
  • apps: Code that you want to be deployed and ran on your instances in a layer. 

In this lab, you will utilize these building blocks to create and deploy a simple PHP application using AWS OpsWorks.

Learning Objectives

Upon completion of this lab you will be able to:

  • Create an AWS OpsWorks stack
  • Learn how to use AWS OpsWorks components
  • Deploy a PHP web application

Intended Audience

  • DevOps Engineers
  • Candidates for the AWS DevOps Professional Exam


Familiarity with the following will be beneficial but is not required:

  • AWS OpsWorks


March 12th, 2023 - Resolved an issue that caused the lab to fail to set up on rare occasions

September 2nd, 2021 - Updated ec2 instance role name in the instructions

August 24th, 2021 - Recovered the ability to create stacks after AWS resolved the OpsWorks console validation issue

June 22th, 2021 - Incorporate updated lab format and revamp lab steps to match the current AWS console

Environment before
environment before preview
Environment after
environment after preview
About the author
Ryan S. Brown
Senior DevOps

Ryan and his faithful business partner Jade build tools for OpenStack and AWS to automate support of high-availability applications. Offline, he can be found buried in human factors books looking for ways to build more resilient systems.

Ryan loves working with large systems, the less predictable the better. Scaling, load balancing, and graceful failure handling are his favorite classes of problems.

His free time quickly fills with personal projects and self directed research on new tools or different areas of software development.

Covered topics
Lab steps
Logging In to the Amazon Web Services Console
Creating a Stack in AWS OpsWorks
Creating a Layer in AWS OpsWorks
Creating and Deploying an Application in AWS OpsWorks
Deleting a Stack in AWS OpsWorks