Skip to content

Instantly share code, notes, and snippets.

@yogeshnile
Last active April 21, 2022 03:46
Show Gist options
  • Save yogeshnile/d9cadeefba8835ec63a2aeec1fbf1b4b to your computer and use it in GitHub Desktop.
Save yogeshnile/d9cadeefba8835ec63a2aeec1fbf1b4b to your computer and use it in GitHub Desktop.
variable "aws_region" {
default = "us-east-1"
type = string
}
provider "aws" {
region = var.aws_region
}
#################################################
# Backend Setup #
#################################################
terraform {
backend "s3" {
bucket = "yogeshnile-terraform-network"
key = "Network/terraform.tfstate"
region = "us-east-1"
dynamodb_table = "yogeshnile-terraform"
encrypt = true
skip_region_validation = true
}
}
#################################################
# Network setup #
#################################################
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
name = "my-vpc"
cidr = "10.0.0.0/16"
azs = ["${var.aws_region}a", "${var.aws_region}b", "${var.aws_region}c"]
private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]
database_subnets = ["10.0.21.0/24", "10.0.22.0/24"]
enable_nat_gateway = true
single_nat_gateway = true
enable_vpn_gateway = false
enable_dns_hostnames = true
tags = {
Terraform = "true"
Environment = "dev"
}
}
#################################################
# Outputs #
#################################################
output "vpc_id" {
value = module.vpc.vpc_id
}
output "private_subnets_ids" {
value = module.vpc.private_subnets
}
output "public_subnets_ids" {
value = module.vpc.public_subnets
}
output "database_subnets_ids" {
value = module.vpc.database_subnets
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment