EKS Public/Private Endpoint
比較 EKS API endpoint 在 public、public+private、private 三種設定下的存取路徑,並說明同時開啟兩者的原因。
現在的 EKS 同時開啟 public 及 private endpoint
| incluster request | kubectl request | |
|---|---|---|
| only public | 不走 vpc,走 AWS 內網 | 可以從 Internet 存取 |
| public + private | 走 VPC (private endpoint) | 可以從 Internet 存取 |
| only private | 走 VPC (private endpoint) | 只能從 VPC 內連線 |

不單只使用 private endpoint 的原因
- AWS 每半年會更新一次 EKS(包含 control plane/RBAC/IAM … etc.):如果只開 private endpoint,之後要處理升級或除錯時,都必須先想辦法進到 VPC 裡操作,徒增麻煩。兩個 endpoint 都開,可以避免這種阻塞情況。
- 可以降低跳到 VPC 裡面時的 attacking surface:有些人會覺得「乾脆只開 private,比較安全」。但實際上這代表你需要準備 bastion host 或 VPN 來進入 VPC,等於多暴露一個進入點。如果兩個都開,日常操作直接走 public endpoint,就不需要額外維護這些「跳板」,反而能少掉潛在風險。
- 跳到 VPC 裡面的機制要額外維運:維護一套「進 VPC」的機制(例如 VPN、Direct Connect、堡壘機)並不是零成本:你要配置、監控、更新,還要處理人員存取權限。對團隊來說,這些工作量不小。兩個 endpoint 同時開啟,可以大幅減少這方面的維運負擔。