У меня есть данные в AWS S3, которые нужно обработать с помощью функции AWS Lambda. Однако эти данные не могут покинуть мою страну. Это не проблема с AWS S3, так как я могу выбрать регион в своей стране. Можно ли выбрать конкретное место на границе, в котором я хочу запустить свою лямбда-функцию с помощью Lambda@Edge?
Выбор периферийного местоположения для AWS Lambda@Edge
Ответы (2)
Нет, к сожалению, невозможно отфильтровать граничные местоположения из службы Lambda@Edge.
Как вы знаете, его природа заключается в глобальном распределении вычислительных ресурсов, которые выполняются в любом из более чем 150 периферийных местоположений, составляющих CloudFront. Так что он обязательно будет охватывать пределы вашей страны.
Однако вы можете добиться соответствия местоположения данных, записав код геолокации в свой Lambda, поэтому, если он будет вызван из несовместимого местоположения, то есть за пределами вашей страны, он просто проигнорирует запрос и не извлечет данные из S3.
Это приведет к тому, что лямбда-выражения будут фильтровать себя по причинам соответствия.
В любом случае, большинство пограничных запросов предположительно будут из вашей страны. Но эта логика не позволит ботам или другим случайным вызовам вызывать передачу данных из желаемого региона S3.
Поскольку вы упомянули Lambda@Edge, я предполагаю, что вы используете Cloudfront.
В Cloudfront вы можете включить ограничения по географическому распространению. А поскольку Cloudfront не обслуживает данные за пределами вашей страны, Lambda@Edge не будет обрабатывать данные за пределами вашей страны.
Документ об ограничениях Cloudfront Geo