Назад | Перейти на главную страницу

Шлюз API AWS как прокси для микросервисов на базе EC2

У меня на EC2 работает пара микросервисов.

Я намерен использовать шлюз API AWS, чтобы разрешить доступ в Интернет к API EC2.

Incoming Traffic is:
internet -> API Gateway -> EC2-server

Я планирую использовать прокси-сервер HTTP на AWS Gateway. Но у меня 2 проблемы:

A) Как я могу обратиться к EC2 в "конечной точке URL" в интеграции метода? Могу ли я как-то использовать частный IP-адрес AWS?

Б) Как мне настроить группу безопасности EC2, чтобы разрешить запрос шлюза API в EC2?

API Gateway предназначен в основном для использования с Lambda, поэтому есть некоторые ограничения. Для простейшей интеграции вы должны сделать свой микросервис общедоступным, а затем пройти аутентификацию между API Gateway и вашим сервисом другими способами. Это не похоже на то, что вы хотите сделать ... Я бы тоже не хотел делать свои негосударственные сервисы общедоступными!

Чтобы делать то, что вы просите (API-шлюз к частным ресурсам EC2), вы должны настроить частная интеграция. Это очень похоже на то, как AWS реализует конечные точки сервисов для таких сервисов, как S3. В принципе, вам нужно поставить NLB перед вашим сервисом. Затем вы настраиваете API Gateway для связи с этой конечной точкой через VpcLink ресурс. Поток выглядит так:

API Gateway -> VpcLink resource -> NLB -> Target Group -> EC2 instances

Смотрите также этот вопрос

Примечание. У меня есть опыт работы только с Lambda, поэтому я еще никогда не тестировал AWS API Gateway с обычными HTTP-серверами ... т.е. использовал его как облачный nginx.

Но в соответствии с @EdwardSamuel:

Ты можешь использовать AWS API Gateway (документация).

API Gateway помогает разработчикам создавать надежные, безопасные и масштабируемые серверные части мобильных и веб-приложений. API Gateway позволяет разработчикам безопасно подключать мобильные и веб-приложения к бизнес-логике размещен на AWS Lambda, API, размещенные на Amazon EC2, или другие общедоступные веб-сервисы, размещенные внутри или за пределами AWS.. С помощью API Gateway разработчики могут создавать и использовать API-интерфейсы для своих серверных служб без разработки и обслуживания инфраструктуры для обработки авторизации и контроля доступа, управления трафиком, мониторинга и аналитики, управления версиями и создания комплектов для разработки программного обеспечения (SDK).

API-шлюз теперь поддерживает интеграцию с HTTP-прокси для сквозных ресурсов, поэтому вам не нужно явно описывать полезные данные и параметры запроса (что требовалось ранее).