什麼是 Amazon VPC Lattice? - Amazon VPC Lattice

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

什麼是 Amazon VPC Lattice?

Amazon VPC Lattice 是一項全受管應用程式聯網服務,可用來連線、保護和監控應用程式的 服務和資源。您可以將 VPC Lattice 與單一虛擬私有雲端 (VPC) 搭配使用,或從一或多個帳戶跨多個 VPCs 使用。

現代應用程式可以包含多個小型和模組化元件,通常稱為微服務,例如 HTTP API、資料庫等資源,以及由 DNS 和 IP 地址端點組成的自訂資源。雖然現代化具有優勢,但當您連接這些微服務和資源時,它也會帶來聯網複雜性和挑戰。例如,如果開發人員分散在不同團隊中,他們可能會在多個帳戶或 VPCs 之間建置和部署微服務和資源。

在 VPC Lattice 中,我們將微服務稱為服務,並僅代表資源做為資源組態。這些是您在 VPC Lattice 使用者指南中看到的術語。

關鍵元件

若要使用 Amazon VPC Lattice,您應該熟悉其關鍵元件。

服務

可獨立部署的軟體單位,可交付特定任務或函數。服務可以在 EC2 執行個體或 ECS/EKS/Fargate 容器上執行,也可以在 帳戶或虛擬私有雲端 (VPC) 中做為 Lambda 函數執行。VPC Lattice 服務具有下列元件:目標群組、接聽程式和規則。

具有接聽程式和兩個目標群組的服務。
目標群組

執行應用程式或服務的資源集合,也稱為目標。這些與 Elastic Load Balancing 提供的目標群組類似,但無法互換。支援的目標類型包括 EC2 執行個體、IP 地址、Lambda 函數、Application Load Balancer、Amazon ECS 任務和 Kubernetes Pod。

接聽程式

檢查連線請求,並將其路由至目標群組中目標的程序。您可以使用通訊協定和連接埠號碼來設定接聽程式。

規則

接聽程式的預設元件,可將請求轉送至 VPC Lattice 目標群組中的目標。每個規則由優先順序、一或多個動作及一或多個條件組成。規則決定接聽程式如何路由用戶端請求。

資源

資源是實體,例如 Amazon Relational Database Service (Amazon RDS) 資料庫、Amazon EC2 執行個體、應用程式端點、網域名稱目標或 IP 地址。您可以在 AWS Resource Access Manager () 中建立資源共用AWS RAM、建立資源閘道,以及定義資源組態,藉此在 VPC 中共用資源。

資源閘道

資源閘道是資源所在的 VPC 傳入點。

資源組態

資源組態是代表單一資源或一組資源的邏輯物件。資源可以是 IP 地址、網域名稱目標或 Amazon RDS 資料庫。

服務網路

服務和資源組態集合的邏輯界限。用戶端可以位於與服務網路相關聯的 VPC 中。與相同服務網路相關聯的用戶端和服務,如果獲得授權,則可以彼此通訊。

在下圖中,用戶端可以與兩個 服務通訊,因為 VPC 和服務與相同的服務網路相關聯。

具有伺服器和用戶端的服務網路。
服務目錄

您擁有或透過 與您的帳戶共用的所有 VPC Lattice 服務的中央登錄檔 AWS RAM。

驗證政策

精細的授權政策,可用於定義對 服務的存取。您可以將不同的身分驗證政策連接到個別 服務或 服務網路。例如,您可以建立在 EC2 執行個體的自動擴展群組上執行的付款服務,應如何與在其中執行的計費服務互動的政策 AWS Lambda。

資源組態不支援 Auth-policies。服務網路的身分驗證政策不適用於服務網路中的資源組態。

角色和責任

角色決定誰負責 Amazon VPC Lattice 內的資訊設定和流程。通常有兩個角色,即服務網路擁有者和服務擁有者,其責任可能會重疊。

服務網路擁有者 – 服務網路擁有者通常是組織中的網路管理員或雲端管理員。服務網路擁有者建立、共用和佈建服務網路。他們也會管理誰可以存取 VPC Lattice 內的服務網路或服務。服務網路擁有者可以為與服務網路相關聯的服務定義粗粒存取設定。這些控制項用於使用身分驗證和授權政策來管理用戶端和服務之間的通訊。如果服務網路擁有者的帳戶共用服務或資源組態,則服務網路擁有者也可以將服務或資源組態與單一或多個服務網路建立關聯。

服務網路擁有者的角色和責任

