Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I call my AWS Lambda function URL via a custom domain?

I have created an AWS Lambda with the new function URL feature enabled.

Since the URL isn't that easy to remember, I would like to create a Route 53 alias like lambda.mywebsite.com.

There is no Route 53 alias for Lambda function URLs in the drop-down menu for aliases in Route 53.

How can I call my AWS Lambda function URL via a custom domain?

Is a CNAME record the way to go?

like image 335
Kaguei Nakueka Avatar asked Sep 01 '25 10:09

Kaguei Nakueka


2 Answers

How can I call my AWS Lambda function URL via a custom domain?

If you must use an AWS Lambda function URL, fronting it with a CloudFront distribution with your desired custom domain name is the only way currently.

There is no support currently for a Route 53 alias record, as the Host header must be set to the Lambda function URL domain. If the Host header does not exist, HTTP 400 Bad Request is returned & if it does exist but is not the correct value, HTTP 403 Forbidden is returned.

They are meant to be the simplest & fastest way to invoke your Lambda functions via a public endpoint without using other AWS services like API gateway, so a native lack of support for a custom domain name makes sense.

like image 111
Ermiya Eskandary Avatar answered Sep 03 '25 02:09

Ermiya Eskandary


If you use CloudFlare for your DNS services you can use Redirect Rules under the Rules tab. For simple projects the DNS management is free, and you get up to 10 free Redirect Rules.

More info here: https://developers.cloudflare.com/rules/url-forwarding/single-redirects/create-dashboard/

For my purposes in CloudFlare I set up a Static redirect to my Lambda URL provided in the AWS Console, with a 307 Status Code: enter image description here

like image 39
Copy and Paste Avatar answered Sep 03 '25 00:09

Copy and Paste