

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

# AWS PrivateLink 概念
<a name="concepts"></a>

您可以使用 Amazon VPC 來定義虛擬私有雲端 (VPC)，這是一個邏輯上隔離的虛擬網路。您可以允許 VPC 中的用戶端連線到該 VPC 外部的目的地。例如，將網際網路閘道新增至 VPC 以允許存取網際網路，或新增 VPN 連線以允許存取您的內部部署網路。或者，使用 AWS PrivateLink 允許 VPC 中的用戶端使用私有 IP 地址連接到其他 VPCs 中的服務和資源，就像這些服務和資源直接託管在您的 VPC 中一樣。

以下是開始使用 AWS PrivateLink時需要了解的重要概念。

**Topics**
+ [架構圖](#architecture-diagram)
+ [供應商](#concepts-service-providers)
+ [服務或資源取用者](#concepts-service-consumers)
+ [AWS PrivateLink 連線](#privatelink-connections)
+ [私有託管區域](#concepts-private-hosted-zones)

## 架構圖
<a name="architecture-diagram"></a>

下圖提供如何 AWS PrivateLink 運作的高階概觀。消費者會建立 VPC 端點，以連線至供應商託管的端點服務和資源。

![服務消費者會建立 VPC 端點，以連線至供應商託管的端點服務和資源。](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/privatelink-concepts.png)


## 供應商
<a name="concepts-service-providers"></a>

了解與供應商相關的概念。

### 服務供應商
<a name="concepts-service-provider"></a>

服務所有者是*服務提供者*。服務提供者包括 AWS、 AWS 合作夥伴和其他 AWS 帳戶。服務提供者可以使用 AWS 資源託管其服務，例如 EC2 執行個體，或使用內部部署伺服器。

### 資源提供者
<a name="concepts-resource-provider"></a>

資源的擁有者，例如資料庫或 Amazon EC2 執行個體，是資源提供者。資源提供者包括 AWS 服務、 AWS 合作夥伴和其他 AWS 帳戶。資源提供者可以在 VPCs或內部部署中託管其資源。

**Topics**
+ [服務供應商](#concepts-service-provider)
+ [資源提供者](#concepts-resource-provider)
+ [端點服務](#concepts-endpoint-services)
+ [服務名稱](#concepts-service-names)
+ [服務狀態](#concepts-service-states)
+ [資源組態](#concepts-resource-configuration)
+ [資源閘道](#concepts-resource-gateway)

### 端點服務
<a name="concepts-endpoint-services"></a>

服務提供者建立*端點服務*，使其服務在區域中可用。建立端點服務時，服務提供者必須指定負載平衡器。負載平衡器會收到來自服務消費者的請求，並將它們傳送至您的服務。

根據預設，服務消費者無法使用您的端點服務。您必須新增允許特定 AWS 主體連線到端點服務的許可。

### 服務名稱
<a name="concepts-service-names"></a>

每個端點服務均由服務名稱識別。服務消費者在建立 VPC 端點時必須指定服務名稱。服務消費者可以查詢服務名稱 AWS 服務。服務提供者必須向服務消費者分享其服務名稱資訊。

### 服務狀態
<a name="concepts-service-states"></a>

以下是端點服務的可能狀態：
+ 待定 - 正在建立端點服務。
+ 可用 - 端點服務可用。
+ 失敗 - 無法建立端點服務。
+ 刪除 - 服務提供者已刪除端點服務，且正在刪除。
+ 已刪除 - 端點服務已刪除。

### 資源組態
<a name="concepts-resource-configuration"></a>

資源提供者會建立*資源組態*來共用資源。資源組態是代表單一資源的邏輯物件，例如資料庫或一組資源。資源可以是 IP 地址、網域名稱目標或 [Amazon Relational Database Service](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) (Amazon RDS) 資料庫。

與其他帳戶共用時，資源提供者必須透過 [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)(AWS RAM) 資源共用共用資源，以允許其他帳戶中的特定 AWS 主體透過資源 VPC 端點連線至資源。

資源組態可以與主體透過服務網路 VPC 端點連接到 的服務網路相關聯。

### 資源閘道
<a name="concepts-resource-gateway"></a>

資源閘道是從其中共用資源的 VPC 傳入的點。供應商會建立資源閘道，以從 VPC 共用資源。

## 服務或資源取用者
<a name="concepts-service-consumers"></a>

服務或資源的使用者是*消費者*。消費者可以從其 VPCs 或內部部署存取端點服務和資源。

**Topics**
+ [VPC 端點](#concepts-vpc-endpoints)
+ [端點網路介面](#concepts-endpoint-network-interfaces)
+ [端點政策](#concepts-endpoint-policies)
+ [端點狀態](#concepts-endpoint-states)

### VPC 端點
<a name="concepts-vpc-endpoints"></a>

消費者會建立 *VPC 端點*，將其 VPC 連線至端點服務或資源。消費者在建立 VPC 端點時，必須指定端點服務、資源或服務網路。有多種類型的 VPC 端點。您必須建立所需的 VPC 端點類型。
+ `Interface` - 建立*介面端點*，將 TCP 或 UDP 流量傳送至端點服務。使用 DNS 來解析目的地為端點服務的流量。
+ `GatewayLoadBalancer` - 建立 *Gateway Load Balancer 端點*，使用私有 IP 地址將流量傳送至虛擬設備機群。您可以使用路由表將流量從您的 VPC 路由至 Gateway Load Balancer 端點。Gateway Load Balancer 會將流量分配給虛擬設備，並可隨需擴展。
+ `Resource` - 建立*資源端點*以存取與您共用並位於另一個 VPC 中的資源。資源端點可讓您私密且安全地存取資源，例如資料庫、Amazon EC2 執行個體、應用程式端點、網域名稱目標，或可能位於另一個 VPC 中私有子網路或內部部署環境中的 IP 地址。資源端點不需要負載平衡器，並可讓您直接存取資源。
+ `Service network` - 建立*服務網路端點*，以存取您建立或與您共用的服務網路。您可以使用單一服務網路端點，以私密且安全地存取與服務網路相關聯的多個資源和服務。

還有另一種 `Gateway` VPC 端點類型，這種類型的端點會建立*閘道端點*，將流量傳送至 Amazon S3 或 DynamoDB。閘道端點不會使用 AWS PrivateLink，與其他類型的 VPC 端點不同。如需詳細資訊，請參閱[閘道端點](gateway-endpoints.md)。

### 端點網路介面
<a name="concepts-endpoint-network-interfaces"></a>

*端點網路界面*是一種請求者管理的網路界面，可做為目的地為端點服務、資源或服務網路之流量的進入點。對於您在建立 VPC 端點時指定的每個子網，我們會在子網中建立端點網路介面。

如果 VPC 端點支援 IPv4，其端點網路介面具有 IPv4 地址。如果 VPC 端點支援 IPv6，其端點網路介面具有 IPv6 地址。無法從網際網路連線端點網路界面的 IPv6 地址。如果您使用 IPv6 地址描述端點網路介面，請注意 `denyAllIgwTraffic` 已啟用。

### 端點政策
<a name="concepts-endpoint-policies"></a>

*VPC 端點政策*為 IAM 資源政策，您可將其連接至 VPC 端點。它會決定哪些主體可以使用 VPC 端點存取端點服務。預設的 VPC 端點政策允許 VPC 端點上所有資源的所有主體進行所有操作。

### 端點狀態
<a name="concepts-endpoint-states"></a>

當您建立介面 VPC 端點時，端點服務會收到連線請求。服務提供者可以接受或拒絕該請求。如果服務提供者接受請求，服務消費者可以在進入可用狀態後使用 VPC 端點。

以下是 VPC 端點的可能狀態：
+ PendingAcceptance - 連線請求擱置中。這是手動接受請求的初始狀態。
+ 待定 - 服務提供者接受連線請求。這是自動接受請求的初始狀態。如果服務消費者修改 VPC 端點，則 VPC 端點會回到此狀態。
+ 可用 - VPC 端點可供使用。
+ 已拒絕 - 服務提供者已拒絕連線請求。服務提供者也可以在其可供使用之後拒絕連線。
+ 已過期 - 連線請求已過期。
+ 失敗 - 無法使用 VPC 端點。
+ 刪除 - 服務消費者已刪除 VPC 端點，且正在刪除。
+ 已刪除 - 已刪除 VPC 端點。

 AWS PrivateLink API 會使用駱駝案例傳回可能的狀態。

## AWS PrivateLink 連線
<a name="privatelink-connections"></a>

來自 VPC 的流量會使用 VPC 端點與端點服務或資源之間的連線，傳送至端點服務或資源。VPC 端點與端點服務或資源之間的流量會保留在 AWS 網路中，而不會周遊公有網際網路。

服務提供者會新增[權限](configure-endpoint-service.md#add-remove-permissions)，供服務取用者存取端點服務。服務取用者會啟動連線，而服務提供者會接受或拒絕連線請求。資源擁有者或服務網路擁有者透過 與消費者共用資源組態或服務網路， AWS Resource Access Manager 以便消費者可以存取資源或服務網路。

透過界面 VPC 端點，消費者可以使用[端點政策](vpc-endpoints-access.md)來控制哪些 IAM 主體可以使用 VPC 端點來存取端點服務或資源。

## 私有託管區域
<a name="concepts-private-hosted-zones"></a>

*託管區域*是一個 DNS 記錄容器，它定義如何路由網域或子網域的流量。對於*公有託管區域*，記錄指定如何在網際網路上路由流量。對於*私有託管區域*，記錄指定如何在您的 VPC 中路由流量。

您可以設定 Amazon Route 53，將網域流量路由到 VPC 端點。如需詳細資訊，請參閱[使用網域名稱將流量路由到 VPC 端點](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-vpc-interface-endpoint.html)。

您可以使用 Route 53 來設定分割期限 DNS，您可以在其中對公有網站和採用 的端點服務使用相同的網域名稱 AWS PrivateLink。來自消費者 VPC 的公有主機名稱的 DNS 請求會解析為端點網路介面的私有 IP 地址，但來自 VPC 外部的請求仍會繼續解析為公有端點。如需詳細資訊，請參閱[檢閱路由流量的 DNS 機制並對 AWS PrivateLink 部署啟用容錯移轉](https://aws.amazon.com/blogs/apn/reviewing-dns-mechanisms-for-routing-traffic-and-enabling-failover-for-aws-privatelink-deployments/)。