This guide demonstrates how to create a complete VPC network and deploy EC2 instances using multiple Patterned Designs modules.

What You’ll Build

  • A VPC with public and private subnets
  • Security groups for web and database tiers
  • EC2 instances in the appropriate subnets

Prerequisites

Modules Used

Implementation

Step 1: Create the VPC

module "vpc" {
  source  = "registry.patterneddesigns.ca/patterneddesigns/vpc/aws"
  version = "1.0.0"

  name = "production"
  cidr = "10.0.0.0/16"
}

Step 2: Add Security Groups

module "web_sg" {
  source  = "registry.patterneddesigns.ca/patterneddesigns/security-group/aws"
  version = "1.0.0"

  name   = "web-tier"
  vpc_id = module.vpc.vpc_id
}

Step 3: Deploy EC2 Instances

module "web_server" {
  source  = "registry.patterneddesigns.ca/patterneddesigns/ec2-instance/aws"
  version = "1.0.0"

  name               = "web-server"
  subnet_id          = module.vpc.public_subnet_ids[0]
  security_group_ids = [module.web_sg.security_group_id]
}

Complete Example

See the full working example in the examples directory.

Next Steps