AWS DevOps & Developer Productivity Blog

Tag: Best practices

Best Practices for Deploying Applications on AWS CloudFormation Stacks

With AWS CloudFormation, you can provision the full breadth of AWS resources including Amazon EC2 instances. You provision the EC2 instances to run applications that drive your business. Here are some best practices for deploying and updating those applications on EC2 instances provisioned inside CloudFormation stacks: Use AWS::CloudFormation::Init Use IAM roles to securely download software […]

Use Nested Stacks to Create Reusable Templates and Support Role Specialization

When you create AWS CloudFormation templates, you might find that you’re continually describing the same set of resources in different templates. However, instead of repeatedly adding them to each of your templates, consider using nested stacks. What are Nested Stacks With nested stacks, you can link to a template from within any other template. You […]

Delete Your Stacks But Keep Your Data

When you delete a stack, by default AWS CloudFormation deletes all stack resources so that you aren’t left with any strays. This also means any data that you have stored in your stack are also deleted (unless you take manual snapshots).  For example, data stored in Amazon EC2 volumes or Amazon RDS database instances are […]

Using the New CloudFormation Parameter Types

Invalid input for parameter values is the number one reason for stack creation failures. To make it easier to enter the correct parameter values and to improve parameter validation, the AWS CloudFormation team recently added the ability to set additional data types for parameters. Parameter types enable CloudFormation to validate inputs earlier in the stack […]

Adding Comments inside AWS CloudFormation Templates

AWS CloudFormation simplifies provisioning on AWS. You can apply software engineering best practices such as version control, code reviews, unit tests, and continuous integration to the AWS CloudFormation templates, the same way you apply those best practices to your application code. For example, with application code, you can add descriptive comments to help you document various portions […]

View CloudFormation Logs in the Console

Background AWS CloudFormation simplifies provisioning and management on AWS. You can templatize the service and application architectures you want, and have CloudFormation use the templates for quick and reliable provisioning of the services or applications as ‘stacks’. You can also easily update or replicate the stacks as needed. Inside the CloudFormation templates, you can configure the […]

Locally Packaging Gem Dependencies for Ruby Applications in Elastic Beanstalk

Today’s guest post is by Charlie Crawford, a developer on the Elastic Beanstalk team. The Puma Ruby 2 container has a built-in feature to detect locally installed gems. This feature is easy to use, ensures that your production environment is using the same gems as your development environment, and helps your application deploy faster. Although this […]

Using OpsWorks to Configure EC2 instances

A key OpsWorks benefit is the ability to perform actions on EC2 instances in an automated and predictable manner, such as installing software, configuring RAID arrays, and managing users. Whereas in the past you might have run commands on your instance via SSH, you can now perform these tasks by using predefined scripts (called recipes) […]

Authenticated File Downloads with CloudFormation

In this guest post, AWS Solution Architect Grace Mollison (@grapesfrog) discusses options for authenticated file downloads when using CloudFormation. Note: This post assumes familiarity with cfn-init and CloudFormation Metadata to bootstrap the EC2 instances in your CloudFormation stack. To learn more, see Automate LAMP Installation Using CloudFormation, Bootstrapping AWS CloudFormation Windows Stacks, or the cfn-init documentation […]