Skip to content

samy-soliman/terraform-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Terraform Project

Deploy a high availablle insfrustructure solution on aws using terraform, making use of variables, modules, aws SES and lambda,
we are also triggering the terraform code from a jenkins docker based pipeline.

alt text alt text

Open playground-2 video to see it live :D

playgroung-1 task

First : configure remote backend and configure state locking using s3 and dynamo db

Networking

1- create vpc
2- create internet gateway
3- 2 public subnets and 2 private subnets , seperated in two AZ's , every Az has one public and one private
4- create public route table
5- create public route
6- attach public route table to subnets
7- create nat gateway
8- create private route table
9- create private route table
10- attach it to private subnets

Compute


7- create security group which allow ssh from 0.0.0.0/0
8- create security group that allow ssh and port 3000 from vpc cidr only
7- create ec2(bastion) in public subnet with security group from 7
8- create ec2(application) private subnet with security group from 8

playgroung-2 task

manual

it deploys in the region of your choise:
1- mandatory to enter 4 subnets configs , 2 public , 2 private
2- two of your ec2 will be placed in your public subnets , the other two in the private subnets
3- an ssh key will be created fot both public ec2 , and another one for the private
4- security groups
5- 2 natgateways
6- internet gateway
7- 2 elastix ip addresses

Lab2 Break Down


1-create two workspaces dev and prod
2-create two variable definition files(.tfvars) for the two environments
3-separate network resources into network module
4-apply your code to create two environments one in us-east-1 and us-east-2
5-run local-exec provisioner to print the public_ip of bastion ec2
6- upload infrastructure code on github project
7-create jenkins image with terraform installed inside it
8- create pipeline that takes env-param to apply terraform code on certain env
9-verify your email in ses service
10- create lambda function to send email
11-create trigger to detect changes in state file and send the email

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published