Я создал публичный API, используя шлюз API AWS с ресурсом cars
и методом GET
. У меня также есть внутренний API, /api/routing
, который размещен на экземпляре Windows EC2. Внутренний API принимает только запрос POST
и используется для маршрутизации запроса на основе некоторых значений заголовка.
В запросе интеграции у меня также есть настройка Mapping Template, чтобы он мог POST данные к api/routing
Таким образом, запрос на интеграцию для cars
публичного API выглядит следующим образом
Входящие правила для экземпляра EC2
Выпуск
URL-адрес конечной точки использует частный ip экземпляра EC2. Когда я тестирую cars
API, я получаю ошибку
Execution failed due to configuration error: Invalid endpoint address
Если я изменю URL-адрес конечной точки на использование общедоступного IP-адреса , тогда он будет работать как положено
В конце концов, я хотел бы получить доступ к бэкэнд-API, используя private-ip Экземпляр EC2 - это бесплатный экземпляр, созданный AWS.
Я понимаю, что если у меня есть VPC, то в API Gateway мне нужно настроить VPC Links, но я не создал ни одного VPC (если только по умолчанию AWS не создаст его).