本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 共用您的服務 AWS PrivateLink
您可以託管自己的 AWS PrivateLink 受電服務,稱為端點服務,並與其他 AWS 客戶共用。
概要
下圖顯示如何 AWS 與其他 AWS 客戶共用 中託管的服務,以及這些客戶如何連接到您的服務。作為服務提供者,您可以在 VPC 中建立 Network Load Balancer 作為服務前端。然後,您可以在建立 VPC 端點服務組態時選取此負載平衡器。您可以對特定 AWS 主體授予權限,以便他們連接到您的服務。作為服務消費者,客戶可建立界面 VPC 端點,它可在他們從其 VPC 中選取的子網與您的端點服務之間建立連線。負載平衡器會收到來自服務消費者的請求,並將它們傳送至託管您服務的目標。
![服務消費者會連線至服務提供者託管的端點服務。](images/endpoint-services.png)
為了實現低延遲和高可用性,建議您在至少兩個可用區域提供您的服務。
DNS 主機名稱
當服務提供者建立 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
服務提供者也可以關聯其端點服務的私有 DNS 名稱,以便服務消費者可以繼續使用其現有 DNS 名稱來存取服務。如果服務提供者將私有 DNS 名稱與其端點服務相關聯,則服務消費者可以為其介面端點啟用私有 DNS 名稱。如果服務提供者未啟用私有 DNS,服務消費者可能需要更新其應用程式,才能使用 VPC 端點服務的公有 DNS 名稱。如需詳細資訊,請參閱管理 DNS 名稱。
跨區域存取
服務提供者可以在一個區域中託管服務,並在一組支援的區域中提供此服務。服務消費者在建立端點時選取服務區域。
許可
-
在預設情況下,IAM 實體沒有許可在多個區域中提供端點服務,或跨區域存取端點服務。若要授予跨區域存取所需的許可,IAM 管理員可以建立允許僅限
vpce:AllowMultiRegion
許可動作的 IAM 政策。 -
若要控制 IAM 實體在建立端點服務時可指定為支援區域的區域,請使用
ec2:VpceSupportedRegion
條件金鑰。 -
若要控制 IAM 實體在建立 VPC 端點時可指定為服務區域的區域,請使用
ec2:VpceServiceRegion
條件金鑰。
考量事項
-
服務提供者必須先選擇加入 區域,才能將其新增為端點服務的支援區域。
-
您的端點服務必須可從其主機區域存取。您無法從一組支援的區域中移除主機區域。對於備援,您可以在多個區域中部署端點服務,並為每個端點服務啟用跨區域存取。
-
服務消費者必須先選擇加入 區域,才能選擇它做為端點的服務區域。我們建議服務消費者盡可能使用區域內連線存取服務,而不是跨區域連線。區域內連線可提供更低的延遲和更低的成本。
-
如果服務提供者從一組支援的區域中移除區域,服務消費者在建立新的端點時,無法選取該區域做為服務區域。請注意,這不會影響從使用此區域做為服務區域的現有端點存取端點服務。
-
為了實現高可用性,供應商和消費者都應該使用至少兩個可用區域。請注意,跨區域存取不需要供應商和消費者使用相同的可用區域。
-
透過跨區域存取, AWS PrivateLink 管理可用區域之間的容錯移轉。它不會管理跨區域的容錯移轉。
-
具有易用 DNS 名稱 AWS Marketplace 的服務不支援跨區域存取。
-
Network Load Balancer 不支援跨區域存取,其自訂值已針對 TCP 閒置逾時設定。
-
UDP 分割不支援跨區域存取。
IP 地址類型
服務提供者可以透過 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。