Amazon-Web-Services

從 AWS 中託管的域訪問私有 API

  • April 2, 2019

我正在嘗試通過 API 網關進行私有 AWS lambda 呼叫,但在網際網路上找不到正確的答案,可能是因為我是 AWS 網站管理的初學者。

我找到的最接近的來源是這個亞馬遜文件: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 上。

任何指導將不勝感激!

如果我理解您的問題,您想從 Lambda 呼叫您的 VPC 中的私有 API 網關,對嗎?

為此,您需要在 VPC 中執行 lambda,否則它將無法訪問私有 VPC 資源。

查看此內容:配置 Lambda 函式以訪問 Amazon VPC 中的資源。最值得注意的是,您必須為其提供 VPC ID 和應執行的子網列表。


正如評論中所闡明的那樣,您實際上正在尋找的是限制對您的 API 網關的訪問,並且只允許從您的 VPC 進行訪問。為此,請創建/更新您的 API Gateway安全組,以僅允許從您的 VPC 地址範圍(或您希望限制訪問的任何位置)進行訪問。

希望有幫助:)

引用自:https://serverfault.com/questions/961026