Amazon-Web-Services
從 AWS 中託管的域訪問私有 API
我正在嘗試通過 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 地址範圍(或您希望限制訪問的任何位置)進行訪問。
希望有幫助:)