本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
什麼是 Amazon VPC Lattice?
Amazon VPC Lattice 是一項全受管應用程式聯網服務,可用來連接、保護和監控應用程式的 服務和資源。您可以將 VPC Lattice 與單一虛擬私有雲端 (VPC) 搭配使用,或從VPCs一或多個帳戶跨多個帳戶使用。
現代應用程式可以包含多個小型和模組化服務,通常稱為微型服務、資料庫等資源,以及由 DNS 和 IP 地址端點組成的自訂資源。雖然現代化具有優勢,但當您連接這些微服務和資源時,它也會帶來聯網複雜性和挑戰。例如,如果開發人員分散到不同的團隊,他們可能會建置和部署微型服務和資源到多個帳戶或 VPCs。
在 VPC Lattice 中,我們稱微服務為服務,僅代表資源為資源組態。這些是您在 VPC Lattice 使用者指南中看到的術語。
關鍵元件
若要使用 Amazon VPC Lattice,您應該熟悉其關鍵元件。
- 資源組態
-
資源組態是代表單一資源或一組資源的邏輯物件。資源可以是 IP 地址、網域名稱目標或 Amazon RDS 資料庫。
- 資源閘道
-
資源閘道是傳入VPC資源所在的 的點。
- 服務
-
可獨立部署的軟體單位,可提供特定任務或函數。服務可以在 帳戶或虛擬私有雲端 () 內的EC2執行個體或ECS/EKS/Fargate容器上執行,也可以做為 Lambda 函數執行VPC。VPC Lattice 服務具有下列元件:目標群組、接聽程式和規則。
- 目標群組
-
執行應用程式或服務的資源集合,也稱為目標。這些與 Elastic Load Balancing 提供的目標群組類似,但無法互換。支援的目標類型包括EC2執行個體、IP 地址、Lambda 函數、Application Load Balancer、Amazon ECS任務和 Kubernetes Pod。
- 接聽程式
-
檢查連線請求並將其路由至目標群組中目標的程序。您可以使用通訊協定和連接埠號碼來設定接聽程式。
- 規則
-
接聽程式的預設元件,可將請求轉送至 VPC Lattice 目標群組中的目標。每個規則由優先順序、一或多個動作及一或多個條件組成。規則決定接聽程式如何路由用戶端請求。
- 服務網路
-
服務和資源組態集合的邏輯界限。用戶端可以位於與服務網路VPC相關聯的 中。與相同服務網路相關聯的用戶端和服務,如果獲得授權,則可以彼此通訊。
在下圖中,用戶端可以與兩個 服務通訊,因為 VPC和服務與相同的服務網路相關聯。
- 服務目錄
-
您擁有或透過 AWS Resource Access Manager () 與帳戶共用的所有 VPC Lattice 服務的中央登錄檔AWS RAM。
- 驗證政策
-
精細的授權政策,可用於定義對 服務的存取。您可以將個別的身分驗證政策連接到個別服務或服務網路。例如,您可以建立政策,說明在執行個體自動擴展群組上執行的付款服務EC2,應如何與在其中執行的帳單服務互動 AWS Lambda。
資源組態不支援 Auth-policies。服務網路的身分驗證政策不適用於服務網路中的資源組態。
角色和責任
角色決定誰負責 Amazon VPC Lattice 內的資訊設定和流程。通常有兩個角色:服務網路擁有者和服務擁有者,其責任可能會重疊。
服務網路擁有者 – 服務網路擁有者通常是組織中的網路管理員或雲端管理員。服務網路擁有者建立、共用和佈建服務網路。他們也會管理誰可以存取 VPC Lattice 內的服務網路或服務。服務網路擁有者可以為與服務網路相關聯的服務定義粗粒存取設定。這些控制項用於使用身分驗證和授權政策來管理用戶端和服務之間的通訊。如果服務網路擁有者的帳戶共用服務或資源組態,則服務網路擁有者也可以將服務或資源組態與單一或多個服務網路建立關聯。
服務擁有者 – 服務擁有者通常是組織中的軟體開發人員。服務擁有者會在 VPC Lattice 內建立服務、定義路由規則,以及將服務與服務網路建立關聯。他們也可以定義精細的存取設定,這可以限制僅對已驗證和授權的服務和用戶端的存取。
資源擁有者 – 資源擁有者通常是組織中的軟體開發人員,並擔任資料庫等資源的管理員。資源擁有者會建立資源的資源組態、定義資源組態的存取設定,以及將資源組態與服務網路建立關聯。
功能
以下是 VPC Lattice 提供的核心功能。
- 服務探索
-
與服務網路VPCs相關聯的所有用戶端和服務,都可以與相同服務網路內的其他服務通訊。 會透過 VPC Lattice 端點DNS指示 client-to-service 和 service-to-service 流量。當用戶端想要將請求傳送至服務時,會使用服務DNS的名稱。Route 53 Resolver 會將流量傳送至 VPC Lattice,然後識別目的地服務。
- 連線能力
-
Client-to-service 和 client-to-resource 連線是在網路基礎設施內 AWS 建立。當您將 VPC與服務網路建立關聯時,如果 中的任何用戶端具有必要的存取權,VPC則可以與服務網路中的 服務和資源 (透過資源組態) 連線。
- 內部部署存取
-
您可以使用VPC端點 (由 提供支援 AWS PrivateLink) 從 啟用服務網路VPC的連線。服務網路類型的VPC端點可讓您透過 Direct Connect 和 從內部部署網路存取服務網路中的服務和資源VPN。流經VPC對等或 AWS Transit Gateway 的流量也可以透過VPC端點存取資源和服務。
- 可觀測性
-
VPC Lattice 會針對周遊服務網路的每個請求和回應產生指標和日誌,以協助您監控應用程式並進行故障診斷。根據預設,指標會發佈至服務擁有者帳戶。服務擁有者和資源擁有者可以選擇開啟記錄,並從VPCs連線至服務網路的用戶端接收所有用戶端access/requests to their services and resources. Service network owners can also turn on logging on the service network, to log all access/requests至服務和資源的日誌。
VPC Lattice 使用以下工具,協助您監控和故障診斷服務: Amazon CloudWatch 日誌群組、Firehose 交付串流和 Amazon S3 儲存貯體。
- 安全
-
VPC Lattice 提供架構,可讓您在網路的多個層實作防禦策略。第一層是服務類型服務網路的服務、資源組態、VPC關聯和VPC端點的組合。如果沒有 VPC和 服務關聯或 類型的VPC端點服務網路,用戶端無法存取 服務。同樣地,如果沒有 VPC和 資源組態,以及服務關聯或 類型服務網路的VPC端點,用戶端就無法存取資源。
第二層可讓使用者將安全群組連接到 VPC和服務網路之間的關聯。第三層和第四層是可在服務網路層級和服務層級個別套用的身分驗證政策。
存取 VPC Lattice
您可以使用下列任何界面來建立、存取和管理 VPC Lattice:
-
AWS Management Console – 提供可用來存取 VPC Lattice 的 Web 界面。
-
AWS Command Line Interface (AWS CLI) – 為廣泛的 AWS 服務提供命令,包括 VPC Lattice。Windows、MacOS 和 Linux AWS CLI 支援 。如需 CLI 的詳細資訊,請參閱 AWS Command Line Interface
。如需 的詳細資訊APIs,請參閱 Amazon VPC Lattice API參考。 -
VPC Kubernetes 的 Lattice 控制器 – 管理 Kubernetes 叢集的 VPC Lattice 資源。如需搭配 Kubernetes 使用 VPC Lattice 的詳細資訊,請參閱AWS 閘道API控制器使用者指南
。 -
AWS CloudFormation – 協助您建立和設定 AWS 資源的模型。如需詳細資訊,請參閱 Amazon VPC Lattice 資源類型參考。
定價
使用 VPC Lattice 時,您需要支付佈建服務的時間、透過每個服務傳輸的資料量,以及請求數量的費用。作為資源擁有者,您需要為進出每個資源傳輸的資料付費。身為服務網路擁有者,您需要為與服務網路相關聯的資源組態支付每小時費用。身為與服務網路VPC相關聯的消費者,您需要為從 傳輸到服務網路中資源的資料付費VPC。作為與服務網路VPC相關聯的消費者,您需要為傳輸到服務網路中資源的資料付費。如需詳細資訊,請參閱 Amazon VPC Lattice 定價