deploy_sample_app_with_terraform_to_aws

interview_task

This repository contains the code for an interview task that involves creating an EC2 instance, writing a Python program, and creating an S3 bucket.

Task Requirements

1) Create an EC2 instance with the following specifications:

2) Create a file.

3) Create an S3 bucket with the following requirements:

Implementation Overview

Terraform Cloud is used to deploy the resources instead of deploying locally with the CLI to showcase the benefits of using Terraform Cloud. However, the code can also be run locally by configuring AWS CLI with Access Key and Secret Key, or on top of an EC2 instance where an IAM role is configured. This repository is configured with GitHub Actions to validate the Terraform code and ensure basic compliance. S3 Endpoint architecture

Code repo

Deploy sample app to AWS using terraform

Commands to use

terraform init 

terraform plan -var='instance_type=t2.micro' -var="ebs_volume_size=16"

terraform apply -var='instance_type=t2.micro' -var="ebs_volume_size=16"