Назад | Перейти на главную страницу

Доступ к частному API из домена, размещенного в AWS

Я пытаюсь сделать частный лямбда-вызов AWS через шлюз API, и я не нашел правильного ответа в Интернете, вероятно, потому, что я новичок в управлении веб-сайтами AWS.

Ближайший источник, который я нашел, - это документация Amazon: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-api-test-invoke-url.html

Я использую бессерверную структуру, и вот пример настройки функции

provider:
  name: aws
  runtime: nodejs8.10
  memorySize: 128
  environment:
    MONGODB_URL: ....
    MONGODB_USER: ....
    MONGODB_PWD:....
  vpc:
    securityGroupIds:
      - ....
    subnetIds:
      - ....
      - ....

functions:
  addGameTemplate:
    handler: game.create
    events:
      - http:
          method: put
          path: games
          cors: true
          private: true

URL-адрес также размещен на route53.

Любое руководство будет оценено!

Если я правильно понимаю вашу проблему, вы хотите вызвать частный API-шлюз в своем VPC из Lambda, верно?

Для этого вам нужно выполнить лямбду в VPC, иначе у него не будет доступа к частным ресурсам VPC.

Проверь это: Настройка лямбда-функции для доступа к ресурсам в Amazon VPC. В частности, вам нужно будет указать ему идентификатор VPC и список подсетей, в которых он должен выполняться.


Как поясняется в комментариях, на самом деле вы ищете ограничение доступа к вашему шлюзу API и разрешить доступ только из вашего VPC. Для этого создайте / обновите свой API Gateway. Группа безопасности чтобы разрешить доступ только из вашего диапазона адресов VPC (или из любого места, где вы хотите ограничить доступ).

Надеюсь, это поможет :)