AWS 服務 通過訪問 AWS PrivateLink - Amazon Virtual Private Cloud

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

AWS 服務 通過訪問 AWS PrivateLink

您存取 AWS 服務 使用端點。預設服務端點為公有介面,因此您必須將網際網路閘道新增至 VPC,以便流量可以從 VPC 傳送到 AWS 服務。如果此組態無法滿足您的網路安全性需求,您可 AWS PrivateLink 以使用將 VPC 連線到 AWS 服務 如同 VPC 中一樣,無需使用網際網路閘道。

您可以私下存取 AWS 服務 與 AWS PrivateLink 使用 VPC 端點整合的。您可以建置和管理應用程式堆疊的所有層級,而無需使用網際網路閘道。

定價

您需按每個可用區域佈建介面 VPC 端點的每小時計費。您還需要按處理的 GB 資料計費。如需詳細資訊,請參閱 AWS PrivateLink 定價

概要

您可以通 AWS 服務 過其公共服務端點訪問,也可以 AWS 服務 使用 AWS PrivateLink. 此概觀會比較這些方法。

透過公有服務端點存取

下圖顯示執行個體如何透 AWS 服務 過公用服務端點存取。 AWS 服務 從公用子網路中執行個體傳送至的流量會路由至 VPC 的網際網路閘道,然後路由至. AWS 服務從私有子網中的執行個體到 AWS 服務 的流量會路由到 NAT 閘道,然後路由至 VPC 的網際網路閘道,最後再路由至 AWS 服務。雖然此流量遍歷 Internet 閘道,但不會離開 AWS 網路。

流量會透過網際網路閘道 AWS 服務 離開您的 VPC,但仍保留在 AWS 網路中。

通過 Connect AWS PrivateLink

下圖顯示執行個體的存取方 AWS 服務 式 AWS PrivateLink。首先,您要建立介面 VPC 端點,該端點會在 VPC 中的子網路與 AWS 服務 使用網路介面之間建立連線。目的地的流量會使用 DNS 解析為端點網路介面的私有 IP 位址,然後 AWS 服務 使用 VPC 端點與. AWS 服務 AWS 服務

來自子網路的流量會使用介面 VPC 端點連線到 AWS 服務.

AWS 服務 自動接受連線要求。服務無法透過 VPC 端點向資源發起請求。

DNS 主機名稱

大多數 AWS 服務 提供公共區域端點,其語法如下。

protocol://service_code.region_code.amazonaws.com

例如,us-east-2 CloudWatch 中 Amazon 的公共端點如下。

https://monitoring.us-east-2.amazonaws.com

使用時 AWS PrivateLink,您可以使用私有端點將流量傳送到服務。當您建立介面 VPC 端點時,我們會建立區域和區域 DNS 名稱,您可以使用這些名稱與 VPC 進行 AWS 服務 通訊。

介面 VPC 端點的區域 DNS 名稱具有下列語法:

endpoint_id.service_id.region.vpce.amazonaws.com

區域 DNS 名稱具有下列語法:

endpoint_id-az_name.service_id.region.vpce.amazonaws.com

當您建立的介面 VPC 端點時 AWS 服務,您可以啟用私有 DNS。使用私有 DNS,您可以繼續使用其公有端點的 DNS 名稱向服務發出請求,同時利用經由介面 VPC 端點的私有連線。如需詳細資訊,請參閱 DNS 解析

以下 describe-vpc-endpoints 命令會顯示介面端點的 DNS 項目。

aws ec2 describe-vpc-endpoints --vpc-endpoint-id vpce-099deb00b40f00e22 --query VpcEndpoints[*].DnsEntries

以下是啟用私 CloudWatch 有 DNS 名稱之 Amazon 介面端點的範例輸出。第一項是私有區域端點 (private Regional endpoint)。接下來的三項是私有區域端點 (private zonal endpoint)。最後一項來自隱藏的私有託管區域,它將針對公有端點的請求解析為端點網路介面的私有 IP 地址。

[ [ { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2c.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2a.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2b.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "monitoring.us-east-2.amazonaws.com", "HostedZoneId": "Z06320943MMOWYG6MAVL9" } ] ]

DNS 解析

我們為您的介面 VPC 端點建立的 DNS 記錄是公開的。因此,這些 DNS 名稱可公開解析。不過,來自 VPC 外部的 DNS 請求仍會傳回端點網路介面的私有 IP 地址,因此除非您可以存取 VPC,否則這些 IP 地址無法用於存取端點服務。

