'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?
Solution 1:[1]
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.
Solution 2:[2]
I tried the same once lambda url feature was out. Following are the steps:
- Create a cloudfront distribution with lambda url as https endpoint, add the domain name in the alternate domain name field.
- Create a A record for the domain in Route53 and point it to the cloudfront distribution.
Note: If in case you haven't added domain certificate in step1 then the cloudfront option in step2 wont show any value to select.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | reena .m |