All posts

Your pipeline is failing before the code even runs.

The problem isn’t your codebase. It’s the way your GitHub CI/CD workflows talk—or don’t talk—to resources inside your VPC private subnets. When secure networking meets automated deployment, you’re stuck between guarding secrets and getting releases out on time. You need to route traffic through a proxy without blowing a hole in your network or introducing manual steps. Why CI/CD breaks inside a private subnet Locking down infrastructure inside a VPC private subnet keeps it safe from public expo

Free White Paper

Pipeline as Code Security: The Complete Guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free. No spam. Unsubscribe anytime.

The problem isn’t your codebase. It’s the way your GitHub CI/CD workflows talk—or don’t talk—to resources inside your VPC private subnets. When secure networking meets automated deployment, you’re stuck between guarding secrets and getting releases out on time. You need to route traffic through a proxy without blowing a hole in your network or introducing manual steps.

Why CI/CD breaks inside a private subnet
Locking down infrastructure inside a VPC private subnet keeps it safe from public exposure, but it also blocks your CI runners from reaching build tools, artifact repositories, or dependency registries. Public GitHub Actions runners can’t directly access your internal services, and self-hosted runners inside the subnet can’t reach external endpoints without a secure outbound path. Most teams hack around it with open security groups, but that kills the purpose of the VPC firewall.

The missing control: network-aware CI/CD
A network-aware GitHub Actions workflow uses a private proxy or NAT inside your subnet to give controlled outbound internet access. The proxy enforces traffic rules, logs every request, and limits scope to what’s needed. By placing the runner in the same VPC and routing all calls through the proxy, you keep secrets inside, reduce attack surface, and deploy without delay.

Continue reading? Get the full guide.

Pipeline as Code Security: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.

Steps for a secure private subnet proxy deployment

  1. Place the runner in the VPC
    Launch a self-hosted GitHub Actions runner in an EC2 instance or container within your target private subnet. Attach the correct IAM role with least privilege for both build and deployment tasks.
  2. Create a proxy layer
    Use a secure HTTP/S proxy or egress-only internet gateway. Configure ACLs to allow outbound calls only to approved endpoints like package repositories, GitHub’s API, and your artifact store.
  3. Route through security groups
    Lock down inbound rules to zero. Allow outbound only to the proxy’s address. This keeps your subnet isolated while letting CI/CD pipelines complete.
  4. Connect CI/CD to the proxy
    Pass proxy configuration via environment variables or runner config files. Ensure that all outbound HTTP/S requests from the runner go through this channel.
  5. Automate deployments
    Integrate deployment steps directly after build completion. Whether deploying to ECS, EKS, or Lambda inside the same VPC, no network boundaries need to be crossed. All happens inside your controlled perimeter.

Scaling the pattern
For large teams, define the proxy and subnet mapping as infrastructure-as-code. Roll out identical configurations in dev, staging, and production. The result: faster troubleshooting, reproducible builds, and consistent security guardrails.

Why this works
Instead of punching permanent holes in your network, you create temporary, controllable routes for your automated workflows. You preserve isolation, protect credentials, and still allow your CI/CD to operate at full speed.

See it live in minutes. Spin up a secure GitHub CI/CD pipeline with VPC private subnet proxy deployment on hoop.dev and watch your code go from commit to production without leaving your network’s safe zone.

Get started

See hoop.dev in action

One gateway for every database, container, and AI agent. Deploy in minutes.

Get a demoMore posts