Ваше сообщение выглядит подозрительно, как this
Если вы уверены, что это не те вещи, которые упомянуты в этом ответе, то я бы проверил маршрутизацию в вашем запросе на интеграцию.
URI вашего запроса curl - / v1 / nmapscan /, что означает, что API Gateway будет смотреть на STAGE v1, resource / nmapscan.Как только это происходит, API GW отправляет запрос на канал VPC на основе URI, настроенного в запросе интеграции.Я не очень знаком с Terraform, но похоже, что вы отправляете его по адресу:
http://aws_lb.myapis.dns_name:8000
Я также вижу, что у вас есть "параметры запроса"определено в terraform (но может быть закомментировано?):
// request_parameters = {
// "integration.request.path.nmapscan" = "method.request.path.nmapscan"
// }
Я бы проверил, что после развертывания Запрос интеграции в консоли API GW показывает, что он направляется на правильный маршрут.Не зная наверняка, я предполагаю, что путь к вашему приложению на самом деле http://aws_lb.myapis.dns_name/nmapscan:8000, и он неправильно передается в NLB, потому что он по какой-то причине неправильно отображается в запросе интеграции.
Несмотря на это, самый простой способ узнать, что такое URI при отправке запроса в NLB, - это включить журналы выполнения API-шлюза и включить полные данные запросов / ответов в этих журналах.Это даст вам что-то похожее на это:
(32e76dc1-2e80-11e9-b849-1d4cbf2f1403) Endpoint request body after transformations: {"resource":"/testproxy","path":"/testproxy","httpMethod":"GET","headers":[TRUNCATED]
(32e76dc1-2e80-11e9-b849-1d4cbf2f1403) Sending request to [TRUNCATED]
Я сократил для краткости, но вы можете увидеть определение пути там.Будет полезно взглянуть на это, чтобы сузить место возникновения ошибки.