一千萬個為什麽

搜索

我如何在自己的VPC中啟動Lambda?



Lambda中的VPC配置選項告訴:

所有AWS Lambda函數都在默認系統管理的內部安全運行   VPC。但是,您可以選擇配置Lambda以訪問資源,   如您的自定義VPC中的數據庫。

那麽,我不能在自己的VPC中啟動Lambda功能嗎?

轉載註明原文: 我如何在自己的VPC中啟動Lambda?

一共有 2 個回答:

用於創建功能的API包含一個選擇使用哪個VPC來運行該功能的部分。

source: https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html#SSS-CreateFunction-request-VpcConfig

它不一定是默認的VPC,它可以是任何VPC。

考慮到“VPC內部的EC2服務器”僅意味著它是某個虛擬機,它的網卡已連接到您在AWS賬戶(VPC)中控制的網絡。

使用Lambda,您可以選擇在將此NIC連接到受控的VPC的實例上運行功能,或者您可以放棄此控制並讓Lambdas運行在任何時候都可以運行的位置(默認系統管理),並且不關心關於它。

我也要求AWS支持人員尋求幫助,因為Lambda的安全性對我們至關重要[HIPAA合規性]。

這是他們的回應:

Lambda有兩個選項,你可以讓你的lambda函數沒有   VPC,或者您可以將您的lambda函數放置在VPC中。如果你想   把你的lambda函數放在VPC中,那麽最重要的是   要註意的是,lambda函數必須放置在私有子網中。如果你   想要從Lambda訪問互聯網資源或創建任何AWS SDK API   電話,那麽你需要有你需要的互聯網接入   有一個NAT網關或NAT實例設置為VPC,你的   lambda函數駐留並將私有子網點指向NAT   網關。當lambda函數被放置在公共子網內(使用   IGW路線),那麽lambda函數將不起作用。

所以,lambda函數可以放入VPC的私有子網中,但不能放在公共子網中。為了能夠創建實例並將其添加到它們中,從該Lambda中,將私有子網添加到公有子網的安全組[或者另一種黑客方式,就是將VPC的IP範圍添加到安全組]。