透過 共用您的服務 AWS PrivateLink - Amazon Virtual Private Cloud

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

透過 共用您的服務 AWS PrivateLink

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

概要

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

服務消費者會連線至服務提供者託管的端點服務。

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

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