2016-06-13 32 views
7

我很想在每次提出請求時都獲得一個新的公有IP。是否有可能有意識地觸發我的容器被回收,否則會導致我的IP被重新配置?我可以在每個請求上更改我的AWS Lambda的公共IP嗎?

+0

我不認爲這是可能的..因爲他們用完IPv4地址。你可以問這是可能的支持。我唯一知道的是,您必須重新啓動服務器才能獲得新的IP – Jer

+0

AWS Lambda首先是否具有公共IP? – Leon

回答

10

默認情況下,根據您的配置,從VPC中的一個或多個子網內的專用IP調用Lambda函數。它沒有配置公共IP#;他們被分配私人IP。

如果要求將Lambda功能指定爲公共IP號碼,則需要configure a NAT Gateway or NAT instance來提供互聯網訪問權限,因此需要公共IP。 Lambda流量將被歸因於NAT網關/實例的公共IP地址。

一個彈性IP地址分配給定的NAT Gateway但它不能被重新分配 - 它是靜態的。所以NAT網關不適合你的用途。您需要使用NAT instance。然後,Lambda函數需要在每個請求結束時終止/啓動NAT實例。這將導致EC2爲您的NAT實例分配一個新的公共IP - 假設它啓動的子網配置爲在啓動時自動分配IP#。

鑑於此,您將不得不在每次請求後重新啓動NAT實例,以便爲其分配新的IP#。 此過程將允許每次將請求歸入新的公有IP#。

請注意,在NAT實例啓動/終止階段,您的Lambda函數將無法訪問互聯網。您可以考慮使用簡單隊列服務排隊Lambda函數以防止爭用到NAT實例。

擴展也將成爲一個問題,因爲這些功能都需要NAT實例可用於每個調用。如果正常運行時間和可用性值得關注,請在NAT服務級別執行would need to implement a HA solution

相關問題