

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

# 什麼是 Amazon VPC Lattice？
<a name="what-is-vpc-lattice"></a>

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

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

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

**Topics**
+ [關鍵元件](#vpc-service-network-components-overview)
+ [角色和責任](#roles-and-responsibilities)
+ [功能](#vpc-service-network-features)
+ [存取 VPC Lattice](#accessing)
+ [VPC Lattice 服務端點](#service-endpoints)
+ [定價](#pricing)

## 關鍵元件
<a name="vpc-service-network-components-overview"></a>

若要使用 Amazon VPC Lattice，您應該熟悉其主要元件。

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

![\[具有接聽程式和兩個目標群組的服務。\]](http://docs.aws.amazon.com/zh_tw/vpc-lattice/latest/ug/images/service.png)
  
目標群組  
執行應用程式或服務的資源集合，也稱為目標。這些類似於 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 和服務與相同的服務網路相關聯。  

![\[具有伺服器和用戶端的服務網路。\]](http://docs.aws.amazon.com/zh_tw/vpc-lattice/latest/ug/images/service-network.png)


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

**驗證政策**  
可用來定義 服務存取權的精細授權政策。您可以將個別的身分驗證政策連接至個別 服務或 服務網路。例如，您可以建立政策，說明在 EC2 執行個體的自動擴展群組上執行的付款服務，應如何與在其中執行的帳單服務互動 AWS Lambda。  
資源組態不支援 Auth-policies。服務網路的身分驗證政策不適用於服務網路中的資源組態。

## 角色和責任
<a name="roles-and-responsibilities"></a>

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

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

![\[服務網路擁有者的角色和責任\]](http://docs.aws.amazon.com/zh_tw/vpc-lattice/latest/ug/images/service-network-owner.png)


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

![\[服務擁有者的角色和責任\]](http://docs.aws.amazon.com/zh_tw/vpc-lattice/latest/ug/images/service-owner.png)


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

![\[資源擁有者的角色和責任\]](http://docs.aws.amazon.com/zh_tw/vpc-lattice/latest/ug/images/resource-owner.png)


## 功能
<a name="vpc-service-network-features"></a>

以下是 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 Lattice 支援重疊 CIDR 技術。

**內部部署存取**  
您可以使用 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 支援路由流量的可用區域 (AZ) 親和性。當用戶端將請求傳送至 VPC Lattice 時，VPC Lattice 會使用與用戶端相同 AZ 的服務或資源 IP 地址來回應。如果該 AZ 無法使用，VPC Lattice 會以來自其他 AZs IP 地址回應。從 VPC Lattice 到目標，路由到目標，可能分散到 AZs。此外，VPC Lattice 中沒有跨可用區域資料傳輸費用。

## 存取 VPC Lattice
<a name="accessing"></a>

您可以使用下列任一界面來建立、存取和管理 VPC Lattice：
+ **AWS 管理主控台** – 提供可用來存取 VPC Lattice 的 Web 界面。
+ **AWS Command Line Interface (AWS CLI)** – 為廣泛的 AWS 服務提供命令，包括 VPC Lattice。Windows、MacOS 和 Linux AWS CLI 支援 。如需 CLI 的詳細資訊，請參閱 [AWS Command Line Interface](https://aws.amazon.com/cli/)。如需 APIs的詳細資訊，請參閱 [Amazon VPC Lattice API 參考](https://docs.aws.amazon.com//vpc-lattice/latest/APIReference/)。
+ **Kubernetes 專用 VPC Lattice 控制器** – 管理 Kubernetes 叢集的 VPC Lattice 資源。如需搭配 Kubernetes 使用 VPC Lattice 的詳細資訊，請參閱[AWS 閘道 API 控制器使用者指南](https://www.gateway-api-controller.eks.aws.dev/)。
+ **CloudFormation** – 協助您建立和設定 AWS 資源的模型。如需詳細資訊，請參閱 [Amazon VPC Lattice 資源類型參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_VpcLattice.html)。

## VPC Lattice 服務端點
<a name="service-endpoints"></a>

端點是做為 AWS Web 服務進入點的 URL。VPC Lattice 支援下列端點類型：
+ [IPv4 端點](#service-endpoints-ipv4)
+ [雙堆疊端點](#service-endpoints-ipv6) (同時支援 IPv4 和 IPv6)

當您提出請求時，您可以指定要使用的端點。如果您沒有指定端點，則預設使用 IPv4 端點。若要使用不同的端點類型，您必須在請求中將其指定。如需如何執行此作業的範例，請參閱 [指定端點](#service-endpoints-specify-endpoints)。如需可用端點的資料表，請參閱 [Amazon VPC Lattice 端點](https://docs.aws.amazon.com/general/latest/gr/vpc-lattice-service.html)。

### IPv4 端點
<a name="service-endpoints-ipv4"></a>

 IPv4 端點僅支援 IPv4 流量。IPv4 端點適用於所有區域。

 如果您指定一般端點、`vpc-lattice.amazonaws.com`，我們會使用 `us-east-1` 的端點。若要使用不同的區域，請指定其相關聯的端點。例如，如果您指定 `vpc-lattice.us-east-2.amazonaws.com` 做為端點，我們會將您的請求導向 `us-east-2` 端點。

IPv4 端點名稱使用以下命名慣例：
+ `vpc-lattice.region.amazonaws.com`

例如，`eu-west-1` 區域的 IPv4 端點名稱是 `vpc-lattice.eu-west-1.amazonaws.com`。

### 雙堆疊 (IPv4 和 IPv6) 端點
<a name="service-endpoints-ipv6"></a>

雙堆疊端點同時支援 IPv4 和 IPv6 流量。雙堆疊端點適用於所有區域。當您請求雙堆疊端點時，端點 URL 會解析為 IPv6 或 IPv4 位址，這點取決於您的網路和用戶端使用的通訊協定。

雙堆疊端點名稱使用以下命名慣例：
+ `vpc-lattice.region.api.aws`

例如，`eu-west-1` 區域的雙堆疊端點名稱是 `vpc-lattice.eu-west-1.api.aws`。

### 指定端點
<a name="service-endpoints-specify-endpoints"></a>

下列範例示範如何使用適用於 的 AWS CLI 指定 `us-east-2`區域的端點`vpc-lattice`。
+ **IPv4**

  ```
  aws vpc-lattice get-service --service-identifier svc-0285b53b2eEXAMPLE --region us-east-2 --endpoint-url https://vpc-lattice.us-east-2.amazonaws.com
  ```
+ **雙堆疊**

  ```
  aws vpc-lattice get-service --service-identifier svc-0285b53b2eEXAMPLE --region us-east-2 --endpoint-url https://vpc-lattice.us-east-2.api.aws
  ```

## 定價
<a name="pricing"></a>

使用 VPC Lattice，您需要為佈建服務的時間、透過每個服務傳輸的資料量，以及請求數量付費。身為資源擁有者，您需要為往返每個資源的資料付費。身為服務網路擁有者，您需要為與服務網路相關聯的資源組態按小時付費。身為與服務網路建立關聯之 VPC 的消費者，您需要為從 VPC 傳入和傳出服務網路中資源的資料付費。如需詳細資訊，請參閱 [Amazon VPC Lattice 定價](https://aws.amazon.com/vpc/lattice/pricing/)。