VPC with EC2
Create a VPC and deploy EC2 instances using Patterned Designs modules.
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
- Completed Getting Started
- AWS credentials with EC2 and VPC permissions
Modules Used
- vpc - Network infrastructure
- security-group - Firewall rules
- ec2-instance - Compute instances
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
- Serverless API - Build serverless infrastructure
- Best Practices - Follow recommended patterns