【问题标题】:Selecting edge location for AWS Lambda@Edge为 AWS Lambda@Edge 选择边缘站点
【发布时间】:2020-05-18 02:30:34
【问题描述】:

我在 AWS S3 中有想要使用 AWS Lambda 函数处理的数据。但是,这些数据不能出境。这不是 AWS S3 的问题,因为我可以在我的国家/地区选择一个区域。是否可以选择我想使用 Lambda@Edge 运行我的 lambda 函数的特定边缘位置?

【问题讨论】:

  • 您想用 Lambda 或 Lambda@Edge 处理它吗? Lambda 您可以在您的区域甚至您自己的 VPC 中运行,但 Lambda@Edge 会将 Lambda 分发到您的 CloudFront 分配部署到的所有边缘站点。

标签: amazon-web-services aws-lambda amazon-cloudfront aws-lambda-edge


【解决方案1】:

不,很遗憾,无法从 Lambda@Edge 服务中过滤掉边缘位置。

如您所知,它的本质是计算资源的全球分布,这些资源在构成 CloudFront 的 150 多个边缘站点中的任何一个中执行。因此,它必然会跨越您所在的国家/地区。

但是,您可以通过将地理定位代码写入 Lambda 来实现数据位置合规性,因此如果从不合规的位置(即您所在国家/地区之外)调用,它只会忽略该请求并且不会从 S3 中提取数据。

这将产生 Lambda 出于合规性原因过滤自身的效果。

无论如何,大多数边缘请求都可能来自您所在的国家/地区。但是这种逻辑会阻止机器人或其他随机调用导致数据传输出您所需的 S3 区域。

【讨论】:

  • WaltDe 的回答似乎与这个回答相矛盾。
【解决方案2】:

既然您提到了 Lambda@Edge,我假设您正在运行 Cloudfront。

在 Cloudfront 中,您可以启用地理分布限制。由于 Cloudfront 不在您所在国家/地区以外提供数据,因此 Lambda@Edge 不会在您所在国家/地区以外处理数据。

Cloudfront Geo Restrictions Document

【讨论】:

    猜你喜欢
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 2021-06-28
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多