Share via

Can Azure Container Apps receive UDP packets?

Nathan Baker 0 Reputation points
2026-04-30T09:26:18.8766667+00:00

Hiya,

To provide a bit of context, I'm running an Azure Container Apps environment containing two ACAs. One ACA is used for the web application, and the other is solely used for processing jobs from a queue. The jobs being processed are queries to an abundance of game servers, most commonly queried by sending an A2S_INFO packet to the game servers' query port. The query port of these game servers tends to be UDP.

Now I've done some troubleshooting and have verified the following:

  • Querying the failing game server from within the ACA returns a UDP timeout.
  • The packet is sent to the game server, and the game server sends a challenge request back to the ACA.
  • Querying another game server works as expected from within the ACA.
  • Querying the failing game server on my local machine returns the expected result (so it's not like it's just this game server that's the issue; it's specifically when querying from the ACA).

If anyone has any advice, that would be greatly appreciated.

Thanks,
Nathan

Azure Container Apps
Azure Container Apps

An Azure service that provides a general-purpose, serverless container platform.


2 answers

Sort by: Most helpful
  1. Pravallika KV 14,235 Reputation points Microsoft External Staff Moderator
    2026-04-30T09:58:18.4833333+00:00

    Hi @Nathan Baker ,

    Thanks for reaching out to Microsoft Q&A.

    Ingress (listening) in Container Apps only supports HTTP/HTTPS and TCP transports, UDP endpoints aren’t supported for inbound traffic.

    Egress (outbound) does allow UDP packets but because ACA uses dynamic outbound IPs and ephemeral port mappings, return UDP traffic can easily get dropped if your NAT/NSG setup isn’t preserving the mapping long enough.

    Here’s what you can try:

    1. Integrate your Container Apps environment into a custom VNet
    2. Deploy a NAT Gateway on that VNet
    3. Open NSG rules for the ephemeral UDP port range
      • Make sure inbound return packets aren’t blocked by your network security rules
    4. (If you need to host a UDP listener) consider using Azure Container Instances or a small VM instead
      • ACI and VMs let you bind to UDP ports publicly

    If after VNet + NAT you still see timeouts, double-check:

    • Which outbound IP your app is actually using (logs will show it)
    • That the game server allow-lists that IP + the full range of ephemeral ports (default UDP 49152–65535)

    Hope this helps!


    If the resolution was helpful, kindly take a moment to click on User's imageand click on Yes for was this answer helpful. And, if you have any further query do let us know.

    0 comments No comments

  2. Q&A Assist
    2026-04-30T09:26:37.0666667+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    Azure Container Apps can send and receive UDP traffic, but only as outbound traffic from the container to external endpoints. Inbound connectivity for apps is HTTP(S)-based; there is no direct UDP ingress to a container app from the internet.

    For outbound UDP from Azure Container Apps, networking behaves like other Azure PaaS/container services:

    • Outbound traffic (including UDP) is SNATed to the environment’s single egress IP (public or via VNet/NAT, depending on configuration).
    • DNS resolution for outbound traffic relies on Azure recursive resolvers at 168.63.129.16. If a custom DNS server is used in the VNet, that DNS server must forward unresolved queries to 168.63.129.16, and NSGs/firewalls must not block that IP. Misconfigured DNS or blocked access to 168.63.129.16 can cause intermittent failures when reaching external services.

    Given the scenario:

    • Some UDP queries succeed and others fail.
    • The failing game server sends a challenge back, but the container app times out.

    Key areas to verify in the Container Apps environment/network:

    1. DNS and name resolution
      • If the game server is reached by hostname, ensure the DNS path from the Container Apps environment is correct.
      • If using a custom DNS server on the VNet, configure it to forward unresolved queries to 168.63.129.16 and ensure NSGs/firewalls allow traffic to that IP.
    2. NSG / firewall rules on the VNet or upstream devices
      • Confirm there is no rule selectively blocking UDP responses from the specific game server IP/port while allowing others.
      • Ensure outbound UDP from the Container Apps subnet to the game server’s IP/port is allowed, and return traffic is not blocked.
    3. Egress IP and remote-side filtering
      • The game server sees the Container Apps environment’s egress IP, not the container’s internal IP.
      • If the game server or an intermediate firewall has IP-based allow/deny rules, verify that the Container Apps egress IP is allowed for UDP on the query port.
    4. Network contention or throughput constraints
      • Container Apps environments share a single ingress/egress IP and underlying network resources. Under high load, contention or throttling could affect some UDP flows.
      • If there is heavy concurrent UDP traffic to many servers, consider whether packet loss or buffer issues on either side could affect specific paths.

    If the same game server works from a local machine but not from Container Apps, the most likely causes are:

    • DNS or NSG/firewall configuration differences in the Container Apps network path.
    • Remote-side filtering based on the Container Apps egress IP.

    Verifying DNS forwarding to 168.63.129.16 and checking NSG/firewall rules on the Container Apps subnet and any custom DNS server is the primary recommended next step.


    References:

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.