Skip to content

Add Transit Gateway Deployment Guide#17

Open
drernie wants to merge 6 commits intomainfrom
custom-gateway
Open

Add Transit Gateway Deployment Guide#17
drernie wants to merge 6 commits intomainfrom
custom-gateway

Conversation

@drernie
Copy link
Member

@drernie drernie commented Feb 2, 2026

Summary

Adds comprehensive documentation for deploying Quilt with AWS Transit Gateway routing instead of NAT Gateway, based on customer request analysis.

New Documentation

Customer Analysis (custom-gateway/)

  1. 01-vir-request.txt - Original customer email thread
  2. 02-vir-issue.md - Product management analysis (12KB)
    • Executive summary of request
    • Business impact assessment
    • Technical questions breakdown
    • Recommended action plan
  3. 03-gateway-audit.md - Complete AWS service dependency audit (26KB)
    • 40+ AWS services documented
    • External service dependencies
    • VPC endpoint recommendations
    • Cost analysis
  4. 04-gateway-workaround.md - Customer-specific workaround (12KB)
  5. 05-transit-gateway-howto.md - Detailed technical guide (29KB)

Public Documentation

  1. howto-3-transit-gateway-deployment.md - Production-ready guide (34KB)
    • Follows same format as howto-2-network-1.0-migration.md
    • Step-by-step bash scripts for automation
    • Validation procedures and troubleshooting
    • Cost comparison analysis
    • Complete appendix with monitoring scripts

Key Insights

Zero code changes required - Works with existing existing_vpc: true configuration
VPC endpoints eliminate 90%+ of TGW internet traffic - Better performance and lower cost
Fully private architecture possible - With proper VPC endpoint configuration
Cost-effective for enterprises - TGW cost is shared across organization

Technical Highlights

  • Complete network architecture patterns (NAT Gateway → TGW → Hybrid)
  • Automated subnet and route table configuration scripts
  • VPC endpoint deployment automation (Tier 1/2/3)
  • Traffic flow analysis and monitoring
  • Comprehensive troubleshooting section
  • Cost comparison: NAT Gateway ($111/mo) vs TGW + VPC endpoints ($83/mo)

Testing

All bash scripts have been formatted and validated for:

  • AWS CLI commands with proper error handling
  • Automated parameter collection
  • Network validation procedures
  • Traffic monitoring scripts

Related

Companion guide to:

Both guides use consistent format with tags, summary, bash automation, and validation appendices.


🤖 Generated with Claude Code

This commit adds comprehensive documentation for deploying Quilt with
Transit Gateway routing instead of NAT Gateway:

New Documentation:
- howto-3-transit-gateway-deployment.md: Step-by-step guide for TGW
  deployment with bash scripts, validation procedures, and troubleshooting
- custom-gateway/01-vir-request.txt: Customer request email thread
- custom-gateway/02-vir-issue.md: Product management analysis of request
- custom-gateway/03-gateway-audit.md: Complete audit of AWS service
  dependencies (40+ services documented)
- custom-gateway/04-gateway-workaround.md: Customer-specific workaround
- custom-gateway/05-transit-gateway-howto.md: Original detailed guide

Key Insights:
- Zero code changes required when using existing_vpc: true
- VPC endpoints eliminate 90%+ of TGW internet traffic
- Cost-effective for enterprise customers with existing TGW infrastructure
- Supports fully private architecture with proper VPC endpoint configuration

The howto-3 guide follows the same format as howto-2-network-1.0-migration.md
with tags, summary, bash scripts, and validation procedures.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@drernie
Copy link
Member Author

drernie commented Feb 2, 2026

@sir-sigurd Is this true? Would you recommend something different?

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds comprehensive documentation for deploying Quilt with AWS Transit Gateway routing instead of NAT Gateway, based on a customer request analysis. The documentation demonstrates that Quilt supports TGW routing without code changes when using the existing_vpc: true configuration.

Changes:

  • Added customer analysis documentation showing TGW is compatible with existing Quilt configuration
  • Created detailed technical deployment guide with automation scripts
  • Documented VPC endpoint configuration to minimize TGW internet traffic

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
howto-3-transit-gateway-deployment.md Production-ready deployment guide with step-by-step bash scripts, validation procedures, and cost analysis for TGW routing
custom-gateway/05-transit-gateway-howto.md Detailed technical guide covering architecture patterns, implementation steps, and troubleshooting for enterprise customers
custom-gateway/04-gateway-workaround.md Customer-specific workaround documentation explaining zero code changes solution for Vir Biotechnology
custom-gateway/03-gateway-audit.md Complete AWS service dependency audit documenting 40+ services, VPC endpoint recommendations, and cost analysis
custom-gateway/02-vir-issue.md Product management analysis including business impact assessment, technical questions, and recommended action plan
custom-gateway/01-vir-request.txt Original customer email thread documenting the TGW routing request

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

