Setting Up Infrastructure as Code with AWS CloudFormation: A Step-by-Step Guide with Code Example

Setting Up Infrastructure as Code with AWS CloudFormation: A Step-by-Step Guide with Code Example


Infrastructure as code (IaC) is a modern approach to managing IT infrastructure by using machine-readable configuration files. One of the most popular tools for implementing IaC is AWS CloudFormation. In this blog post, we will explore how to set up infrastructure as code using AWS CloudFormation with a code example.

Step 1: Create an AWS account

The first step to using AWS CloudFormation is to create an AWS account if you don’t have one already. You can create a free account by going to https://aws.amazon.com/free/.

Step 2: Create an S3 bucket

We need an S3 bucket to store the CloudFormation templates. To create an S3 bucket, follow these steps:

  1. Open the AWS Management Console.

  2. Navigate to the S3 service.

  3. Click the “Create Bucket” button.

  4. Follow the prompts to create a new bucket.

Step 3: Create a CloudFormation stack

A CloudFormation stack is a collection of AWS resources that you can manage as a single unit. To create a CloudFormation stack, follow these steps:

  1. Open the AWS Management Console.

  2. Navigate to the CloudFormation service.

  3. Click the “Create Stack” button.

  4. Select “Upload a template to Amazon S3” and choose the template file from your local machine.

  5. Follow the prompts to configure the stack parameters.

Here is an example CloudFormation template that creates an EC2 instance:

Resources:
  EC2Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      ImageId: ami-0c94855ba95c71c99
      InstanceType: t2.micro
      KeyName: my-key-pair

This template specifies that we want to create an EC2 instance with a specific Amazon Machine Image (AMI), instance type, and key pair.

Step 4: Deploy the CloudFormation stack

To deploy the CloudFormation stack, follow these steps:

  1. Open the AWS Management Console.

  2. Navigate to the CloudFormation service.

  3. Select the stack you want to deploy.

  4. Click the “Create Stack” button.

  5. Follow the prompts to deploy the stack.

Step 5: Verify the resources

After the resources are created, you can verify them in the AWS console. Navigate to the EC2 dashboard, and you should see a new instance with the specified AMI, instance type, and key pair.

Step 6: Update the CloudFormation stack

If you need to make changes to the infrastructure, update the CloudFormation stack, and follow these steps:

  1. Open the AWS Management Console.

  2. Navigate to the CloudFormation service.

  3. Select the stack you want to update.

  4. Click the “Update Stack” button.

  5. Follow the prompts to update the stack.

Step 7: Delete the CloudFormation stack

If you no longer need the resources, you can delete them by following these steps:

  1. Open the AWS Management Console.

  2. Navigate to the CloudFormation service.

  3. Select the stack you want to delete.

  4. Click the “Delete Stack” button.

  5. Follow the prompts to delete the stack.


Conclusion

AWS CloudFormation provides a powerful and flexible way to manage infrastructure as code on the AWS platform. By following the steps outlined in this blog post and using the example CloudFormation template provided, you can get started with managing your infrastructure as code on AWS. With practice and experience, you can use CloudFormation to manage complex infrastructure and applications at scale.

Did you find this article valuable?

Support The Code Crafters by becoming a sponsor. Any amount is appreciated!