У меня есть внутренняя сеть в 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