AWS 的 VPC 真的是個讓人又愛又恨的服務,一方面因為非常高的自訂性,可以做許多深入的調整,但同時也容易因為一個小小的設定錯誤,導致連線大亂。再搭配上各式各樣的安全機制,如:Network ACL, Firewall, Security group, etc.,常常設定好之後,連線就是不通,但死活找不到原因。
AWS 在 2020 年推出了 Reachability analyzer 正好就能大幅度的降低這類型除錯任務的難度,截至目前共支援 9 種來源模擬跟 10 種目的地模擬,同時也可以在有設定 AWS Organization 的情況下跨帳號追蹤。
正好同事最近遇到了 VPN 設定完畢後卻無法連線到 instance 的問題,今天就來一起試試看這個功能
請注意,這不是免費服務,每次分析路徑都會收取 0.1 美金
目錄:
進入方法
幾個小技巧
進入方法
登入 AWS console 後,直接輸入 Reachability analyzer 就可以找到

點擊右上角就可以新增一個分析

如果分析後發現路徑可以連通,除了能看到 Reachable 的指示外,也能點開 Path details 看到一路上會經過的各種服務

如果無法連通,也能知道原因,以及封包是在哪個關卡過不了。以這張圖為例,就可以知道外面的網路無法連到這張網卡的原因是 ENI 網卡沒有 public IP 且 security group 內沒有允許該連線


幾個小技巧
- 從網際網路連入的連線,source 可以設定成 Internet gateway,source address 也可以指定要模擬連入的 IP
- 從 VPN 進來的連線可以選擇 VPN Gateway
- 從 elastic load balancer 進來的可以先到 Network Interfaces 查到 ELB 所屬的網卡,將該網卡設定為 source,instance 設定為 destination