私有 DNS

如果您為介面 VPC 端點啟用私有 DNS,且您的 VPC 同時啟用了 DNS 主機名稱和 DNS 解析,我們會為您建立隱藏的 AWS受管私有託管區域。託管區域包含服務之預設 DNS 名稱的記錄集,該服務可將其解析為 VPC 中端點網路介面的私有 IP 地址。因此,如果您現有的應用程式會 AWS 服務 使用公用區域端點傳送要求至,則這些要求現在會透過端點網路介面進行,而不需要您對這些應用程式進行任何變更。

建議您為 VPC 端點啟用私人 DNS 名稱。 AWS 服務如此可確保使用公用服務端點的要求 (例如透過 AWS SDK 發出的要求) 會解析至您的 VPC 端點。

Amazon 為您的 VPC 提供 DNS 伺服器,名為 Route 53 Resolver。Route 53 Resolver 會自動解析本機 VPC 網域名稱和私有託管區域中的記錄。但是,您無法從 VPC 外部使用 Route 53 Resolver。如果想要從內部部署網路存取 VPC 端點,可以使用 Route 53 Resolver 端點和 Resolver 規則。如需詳細資訊,請參閱AWS Transit Gateway 與 AWS PrivateLink 與整合 Amazon Route 53 Resolver

子網路與可用區域

您可以將 VPC 端點設定為每個可用區域一個子網路。我們會在子網路中建立 VPC 端點的端點網路介面。我們會根據 VPC 端點的 IP 地址類型,從其子網路中將 IP 地址指派給每個端點網路介面。端點網路介面的 IP 地址在其 VPC 端點的存留期間不會變更。

在生產環境中,為了獲得高可用性和彈性,建議您執行以下操作:

  • 每個 VPC 端點至少設定兩個可用區域,並部署必須存取這些可用區域 AWS 服務 中的 AWS 資源。

  • 設定 VPC 端點的私有 DNS 名稱。

  • 使用其區域 DNS 名稱 (也稱為公用端點) AWS 服務 來存取。

下圖顯示在單一可用區域中 CloudWatch 具有端點網路界面的 Amazon VPC 端點。當 VPC 中任何子網路中的任何資源 CloudWatch使用其公有端點存取 Amazon 時,我們會將流量解析為端點網路界面的 IP 位址。這包括來自其他可用區域中子網路的流量。但是,如果可用區域 1 受損,可用區域 2 中的資源將無法存取 Amazon CloudWatch。

針對單一可用區域 CloudWatch 啟用 Amazon 的介面 VPC 人雲端端點。

下圖顯示在兩個可用區域中 CloudWatch 具有端點網路界面的 Amazon VPC 端點。當 VPC 中任何子網路中的任何資源使用其公有端點存取 Amazon CloudWatch 時,我們會使用循環配置資源演算法在它們之間交替選取運作良好的端點網路界面。接著,我們會將流量解析為所選端點網路介面的 IP 地址。

適用於 Amazon 的介面 VPC 人雲端端點,可 CloudWatch 用於多個可用區域。

如果這更適合您的使用案例,則可以使用同一可用區域中的端點網路介面,將資源的流量傳送到 AWS 服務 。若要執行此操作,請使用私有區域端點或端點網路介面的 IP 地址。

具有使用私有區域端點之流量的介面 VPC 端點。

IP 地址類型

AWS 服務 可以通過其私有端點支持 IPv6,即使它們不通過其公共端點支持 IPv6。支援 IPv6 的端點可以使用 AAAA 記錄回應 DNS 查詢。

為介面端點啟用 IPv6 的要求
  • AWS 服務 必須使其服務端點可透過 IPv6 使用。如需詳細資訊,請參閱 檢視 IPv6 支援

  • 介面端點的 IP 地址類型必須與介面端點的子網相容,如下所述:

    • IPv4 - 將 IPv4 地址指派給您的端點網路介面。只有當所有選取的子網都具有 IPv4 地址範圍時,才支援此選項。

    • IPv6 - 將 IPv6 地址指派給您的端點網路介面。只有當所有選取的子網都是 IPv6 子網時,才支援此選項。

    • Dualstack - 將 IPv4 和 IPv6 地址指派給您的端點網路介面。只有當所有選取的子網都具有 IPv4 和 IPv6 地址範圍時,才支援此選項。

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