1

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

4

2 回答 2

1

不,不幸的是,无法从 Lambda@Edge 服务中过滤掉边缘位置。

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

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

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

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

于 2020-02-01T21:23:33.477 回答
1

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

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

Cloudfront 地理限制文档

于 2020-02-02T03:02:11.033 回答