服務擁有者 – 服務擁有者通常是組織中的軟體開發人員。服務擁有者會在 VPC Lattice 中建立服務、定義路由規則,以及將服務與服務網路建立關聯。他們也可以定義精細的存取設定,這可以限制僅對已驗證和授權的服務和用戶端的存取。

服務擁有者的角色和責任

資源擁有者 – 資源擁有者通常是組織中的軟體開發人員,並擔任資料庫等資源的管理員。資源擁有者會建立資源的資源組態、定義資源組態的存取設定,以及將資源組態與服務網路建立關聯。

資源擁有者的角色和責任

功能

以下是 VPC Lattice 提供的核心功能。

服務探索

與服務網路相關聯的 VPCs 中的所有用戶端和服務,都可以與相同服務網路中的其他服務通訊。DNS 會透過 VPC Lattice 端點來引導client-to-serviceservice-to-service流量。當用戶端想要將請求傳送至服務時,會使用服務的 DNS 名稱。Route 53 Resolver 會將流量傳送至 VPC Lattice,然後識別目的地服務。

連線能力

在網路基礎設施中 AWS 建立Client-to-serviceclient-to-resource連線。當您將 VPC 與服務網路建立關聯時,如果 VPC 中的任何用戶端具有必要的存取權,則可以與服務網路中的服務和資源 (透過資源組態) 連線。

內部部署存取

您可以使用 VPC 端點 (由 提供支援 AWS PrivateLink) 從 VPC 啟用服務網路的連線。服務網路類型的 VPC 端點可讓您透過 Direct Connect 和 VPN 從內部部署網路存取服務網路中的服務和資源。周遊 VPC 對等互連或 AWS Transit Gateway 也可以透過 VPC 端點存取資源和服務的流量。

可觀測性

VPC Lattice 會針對周遊服務網路的每個請求和回應產生指標和日誌,以協助您監控和疑難排解應用程式。根據預設,指標會發佈至服務擁有者帳戶。服務擁有者和資源擁有者可以選擇開啟記錄,並接收其服務和資源的所有用戶端存取/請求的日誌。服務網路擁有者也可以在服務網路上開啟記錄功能,以記錄所有存取/請求來自連接到服務網路之 VPCs用戶端的服務和資源。

VPC Lattice 使用下列工具,協助您監控和故障診斷服務: Amazon CloudWatch 日誌群組、Firehose 交付串流和 Amazon S3 儲存貯體。

安全

VPC Lattice 提供架構,可用來在網路的多個層實作防禦策略。第一層是服務類型服務網路的服務、資源組態、VPC 關聯和 VPC 端點的組合。如果沒有 VPC 和服務關聯或 VPC 端點類型服務網路,用戶端無法存取 服務。同樣地,如果沒有 VPC 和資源組態以及服務關聯或 VPC 端點類型服務網路,用戶端就無法存取資源。

第二層可讓使用者將安全群組連接到 VPC 和服務網路之間的關聯。第三層和第四層是可在服務網路層級和服務層級個別套用的身分驗證政策。

存取 VPC Lattice

您可以使用下列任一界面來建立、存取和管理 VPC Lattice:

  • AWS Management Console – 提供 Web 界面,您可以用來存取 VPC Lattice。

  • AWS Command Line Interface (AWS CLI) – 為廣泛的 AWS 服務提供命令,包括 VPC Lattice。Windows、MacOS 和 Linux AWS CLI 支援 。如需 CLI 的詳細資訊,請參閱 AWS Command Line Interface。如需 APIs的詳細資訊,請參閱 Amazon VPC Lattice API 參考

  • Kubernetes 的 VPC Lattice 控制器 – 管理 Kubernetes 叢集的 VPC Lattice 資源。如需搭配 Kubernetes 使用 VPC Lattice 的詳細資訊,請參閱AWS 閘道 API 控制器使用者指南

  • AWS CloudFormation – 協助您建立和設定 AWS 資源的模型。如需詳細資訊,請參閱 Amazon VPC Lattice 資源類型參考

定價

使用 VPC Lattice 時,您需要支付佈建服務的時間、透過每個服務傳輸的資料量,以及請求數量的費用。身為資源擁有者,您需要為往返每個資源傳輸的資料付費。身為服務網路擁有者,您需要為與服務網路相關聯的資源組態支付每小時費用。身為與服務網路相關聯的 VPC 消費者,您需要為從 VPC 傳輸到服務網路中資源的資料付費。如需詳細資訊,請參閱 Amazon VPC Lattice 定價