如何通过自定义域调用我的 AWS Lambda 函数 URL?

Bob*_*Bob 25 amazon-web-services amazon-route53 aws-lambda

我创建了一个启用了新函数 URL功能的 AWS Lambda。

由于 URL 不太容易记住,我想创建一个 Route 53 别名,例如lambda.mywebsite.com。

Route 53 别名的下拉菜单中没有 Lambda 函数 URL 的 Route 53 别名。

如何通过自定义域调用我的 AWS Lambda 函数 URL?

CNAME 记录是正确的选择吗?

Erm*_*ary 27

如何通过自定义域调用我的 AWS Lambda 函数 URL?

如果您必须使用 AWS Lambda 函数 URL,则目前唯一的方法是在其前面使用带有所需自定义域名的 CloudFront 分配。

目前不支持 Route 53 别名记录,因为Host标头必须设置为 Lambda 函数 URL 域。如果Host标头不存在,HTTP 400 Bad Request则返回;如果标头存在但不是正确的值,HTTP 403 Forbidden则返回。

它们旨在成为通过公共端点调用 Lambda 函数的最简单、最快的方法,而无需使用 API 网关等其他 AWS 服务,因此原生缺乏对自定义域名的支持是有道理的。


Cop*_*ste 8

如果您使用 CloudFlare 作为 DNS 服务,您可以Redirect Rules在该Rules选项卡下使用。对于简单的项目,DNS 管理是免费的,您最多可以获得 10 个免费Redirect Rules.

更多信息请访问:https://developers.cloudflare.com/rules/url-forwarding/single-redirects/create-dashboard/

为了在 CloudFlare 中实现我的目的,我设置了一个Static重定向到 AWS 控制台中提供的 Lambda URL,并带有307状态代码: 在此输入图像描述


小智 7

一旦 lambda url 功能推出,我就尝试了同样的方法。以下是步骤:

  1. 创建一个使用 lambda url 作为 https 端点的 Cloudfront 分配,在备用域名字段中添加域名。
  2. 在 Route53 中为域创建 A 记录并将其指向 cloudfront 分发。

注意:如果您在步骤 1 中尚未添加域证书,则步骤 2 中的 cloudfront 选项将不会显示任何可供选择的值。