CloudFront перед API-шлюзом (частный) - PullRequest
0 голосов
/ 12 февраля 2019

Я знаю, что могу поставить API-шлюз типа конечной точки REGIONAL за дистрибутивом Cloudfront, но возможно ли установить API-шлюз типа конечной точки PRIVATE?

Таким образом, звонки только из Интернета наCloudfront будет попадать в шлюз API?Я предполагаю, что это не может быть сделано, потому что Cloudfront является общедоступным.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Назначение частных API-интерфейсов - разрешить доступ из определенной внутренней сети (например, подсети VPC, локальной сети).

Таким образом, если вам нужно настроить CloudFront, то запросы от CloudFront следует направлять в общедоступную конечную точку сети (например, на NLB с выходом в Интернет), а затем NLB может указывать на статические IP-адреса VPC.конечная точка, связанная с политикой ресурсов частного API.

Я не думаю, что вышеупомянутое решение подходит для производственных сред из-за определенных проблем безопасности, и точки интеграции могут быть повреждены, если кто-то обновит конфигурацию конечной точки VPC.Поэтому я бы сказал, что лучше не настраивать CloudFront перед частным API.

Не могли бы вы немного подробнее объяснить, почему вам нужно представить дистрибутив CloudFront перед частным API?Я могу предоставить альтернативу.Например, вы можете рассмотреть возможность введения правила WAF (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-aws-waf.html), если вам нужно ограничить доступ к API из определенного домена (например, дистрибутив CloudFront).

0 голосов
/ 13 февраля 2019

Сконфигурируйте дистрибутив CloudFront, включив в него пользовательский заголовок, содержащий общий секрет, когда он перенаправляет запрос в ваш пользовательский источник.Вам необходимо указать название заголовка и его значение.Например, при использовании Amazon API Gateway в качестве источника вы можете настроить заголовок x-api-key со своим значением ключа API в качестве настраиваемого заголовка.

https://aws.amazon.com/blogs/networking-and-content-delivery/serving-private-content-using-amazon-cloudfront-aws-lambdaedge/

Я не являюсьдействительно уверен, что вы подразумеваете под

Таким образом, только вызовы из Интернета в Cloudfront попадут в шлюз API

...