Git Product home page Git Product logo

tf_aws_demo_w_yml's Introduction

AWS EC2 Instances Deployment with Terraform and a Yaml Config file

Overview

This Terraform project automates the deployment of Amazon EC2 instances. It leverages AWS as the cloud provider and uses YAML configurations to specify instance details dynamically. The project is designed to illustrate best practices in infrastructure-as-code (IaC) deployment using Terraform.

Project Structure

  • ec2-instancefolder/: Contains YAML configurations for EC2 instances.
    • ec2-instance.yaml: YAML file with EC2 configuration details.
  • ami-datasource.tf: Retrieves AMI details for the instances.
  • backend.tf: Configures the Terraform backend.
  • ec2-instance.tf: Terraform configuration for deploying EC2 instances based on YAML input.
  • provider.tf: Sets up the AWS provider.
  • s3bucket.tf: Configuration for S3 bucket deployment.
  • securitygroup.tf: Configures security groups for EC2 instances.
  • variables.tf: Defines variables used across the configurations.

Use Cases

  • Educational Purposes: Demonstrates how to integrate YAML configurations with Terraform to manage cloud infrastructure dynamically.
  • Development and Testing: Ideal for developers needing to quickly spin up or tear down EC2 instances based on predefined YAML templates.
  • Automation of Repetitive Tasks: Reduces manual configuration errors and speeds up the deployment of similar or identical infrastructure across different environments.

Features

  • Dynamic Instance Configuration: Utilizes a local YAML file to manage the configurations of multiple EC2 instances.
  • Security Group Management: Ensures that appropriate security settings are configured for both SSH and web traffic.
  • Scalability: Easily scale up or down the number of instances by adjusting the count in the YAML file or Terraform configuration.

Getting Started

  1. Clone the Repository:
  1. Navigate to the Project Directory:
  • cd path-to-your-project
  1. Initialize Terraform:
  • terraform init
  1. Apply the Terraform Configuration:
  • terraform apply

Prerequisites

  • An AWS account
  • Terraform installed
  • AWS CLI configured with appropriate credentials

Resource Documentation

Below are links to the official Terraform Registry documentation for the AWS resources used in this project:

tf_aws_demo_w_yml's People

Contributors

chopinregis avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.