Skip to content

Lambda Function URL returning DNS_PROBE_FINISHED_NXDOMAIN in us-east-1

0

Hello,

I am encountering a DNS resolution issue with a newly created Lambda Function URL in the us-east-1 region. Despite the function being active and healthy in the AWS Console, the public endpoint is unreachable.

Issue Details: When attempting to access the Function URL via a browser, Postman, or cURL, I receive the error: DNS_PROBE_FINISHED_NXDOMAIN ("This site can't be reached"). DNS Error

Configuration:

  • Region: us-east-1
  • Runtime: Python 3.11
  • Auth Type: NONE (Public)
  • Invoke Mode: BUFFERED
  • CORS: Enabled (Allow all origins)

Troubleshooting Steps Taken:

  1. Function Health: Verified the function is "Active" in the console. Test invocations within the AWS Console are successful and generate CloudWatch logs.
  2. Network Diagnostics: Ran nslookup against the endpoint URL (https://[unique-id].lambda-url.us-east-1.on.aws). The result is NXDOMAIN (Non-existent domain).
  3. Propagation: The Function URL was created over 24 hours ago, so standard propagation time should have passed.
  4. Permissions: Verified IAM permissions are correct, though the request fails at the DNS level before reaching IAM validation.

Has anyone experienced similar DNS registration failures for Function URLs in us-east-1 recently? Is there a way to force a DNS refresh for the endpoint without deleting and recreating the function URL?

Thank you.!

1 Answer
0
Accepted Answer

Based on your description, you're experiencing a DNS resolution issue with your Lambda Function URL in the us-east-1 region. This is unusual since Lambda function URLs should be immediately available after creation with a unique URL endpoint that never changes.

When a function URL is created, Lambda automatically generates a unique URL endpoint with the format https://<url-id>.lambda-url.<region>.on.aws. These endpoints are dual stack-enabled, supporting both IPv4 and IPv6.

Since your function is working correctly when tested from the AWS Console but the public endpoint is unreachable with a DNS_PROBE_FINISHED_NXDOMAIN error, here are some potential causes and solutions:

  1. Verify the URL format: Double-check that you're using the exact URL provided by AWS without any typos or modifications.

  2. Local DNS issues: The problem might be related to your local DNS resolver. Try accessing the URL from a different network or using a different DNS server.

  3. Clear DNS cache: Clear your browser's cache and your operating system's DNS cache to ensure you're not using stale DNS information.

  4. Create a new function URL: If the issue persists, you might consider deleting and recreating the function URL. While you mentioned wanting to avoid this, it's often the most straightforward solution.

  5. Check for regional issues: While rare, there could be temporary regional issues affecting Lambda function URLs in us-east-1.

To invoke a function URL, you need both lambda:InvokeFunctionUrl and lambda:InvokeFunction permissions, but as you correctly noted, the request is failing at the DNS level before reaching any permission checks.

If the issue persists after trying these steps, contacting AWS Support would be advisable as they can investigate potential regional or account-specific issues that might be affecting your function URL's DNS registration.
Sources
Invoking Lambda function URLs - AWS Lambda
Understanding Lambda function invocation methods - AWS Lambda
lambda function url invoke error with DNS_PROBE_FINISHED_NXDOMAIN | AWS re:Post

answered a year ago

AWS
EXPERT

reviewed a year ago

  • It was a local DNS issue. I mitigated it by changing my DNS settings and clearing the DNS cache.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.