簡體   English   中英

在同一 vpc 中從 aws lambda 調用 aws lambda

[英]Invoke aws lambda from aws lambda in same vpc

我的前提是我不是系統主義者,也不是網絡工程師。 我正在嘗試從同一個 vpc 中的另一個 lambda 函數調用一個 lambda 函數。 我的網絡配置是:

  • 1 人次
  • 1 個公有子網和 1 個私有子網
  • 2個路由表
  • 1個互聯網網關
  • 1個安全組

我的拉姆達:

  • 連接到兩個子網和 sec 組;
  • 連接到數據庫並檢索數據;
  • 調用 lambda 函數發送推送通知。

但是當第一個嘗試調用第二個 aws 時會返回超時異常。 我的想法是第一個“看不到”第​​二個。

我該如何解決問題?

謝謝

這實際上是因為第一個 Lambda(配置為使用 VPC)沒有出站互聯網連接。

確保您有一個NAT 網關或一個NAT 實例附加到關聯子網的路由表。

如果您的函數需要訪問 Internet,請使用網絡地址轉換 (NAT)。 將函數連接到公共子網不會為其提供 Internet 訪問權限或公共 IP 地址。

您需要刪除公有子網的連接,因為無法為 Lambda 分配公有 IP,因此它無法使用 Internet 網關。

如果第一個 Lambda 函數是異步調用的,它可以指定一個Destination,用於在執行完成時發送事件。

目標可以是另一個 AWS Lambda 函數 此調用由 AWS 服務觸發,不需要從第一個 Lambda 函數訪問 Internet(因此比使用 NAT 網關便宜)。

請參閱: 為異步調用配置目標

(我自己沒有嘗試過,但它應該可以工作!)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM