Skip to content

ravindrasinghh/Zero-to-Hero-Deploying-a-Full-Stack-AWS-Architecture-Using-Terraform

Repository files navigation

Zero-to-Hero-Deploying-a-Full-Stack-AWS-Architecture-Using-Terraform

ARCH

WAF

Requirements

Name Version
terraform >= 0.15.0
aws >= 4.29.0
random >= 3.6.0
template >= 2.2.0

Providers

Name Version
aws >= 4.29.0
random >= 3.6.0
template >= 2.2.0

Modules

No modules.

Resources

Name Type
aws_acm_certificate.example_cert resource
aws_acm_certificate_validation.example_cert resource
aws_autoscaling_group.app_asg resource
aws_autoscaling_policy.web_policy_down resource
aws_autoscaling_policy.web_policy_up resource
aws_cloudwatch_metric_alarm.web_cpu_alarm_down resource
aws_cloudwatch_metric_alarm.web_cpu_alarm_up resource
aws_db_instance.db resource
aws_db_subnet_group.rds_subnet_group resource
aws_efs_file_system.app_efs resource
aws_efs_mount_target.efs_mt resource
aws_eip.nat resource
aws_iam_instance_profile.ssm_instance_profile resource
aws_iam_role.ssm_role resource
aws_iam_role_policy_attachment.ssm_policies resource
aws_internet_gateway.gw resource
aws_launch_template.app resource
aws_lb.app_alb resource
aws_lb_listener.front_end resource
aws_lb_listener.https resource
aws_lb_target_group.app_tg resource
aws_nat_gateway.nat resource
aws_route53_record.cert_validation resource
aws_route53_record.www resource
aws_route53_zone.main resource
aws_route_table.private resource
aws_route_table.public resource
aws_route_table_association.private resource
aws_route_table_association.public resource
aws_security_group.alb_sg resource
aws_security_group.ec2_sg resource
aws_security_group.efs_sg resource
aws_security_group.rds_sg resource
aws_ssm_parameter.db_password resource
aws_subnet.private resource
aws_subnet.public resource
aws_vpc.main resource
aws_wafv2_ip_set.block_ip_set resource
aws_wafv2_web_acl.main_acl resource
aws_wafv2_web_acl_association.alb_assoc resource
random_password.root_password resource
aws_kms_key.db_kms_key data source
aws_route53_zone.main data source
template_file.user_data data source

Inputs

Name Description Type Default Required
alb_sg_egress_rules n/a any {} no
alb_sg_ingress_rules alb any {} no
ami_id The AMI ID to be used for the EC2 instances. string n/a yes
ec2_sg_egress_rules n/a any {} no
ec2_sg_ingress_rules ec2 any {} no
env n/a string n/a yes
instance_type The EC2 instance type for the Auto Scaling Group. string n/a yes
private_subnets A map of private subnet CIDR blocks keyed by their respective availability zones. map(string) n/a yes
public_subnets A map of public subnet CIDR blocks keyed by their respective availability zones. map(string) n/a yes
rds_conf n/a any {} no
rds_sg_egress_rules n/a any n/a yes
rds_sg_ingress_rules rds any n/a yes
region The AWS region where resources will be created. string n/a yes
vpc_conf #VPC map(any) {} no

Outputs

Name Description
alb_arn The ARN of the Application Load Balancer
alb_dns_name The DNS name of the Application Load Balancer
db_endpoint n/a
db_id n/a
db_name n/a
db_password_ssm n/a
db_username n/a
efs_file_system_id n/a
security_group_id The ID of the security group attached to the ALB
target_group_arn The ARN of the target group used with the ALB
waf_web_acl_arn The ARN of the Web ACL associated with the ALB

You can find the video at https://youtu.be/4C1Kle5MIo8 .

About

Ensuring High Availability in AWS: A Terraform Guide to Multi-AZ Deployments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published