[AWS Joe是要對決 1] | VPC Endpoints Interface 和 Gateway 比較

Joe Huang
6 min readMar 7, 2023

--

VPC Endpoint Showdown: Gateway vs Interface — Which One Wins the Networking Battle?

▌1. 什麼是VPC Endpoint

預設情況下使用AWS 資源時,AWS Endpoint 皆為public[圖1],因為AWS 需要讓大家透過Internet連入。但即然都是在雲內的架構,如何讓雲內架構元件溝通時,皆走內部連線?這就是VPC Endpoint的由來,解決彼此AWS內部溝通時確保不出Internet[圖2]。

因為在 AWS 中使用 VPC Endpoint 可以幫助更安全、更有效地連接 AWS 服務,而無需通過 Internet Gateway 或 NAT Gateway。VPC Endpoint 包括 VPC Gateway Endpoint 和 VPC Interface Endpoint 兩種,本文將會探討如何選擇適合應用場景和需求的 VPC Endpoint。

[圖1] The behavior of EC2 instance accessing DynamoDB, the traffic must go through Internet Gateway
[圖2] After adding the VPC Endpoint for DynamoDB to our VPC our infrastructure looks like this.

VPC Endpoint 分為二種類別

  • 1) VPC Gateway Endpoint 是一種通過使用路由表規則從 VPC 內的子網路訪問 AWS 公有服務的方法。使用 VPC Gateway Endpoint,可以直接從 VPC 內的子網路訪問 AWS 公有服務,而無需通過 Internet Gateway、NAT Gateway 或 VPN 连接。VPC Gateway Endpoint 相對於 VPC Interface Endpoint,較便宜,但在相容性和速度方面較差。
  • 2) VPC Interface Endpoint 提供了更高的相容性和更快的速度。VPC Interface Endpoint 可用於幾乎所有 AWS 服務,因為它們運行在 VPC 內,而不是公有網絡上。使用 VPC Interface Endpoint,可以通過與目標服務的網路接口(ENI)連接到 AWS 公有服務,而無需經過 Internet Gateway、NAT Gateway 或 VPN 连接。VPC Interface Endpoint 相對於 VPC Gateway Endpoint,成本較高,但在相容性和速度方面較好。
  • 根據應用場景和需求,選擇適合的 VPC Endpoint 是非常重要的,所以在選擇上就會有很多情境當作是參考依據,本文協助整理表格供大家進行比較

▌2. 表格與細項說明

  • 應用面
    考慮應用需求。如果你需要連接的 AWS 服務只有一個或幾個,則使用 VPC Gateway Endpoint 可能是更好的選擇。因為 VPC Gateway Endpoint 只支援特定服務,如 Amazon S3 和 DynamoDB 等,但這些服務通常在大多數 AWS 用戶中是最常用的服務之一。相反,如果你需要連接的 AWS 服務比較多或者是非特定服務,則使用 VPC Interface Endpoint 是更好的選擇。
  • 成本面
    考慮成本。VPC Gateway Endpoint 比 VPC Interface Endpoint 更便宜,但在相容性和速度方面較差。相反,VPC Interface Endpoint 提供更高的相容性和速度,但成本較高。因此,在選擇 VPC Endpoint 時,你需要權衡成本和性能。
  • 相容性
    還需要考慮相容度。VPC Gateway Endpoint 只支援特定的 AWS 服務,而且相容性較差。如果你需要連接的 AWS 服務非常有限,且能夠使用 VPC Gateway Endpoint,則使用 VPC Gateway Endpoint 是更好的選擇。相反,如果你需要連接的 AWS 服務非常廣泛,則使用 VPC Interface Endpoint 是更好的選擇,因為它能夠支援幾乎所有的 AWS 服務。
  • 速度
    另一個重要的因素是速度。VPC Interface Endpoint 比 VPC Gateway Endpoint 更快,因為它們是通過 ENI 連接到 AWS 服務的。而 VPC Gateway Endpoint 是通過路由表連接到 AWS 服務的,速度比較慢。如果應用需要快速的連接速度,那麼使用 VPC Interface Endpoint 是更好的選擇。
  • 安全性
    當然安全性也是一個重要的考慮因素。VPC Interface Endpoint 提供比 VPC Gateway Endpoint 更好的安全性,因為它們是通過私有網路連接到 AWS 服務的。此外,VPC Interface Endpoint 還支援 VPC 網路流量加密,因此可以提供更高的安全性。但是,VPC Gateway Endpoint 並不支援 VPC 網路流量加密,因此較不安全。
  • 限制於指定的服務
    不同於firewall與HTTPs,另一種安全考量為較封閉進而提升安全,是指VPC Gateway Endpoint僅支援特定的AWS服務,而不是所有AWS服務。在VPC Gateway Endpoint中,可以將端點與一個或多個特定的AWS服務關聯起來。只有使用與端點關聯的特定服務時,才會使用該端點,因此,它有助於提高安全性和節省帶寬和資源。
  • e.g., 如果你在VPC內部使用Amazon S3存儲桶,你可以使用VPC Gateway Endpoint,以便VPC中的實例可以直接訪問Amazon S3而不需要通過Internet Gateway,如此可以有更好地控制安全性,同時減少了使用Amazon S3時需要通過Internet Gateway的流量。

▌3. 總結

文中我們探討了如何選擇適合你應用場景和需求的 VPC Endpoint。我們首先討論了應用需求、成本、相容度、速度和安全性等因素。然後,我們提供了一個總結表格,幫助你比較 VPC Gateway Endpoint 和 VPC Interface Endpoint。

最後,我們還提到了 VPC Endpoint 的設置和配置,確保 VPC Endpoint 設置正確。總體而言,選擇適合你應用場景和需求的 VPC Endpoint 是非常重要的。通過比較 VPC Gateway Endpoint 和 VPC Interface Endpoint,你可以選擇最適合 VPC Endpoint,以提高應用效率和安全性。

Reference

--

--

Joe Huang

雲端架構師,年輕的軀殼裝著老靈魂,喜歡配著音樂閱讀,生活不能沒有思考和遊蕩