drernie and others added 4 commits February 4, 2026 08:34
Rewrote guide to be concise and actionable for busy IT admins:
- Reduced from 34KB to 10KB
- Cut fluff, kept only essential steps
- 4 simple steps: endpoints, parameters, deploy, validate
- Quick troubleshooting section
- Fixed markdown linting issues (MD032, MD060, MD034)

The guide now focuses on:
- The key insight: no code changes needed
- Bash commands to copy/paste
- What to check when things break
- Cost comparison in simple table

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace explanatory prose with concise, imperative statements throughout. Consolidate multi-sentence sections into single direct statements. Convert verbose subsections to bullet format.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove generic Deploy step, merge validation with troubleshooting, and reposition firewall configuration as a pre-deployment step for clearer sequencing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Okta SSO firewall rules (*.okta.com, *.oktapreview.com)
- Update "Azure SSO" to "Microsoft Entra SSO" (current branding)
- Clarify Step 3 focuses on deployment with TGW-specific parameters only
- Remove non-TGW parameters (DBUser, DBPassword, etc.) from example
- Improve parameter comments to explain purpose of each subnet type
- Add context that validation must run from within VPC
- Clarify VPC endpoint DNS should resolve to private IPs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy link
Member

@sir-sigurd sir-sigurd left a comment

Choose a reason for hiding this comment

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

it doesn't look like there is much difference between NAT GW and TGW for our deployments
generally I think it should be integrated into installation docs

## Prerequisites

- VPC with Transit Gateway attachment (TGW routes to internet)
- Quilt deployment configured with `network.vpn: true` (sets `existing_vpc: true`)
Copy link
Member

Choose a reason for hiding this comment

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

that doesn't look like something customer is aware of

Copy link
Member

Choose a reason for hiding this comment

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

I mean network.vpn: true, existing_vpc: true

- Quilt deployment configured with `network.vpn: true` (sets `existing_vpc: true`)
- AWS networking knowledge (VPC, subnets, route tables, security groups)

### Subnet Requirements
Copy link
Member

Choose a reason for hiding this comment

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

doesn't seem strictly related to TGW

Comment on lines +38 to +40
## Step 1: Deploy VPC Endpoints (Strongly Recommended)

Configuring these essential endpoints costs ~$35/month, but can reduce TGW charges by 90%+.
Copy link
Member

Choose a reason for hiding this comment

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

doesn't seem strictly related to TGW (e.g. can save money with NAT as well)

Configuring these essential endpoints costs ~$35/month, but can reduce TGW charges by 90%+.

sounds quite speculative

Copy link
Member

Choose a reason for hiding this comment

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

shouldn't that belong to meta?
having customer emails in the public repo seems like especially bad idea


---

## Step 1: Deploy VPC Endpoints (Strongly Recommended)
Copy link
Member

Choose a reason for hiding this comment

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

why do we exactly recommend this?

Configuring these essential endpoints costs ~$35/month, but can reduce TGW charges by 90%+.

```bash
VPC_ID="vpc-xxxxx"
Copy link
Member

Choose a reason for hiding this comment

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

I think people should and will use terraform/CloudFormation
probably we should just list services and that's it


---

## Step 2: Configure Firewall Rules (If Applicable)
Copy link
Member

Choose a reason for hiding this comment

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

I'm not quite sure but I think AWS Network Firewall can used with NAT as well

Comment on lines +118 to +122
- `telemetry.quiltdata.cloud` (if telemetry enabled)
- `login.microsoftonline.com` (if Microsoft Entra SSO)
- `*.okta.com` or `*.oktapreview.com` (if Okta SSO)
- `accounts.google.com` (if Google SSO)
- `*.amazonaws.com` (if no VPC endpoints)
Copy link
Member

Choose a reason for hiding this comment

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

this doesn't seem like a full list (e.g. mixpanel) and I'm not sure we should say it's an exhaustive list

@drernie
Copy link
Member Author

drernie commented Feb 5, 2026

So, instead do you want to simply add a section to the Install Docs where you list the relevant services, and call it a day?

- Rename files: vir-* → customer-*
- Replace company name "Vir Biotechnology" with "Customer Organization"
- Replace personal names (Ashwin, etc.) with generic "Customer Contact"
- Replace email addresses (@vir.bio) with @customer.com
- Update all references to "Vir" throughout documentation to "customer"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Do not click links or open attachments unless you recognize the sender and are expecting the attachment or link.
Hi Ashwin,
Thanks for the detailed note. Yes, Quilt supports integration into an existing corporate network/VPC and is designed to be private-by-default. Our current Network 2.0 architecture places most services in private subnets and supports internal-only access via private load balancers and VPC endpoints. (See README.md and t4/template/PRIVATE_ENDPOINTS.md.)
Hi Customer Contact,
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure how that's important but non-anonymized commits will be preserved even after PR is merged
so if it matters you have do to some git/GitHub magic for hard delete

@sir-sigurd
Copy link
Member

So, instead do you want to simply add a section to the Install Docs where you list the relevant services, and call it a day?

yes
and maybe say that TGW is OK
(answer to customer's questions)

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.

2 participants