當你在開發一個 Lambda function,它要在 VPC 裡面呼叫 AWS 服務,
然後你發現……怎麼不會通?問題到底出在哪?
這時用 Reachability Analyzer 先做第1階段的測試:網路到底有沒有通吧
Lambda 一旦放到 VPC 裏面,就無法存取 internet 了。
而大部份 AWS 服務的 endpoint 都是在 internet 上,可以透過 NAT Gateway 讓 Lambda 能對外連線;
或者用 VPC Endpoint (Interface) 讓 Lambda 能存取指定 AWS 服務。
不過在開發階段,每次更新 VPC 中的 Lambda 都要等非常久,
尤其在測試 Lambda 是否能正確透過 VPC endpoint 連上 AWS service 的時候,
因為 VPC 相關的設定有非常多要調整,這樣來回測試就要花非常多的時間。
不過可以用 Reachability Analyzer 直接測試 Lambda 到 VPC Endpoint 的網路是不是通的:
先到 EC2 console 的 Network Interfaces,看看 Lambda 用的 ENI 是哪幾張
再到 VPC console 的 Reachability Analyzer 點「Create and analyze path」,
並且輸入下列資訊
接著送出之後,等一陣子他跑完之後 refresh 一次網頁,就會出現整個 flow