Skip to content

feat(vpc): AWS VPC Terraform module with multi-AZ support#7

Merged
arjunmehta-git merged 1 commit into
mainfrom
feat/aws-vpc-module
May 27, 2026
Merged

feat(vpc): AWS VPC Terraform module with multi-AZ support#7
arjunmehta-git merged 1 commit into
mainfrom
feat/aws-vpc-module

Conversation

@arjunmehta-git

Copy link
Copy Markdown
Member

Summary

Adds reusable Terraform VPC module. Closes #4.

Changes

  • modules/vpc/ - Full VPC module (subnets, NAT, flow logs, tagging)
  • Private route table IDs in outputs (needed for VPC endpoint callers)
  • examples/vpc-basic/ - Dev environment example with single NAT

Testing

Validated in us-east-1 with 2 AZs, single NAT mode.

Checklist

  • terraform fmt clean
  • terraform validate passes
  • README documents all variables and outputs
  • Example tested

- Public/private subnet tiers across configurable AZs
- NAT gateway: single or per-AZ HA mode (single_nat_gateway var)
- VPC flow logs to CloudWatch with configurable retention
- Required TCS tags applied via merge() on all resources
- Private route table IDs exposed as output for VPC endpoint callers
- Example in examples/vpc-basic/

Signed-off-by: Hamza Mohammed <hamza-mohd@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 27, 2026 06:24

@arjunmehta-git arjunmehta-git left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall solid. The private route table ID output is a good addition - I've had to hack around the lack of that before.

Two small things:

  1. The flow log IAM role name is hardcoded - if this module is used twice in one account, the role name collides. Make it ${var.vpc_name}-flow-log-role or accept a variable.
  2. In the example, show the tags variable being populated - new users won't know what the required TCS tags are otherwise.

@sarajkrishnasingh sarajkrishnasingh left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Flow log setup is clean. IAM role naming is worth fixing but can be a quick follow-up. Approving.

@arjunmehta-git arjunmehta-git merged commit 1475662 into main May 27, 2026
1 check failed
@arjunmehta-git arjunmehta-git deleted the feat/aws-vpc-module branch May 27, 2026 06:24
@arjunmehta-git arjunmehta-git removed the request for review from Copilot May 27, 2026 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Design multi-region VPC module

3 participants