EKS Public/Private Endpoint

比較 EKS API endpoint 在 public、public+private、private 三種設定下的存取路徑,並說明同時開啟兩者的原因。

發佈 ~1 分鐘 #EKS

現在的 EKS 同時開啟 public 及 private endpoint

incluster requestkubectl request
only public不走 vpc,走 AWS 內網可以從 Internet 存取
public + private走 VPC (private endpoint)可以從 Internet 存取
only private走 VPC (private endpoint)只能從 VPC 內連線

Reference:

不單只使用 private endpoint 的原因

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