aws / aws/aws-lambda-roadmap

Support inbound TCP/UDP (Layer 4) connections for Lambda MicroVMs in VPC

Open
#95 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
No language data
Stars
196
Forks
5
PR merge metrics
No merged PRs in 30d

Description

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

**Tell us about your request**
Allow Lambda MicroVMs attached to a VPC to expose inbound TCP/UDP ports accessible from within that VPC (via the assigned ENI/private IP), in addition to the existing managed HTTPS endpoint.

**Which service(s) is this request for?**
AWS Lambda (Lambda MicroVMs). Tangentially related to VPC Networking / ENI management.

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
Lambda MicroVMs can already be attached to a VPC, but inbound access is limited to the managed HTTPS endpoint (Layer 7). There's no way to expose a TCP or UDP port on the VPC ENI for other resources in the same VPC to connect to.

This means any service running inside a MicroVM must speak HTTP, WebSocket, or gRPC. You can't run a Redis, Postgres, NATS, or any other service that uses native TCP wire protocols and have VPC resources connect to it directly.

The use case I'm most interested in: on-demand coordination infrastructure for serverless workloads. A Step Functions workflow fans out to hundreds of parallel Lambda invocations. Those invocations need shared state (dedup, locking, or aggregation) for the 20–30 minutes the job runs. A MicroVM running Redis (launched from a snapshot, available in milliseconds) would be perfect for this. But native Redis clients speak TCP on port 6379. Without inbound port access on the VPC, I'd have to wrap Redis in an HTTP adapter, which adds latency, eliminates compatibility with standard client libraries, and defeats the purpose of running a real Redis instance.

The same limitation applies to fire-and-forget patterns (UDP for high-throughput status reporting where occasional loss is acceptable) and integration testing scenarios where you want to run real service binaries unmodified.

The on-demand ephemeral infrastructure pattern, which the snapshot-resume model and suspend-to-zero pricing are uniquely suited for, is blocked by the inability to accept connections on standard service ports.

**Are you currently working around this issue?**
Using traditional always on infrastructure

**Additional context**
I wrote about this in more detail here: [Lambda MicroVMs: On-Demand Stateful Compute](https://danguisinger.com/blog/lambda-microvms-on-demand-stateful-compute/). The "What I'd Want to See Next" section covers this specifically.

Contributor guide

Open the contributing guide

Research direction

No repository files, tests, or implementation entry points are identified. Start by reading the request and its linked On-Demand Stateful Compute article, then investigate AWS Lambda MicroVM VPC and ENI behavior; done would mean defining and implementing inbound TCP and UDP access for VPC-connected MicroVMs.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud, infrastructure, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.