Частный API-шлюз с Serverless Framework - PullRequest
1 голос
/ 02 октября 2019

У меня есть внутренняя сеть в AWS VPC (10.0.0.0/16), и я хочу создать AWS API Gateway в этой частной сети, поэтому нет общедоступных имен хостов / ips.

Вот что я попробовал

service: apollo-lambda1
provider:
  name: aws
  runtime: nodejs8.10
  role: arn:aws:iam::xxx:role/admin-api-lambda-role
  region: ap-southeast-1
  private: true
  vpc:
    securityGroupIds:
      - sg-xxxxx
    subnetIds:
      - subnet-xxx

sg-xxxxx - это группа безопасности, которая разрешает только ips с 10.0.0.0/16. Это не помогает.

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

resourcePolicy:
    - Effect: Allow
      Principal: "*"
      Action: execute-api:Invoke
      Resource:
        - execute-api:/*/*/*
      Condition:
        IpAddress:
          aws:SourceIp:
            - "10.0.0.0/16"

UPD: попробовал эту комбинацию, не получилось. Теперь имя DNS не может быть разрешено

endpointType: PRIVATE
  resourcePolicy:
    - Effect: Allow
      Principal: '*'
      Action: execute-api:Invoke
      Resource:
        - execute-api:/*/*/*
      Condition:
        IpAddress:
          aws:SourceIp:
            - some ip here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...