Я не могу получить доступ к шлюзу API AWS из VPC

#amazon-web-services #aws-api-gateway #amazon-vpc

#amazon-web-services #aws-api-gateway #amazon-vpc

Вопрос:

У меня есть общедоступный шлюз API AWS.

У меня есть сервер в VPC в том же регионе, что и этот шлюз API. Сервер не может получить доступ к конечным точкам этого шлюза API. Запросы к шлюзу зависают и время ожидания истекает. Сервер может получить доступ к шлюзам API в других регионах той же учетной записи AWS просто отлично.

Серверы в виртуальных машинах в других регионах могут получить доступ к шлюзу API просто отлично. Мой локальный компьютер может получить доступ к шлюзу просто отлично. Единственное, что не может получить доступ к шлюзу, — это сервер в том же регионе.

Что происходит?

Ответ №1:

Проблема в том, что VPC имеет конечную точку VPC, переопределяющую назначение execute-api.xxxxxxx.amazonaws.com с включенным частным DNS. Это происходит, когда вы следуете инструкциям по созданию частного API в API gateway. AWS не позволяет вам (легко) совмещать доступ к частным и общедоступным шлюзам API с одного и того же VPC.

Чтобы исправить это:

  1. Измените все ваши шлюзы в этом VPC на общедоступные
  2. Перейдите к VPC и удалите нарушающую конечную точку VPC (это та, которая переопределяет назначение «execute-api.xxx.amazonaws.com «)

В качестве альтернативы, переместите общедоступные API-интерфейсы на другой VPC.

Ответ №2:

Здесь подробно объясняется возможная проблема, которая может возникнуть при работе с общедоступными и частными конечными точками из VPC, когда для шлюза API создается целевая точка.

Ошибка в этой статье 403, похоже, описывает ситуацию, отличную от вашей, когда у вас есть тайм-аут. Тайм-аут может подсказать больше о некоторых ограничениях групп безопасности, но все же, возможно, это поможет любому, кто приходит сюда.

https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-vpc-connections/

https://repost.aws/questions/QUPy7Z53LOQc6xI9XS1ypnXg/access-public-apigateway-api-via-vpc-endpoint