

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

# 透過 共用您的服務 AWS PrivateLink
<a name="privatelink-share-your-services"></a>

您可以託管自己的 AWS PrivateLink 受電服務，稱為*端點服務*，並與其他 AWS 客戶共用。

**Topics**
+ [概要](#endpoint-service-overview)
+ [DNS 主機名稱](#endpoint-service-dns-hostnames)
+ [私有 DNS](#endpoint-service-private-dns)
+ [子網路與可用區域](#endpoint-service-subnets-zones)
+ [跨區域存取](#endpoint-service-cross-region)
+ [IP 地址類型](#endpoint-service-ip-address-type)
+ [建立端點服務](create-endpoint-service.md)
+ [設定端點服務](configure-endpoint-service.md)
+ [管理 DNS 名稱](manage-dns-names.md)
+ [接收端點服務事件的提醒](create-notification-endpoint-service.md)
+ [刪除端點服務](delete-endpoint-service.md)

## 概要
<a name="endpoint-service-overview"></a>

下圖顯示如何 AWS 與其他 AWS 客戶共用 中託管的服務，以及這些客戶如何連接到您的服務。作為服務提供者，您可以在 VPC 中建立 Network Load Balancer 作為服務前端。然後，您可以在建立 VPC 端點服務組態時選取此負載平衡器。您可以對特定 AWS 主體授予權限，以便他們連接到您的服務。作為服務消費者，客戶可建立界面 VPC 端點，它可在他們從其 VPC 中選取的子網與您的端點服務之間建立連線。負載平衡器會收到來自服務消費者的請求，並將它們傳送至託管您服務的目標。

![服務消費者連線到服務提供者託管的端點服務。](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/endpoint-services.png)


為了實現低延遲和高可用性，建議您在至少兩個可用區域提供您的服務。

## DNS 主機名稱
<a name="endpoint-service-dns-hostnames"></a>

當服務提供者建立 VPC 端點服務時， 會為服務 AWS 產生端點特定的 DNS 主機名稱。這些名稱具有下列語法：

```
{{endpoint_service_id}}.{{region}}.vpce.amazonaws.com
```

以下是 us-east-2 區域中 VPC 端點服務的 DNS 主機名稱範例：

```
vpce-svc-071afff70666e61e0.us-east-2.vpce.amazonaws.com
```

當服務消費者建立介面 VPC 端點時，我們會建立區域名稱和區域 DNS 名稱，服務消費者可使用它們與端點服務通訊。區域名稱具有下列語法：

```
{{endpoint_id}}.{{endpoint_service_id}}.{{service_region}}.vpce.amazonaws.com
```

分區名稱具有下列語法：

```
{{endpoint_id}}-{{endpoint_zone}}.{{endpoint_service_id}}.{{service_region}}.vpce.amazonaws.com
```

## 私有 DNS
<a name="endpoint-service-private-dns"></a>

服務提供者也可以關聯其端點服務的私有 DNS 名稱，以便服務消費者可以繼續使用其現有 DNS 名稱來存取服務。如果服務提供者將私有 DNS 名稱與其端點服務相關聯，則服務消費者可以為其介面端點啟用私有 DNS 名稱。如果服務提供者未啟用私有 DNS，服務消費者可能需要更新其應用程式，才能使用 VPC 端點服務的公有 DNS 名稱。如需詳細資訊，請參閱[管理 DNS 名稱](manage-dns-names.md)。

## 子網路與可用區域
<a name="endpoint-service-subnets-zones"></a>

您的端點服務可在您為 Network Load Balancer 啟用的可用區域中使用。為了實現高可用性和彈性，我們建議您在至少兩個可用區域中啟用負載平衡器、在每個啟用的區域中部署 EC2 執行個體，以及向負載平衡器目標群組註冊這些執行個體。

您可以啟用跨區域負載平衡，做為在多個可用區域中託管端點服務的替代方案。不過，如果託管端點服務的區域失敗，消費者將無法從兩個區域存取端點服務。此外，當您為 Network Load Balancer 啟用跨區域負載平衡時，需支付 EC2 資料傳輸費用。

取用者可以在端點服務可用的可用區域中建立介面 VPC 端點。我們在消費者為 VPC 端點設定的每個子網路中建立端點網路介面。我們會根據 VPC 端點的 IP 地址類型，從其子網路中將 IP 地址指派給每個端點網路介面。當請求使用 VPC 端點服務的區域端點時，我們會選擇運作狀態良好的端點網路界面，使用循環配置演算法在不同可用區域中的網路界面之間切換。接著，我們會將流量解析為所選端點網路介面的 IP 地址。

如果 VPC 端點的使用案例最好將流量保留在相同的可用區域中，則取用者可以使用 VPC 端點的區域端點。

## 跨區域存取
<a name="endpoint-service-cross-region"></a>

服務提供者可以在一個區域中託管服務，並在一組支援的區域中提供此服務。服務消費者在建立端點時選取服務區域。

**許可**
+ 根據預設，IAM 實體沒有在多個區域中提供端點服務或跨區域存取端點服務的許可。若要授予跨區域存取所需的許可，IAM 管理員可以建立允許僅限`vpce:AllowMultiRegion`許可動作的 IAM 政策。
+ 若要控制 IAM 實體在建立端點服務時可指定為支援區域的區域，請使用 `ec2:VpceSupportedRegion`條件金鑰。
+ 若要控制 IAM 實體在建立 VPC 端點時可指定為服務區域的區域，請使用 `ec2:VpceServiceRegion`條件金鑰。

**考量事項**
+ 服務提供者必須先選擇加入 區域，才能將其新增為端點服務的支援區域。
+ 您的端點服務必須可從其主機區域存取。您無法從一組支援的區域中移除主機區域。如需備援，您可以在多個區域中部署端點服務，並為每個端點服務啟用跨區域存取。
+ 服務消費者必須先選擇加入 區域，才能將其選取為端點的服務區域。我們建議服務消費者盡可能使用區域內連線存取服務，而不是跨區域連線。區域內連線提供更低的延遲和更低的成本。
+ 如果服務提供者從一組支援的區域中移除區域，服務消費者無法在建立新端點時選取該區域做為服務區域。請注意，這不會影響從使用此區域做為服務區域的現有端點存取端點服務。
+ 為了實現高可用性，供應商必須使用至少兩個可用區域。跨區域存取不需要供應商和消費者使用相同的可用區域。
+ 下列可用區域不支援跨區域存取：`use1-az3`、`usw1-az2`、`apne2-az2`、 `apne1-az3`和 `apne2-az4`。
+ 透過跨區域存取， AWS PrivateLink 會管理可用區域之間的容錯移轉。它不會管理跨區域的容錯移轉。
+ 針對 TCP 閒置逾時設定的自訂值，Network Load Balancer 不支援跨區域存取。
+ UDP 分段不支援跨區域存取。
+ 只有您透過 共用的服務才支援跨區域存取 AWS PrivateLink。

## IP 地址類型
<a name="endpoint-service-ip-address-type"></a>

服務提供者可以透過 IPv4、IPv6、或者同時使用 IPv4 和 IPv6 向服務消費者提供其服務端點，即使其後端伺服器僅支援 IPv4。如果您啟用雙堆疊支援，現有消費者可以繼續使用 IPv4 存取您的服務，而新客戶可以選擇使用 IPv6 存取您的服務。

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

**為端點服務啟用 IPv6 的要求**
+ 端點服務的 VPC 和子網必須具有相關聯的 IPv6 CIDR 區塊。
+ 端點服務的所有 Network Load Balancer 都必須使用雙堆疊 IP 地址類型。目標不需要支援 IPv6 流量。如果服務處理來自代理通訊協定第 2 版標頭的來源 IP 地址，則它必須處理 IPv6 地址。

**為介面端點啟用 IPv6 的要求**
+ 端點服務必須支援 IPv6 請求。
+ 介面端點的 IP 地址類型必須與介面端點的子網相容，如下所述：
  + **IPv4** - 將 IPv4 地址指派給您的端點網路介面。只有當所有選取的子網都具有 IPv4 地址範圍時，才支援此選項。
  + **IPv6** - 將 IPv6 地址指派給您的端點網路介面。只有當所有選取的子網都是 IPv6 子網時，才支援此選項。
  + **Dualstack** - 將 IPv4 和 IPv6 地址指派給您的端點網路介面。只有當所有選取的子網都具有 IPv4 和 IPv6 地址範圍時，才支援此選項。

**介面端點的 DNS 記錄 IP 地址類型**

介面端點支援的 DNS 記錄 IP 地址類型會決定我們建立的 DNS 記錄。介面端點的 DNS 記錄 IP 地址類型必須與介面端點的 IP 地址類型相容，如下所述：
+ **IPv4** - 建立私有名稱、區域名稱和分區 DNS 名稱的 A 記錄。IP 地址類型必須為 **IPv4** 或者 **Dualstack**。
+ **IPv6** - 建立私有名稱、區域名稱和分區 DNS 名稱的 AAAA 記錄。IP 地址類型必須為 **IPv6** 或者 **Dualstack**。
+ **Dualstack** - 建立私有名稱、區域名稱和分區 DNS 名稱的 A 和 AAAA 記錄。IP 地址類型必須為 **Dualstack**。