У меня на 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-прокси для сквозных ресурсов, поэтому вам не нужно явно описывать полезные данные и параметры запроса (что требовалось ранее).