Я создал канал VPC, используя сетевой балансировщик нагрузки (NLB) в соответствии с документацией AWS, и подключил его к ресурсу / методу шлюза API. Но при доступе к «Invoke URL» он выдает «Внутренняя ошибка сервера» и отображает эту ошибку во время тестирования: «Ошибка выполнения из-за ошибки конфигурации: при выполнении вашего запроса произошла внутренняя ошибка».
Процедура, которой я следовал:
1) Создан балансировщик сетевой нагрузки:
- Схема балансировки нагрузки: Внутренняя
- Протокол балансировки нагрузки / порт: TCP / 80
- Зона доступности: создан VPC с CIDR "10.0.0.0/16" и общедоступной подсетью с CIDR "1XX.XX.0.0 / 16".
- Целевая группа: Протокол / Порт / Тип цели - TCP / 80 / Экземпляр
- Нет целевой регистрации.
- Запущен NLB.
2) Создано VPC Link в API Gateway с использованием только что созданного NLB.
3) Создан новый API:
4) Развернуть выбранный API с помощью действия «Развернуть API» и только что созданного этапа.
5) Настроил «vpcLinkId» в разделе «Переменные этапа».
Теперь, если я нажму "Invoke URL", на веб-странице отобразится "{" message ":" Внутренняя ошибка сервера "}".
Примечание: Если я использую тот же URL-адрес EC2 с «Тип интеграции: HTTP», «Invoke URL» работает. То же самое не работает с VPC Link.
Ошибка:
Другие пункты, которые стоит отметить:
- В EC2 экземпляр с политикой безопасности разрешит все порты TCP.
- Экземпляр EC2 был запущен с использованием ECS / ECR (Docker Container).
- Включены журналы Cloud Watch со стадии API Gateway, но ничего не получается.
Я с радостью предоставлю дополнительную информацию, если потребуется.
РЕДАКТИРОВАТЬ 1
Основываясь на входе JNY (jny), я изменил конечную точку шлюза API на NLB и добавил свой экземпляр EC2 в качестве цели в NLB. Тем не менее, я сталкиваюсь с той же проблемой. Ниже изображения покажут все конфигурации, которые я сделал.
Конфигурация балансировщика нагрузки:
Настройки целевой группы балансировщика нагрузки:
Настройки порта целевой группы:
- Здесь я указал 3000 в качестве порта для проверки работоспособности экземпляра, поскольку мое приложение (узел) прослушивает порт 3000.
- Включены номера портов 80 и 3000 в политике безопасности.
Настройки шлюза API:
- Наконец, я изменил конечную точку шлюза API на NLB
Результат тот же:
И все же я не уверен, какую ошибку я здесь совершаю.