Skip to content

Build the infrastructure needed to deploy a containerized application on Amazon ECS.

Notifications You must be signed in to change notification settings

jeff-pedro/challenge-devops-infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Challenge DevOps: Infrastructure

Deploys an infrastructure in a containerized cloud application.

This repository stores the code used to build the infrastructure needed to deploy the Aluraflix API using Terraform to provision resources and Github Actions to automate deployment.

English - Portuguese

GitHub Actions Plan GitHub Actions Apply Terraform Version Release


Tecnologies

  • Terraform as IaC.
  • Github Actions as CI/CD.

What will be built...

Network

  • VPC as a virtual network dedicated to the application.
  • Subnets across different availability zones.
  • Internet Gateway for Internet access.
  • Route Tables mapping network route traffic.
  • Security groups in service level access control.
imagem da arquitetura da vpc

Computing

  • EC2 instances generated via Launch Template.
  • Autoscaling group to manage server scalability.
  • Load Balancer as an interface that will redirect requests to a target group.
imagem da arquitetura da ec2

Amazon ECS

  • Cluster grouping infrastructure (autoscaling), services and other sharing configurations.
  • Service willl be manage the tasks.
  • Tasks is where the container of the application that will be run.
imagem da arquitetura da ecs

Full architecture

arquitetura da infraestrutura

Aluraflix API

Using the repository

  1. Clone the repository.

  2. Configure the secrets and environment variables on Github:

  • TF_CLOUD_ORGANIZATION: organization in which the project is created in Terraform Cloud.
  • TF_API_TOKEN: token generated in Terraform Cloud.
  • TF_WORKSPACE: name of the workspace in Terraform Cloud where the implementation of resources will be executed.
  1. Configure environment variables in Terraform Cloud:
  • AWS_ACCESS_KEY_ID: IAM AWS access key ID.
  • AWS_SECRET_ACCESS_KEY: IAM AWS secret access key ID (sensitive).
  1. As the entire process is carried out via CI, to implement the infrastructure it is necessary to make a Pull Request of any change and perform the Merge.

  2. Another way is to directly access Github Actions and run the workflow in the dashboard.


Back to top

About

Build the infrastructure needed to deploy a containerized application on Amazon ECS.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published