Может ли статический сайт AWS S3 получать доступ к REST API в VPC? - PullRequest
0 голосов
/ 24 сентября 2018

Я прочитал довольно много страниц документации и других вопросов / ответов StackOverflow, но, похоже, не могу найти ничего, что могло бы помочь мне в моем сценарии.

Я веду общедоступную конференцию,статический сайт в ведре S3.Этот сайт делает некоторые вызовы API, который я разместил в экземпляре EC2 в VPC.Из-за этого мой API может вызываться только другими экземплярами и службами в том же VPC.

Но я не уверен, как разрешить сайту S3 Bucket доступ к моему API.

Я пытался создать конечные точки VPC и идти по этому маршруту, но все, что он делал, ограничивало доступ к моему сайту S3 только экземплярами в моем VPC (а это не то, что я хочу).

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

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Статический сайт не работает на сервере.Он полностью работает в веб-браузере каждого посетителя сайта.Компьютер, на котором он работает, будет ноутбуком вашего конечного пользователя.Ни один из ваших кодов не работает в корзине S3.Ведро S3 просто хранит файлы и передает их браузеру конечного пользователя, который затем запускает код.Маршрут, по которому вы идете вниз, чтобы попытаться предоставить S3-сегменту доступ к ресурсу VPC, не будет работать.

Вам необходимо сделать свой API общедоступным, чтобы код, работающий на вашем статическом сайте (работающий в веб-браузерах, на ноутбуках / планшетах / телефонах и т. Д. Конечного пользователя), имел к нему доступ.Вы должны изучить что-то вроде ключей API или токенов JWT, чтобы обеспечить безопасность для вашего открытого API.

0 голосов
/ 24 сентября 2018

Нет, статические сайты S3 на 100% являются клиентским кодом.Таким образом, это в основном просто доставка html + css + javascript, как есть с S3.Если вы хотите разместить динамический контент на своем веб-сайте, вам нужно взглянуть на вызов API, доступный из браузера вашего пользователя, то есть из Интернета.

AWS Шлюз API с частной интеграцией может использоваться для приема входящего вызова REST и отправки его на сервер EC2 в вашем VPC.

Мое предпочтительное решение для добавлениядинамические данные для статических веб-сайтов S3 используют API-шлюз с AWS Lambda для создания безсерверного веб-сайта.Это сводит к минимуму эксплуатационные расходы, техническое обслуживание и позволяет быстро развертывать.См. Serverless Framework для получения информации о запуске и использовании этого решения.

...