設定 VPC 端點服務連接 - AWS Key Management Service

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

設定 VPC 端點服務連接

使用本節中的指導來建立和設定使用 VPC 端點服務連接的外部金鑰存放區所需的 AWS 資源和相關元件。針對此連接選項列出的資源是所有外部金鑰存放區所需資源的補充。建立並設定所需資源後,您可以建立外部金鑰存放區

您可以在 Amazon VPC 中找到外部金鑰存放區代理,或在 AWS 之外找到代理,並使用 VPC 端點服務進行通訊。

開始之前,請確認您需要外部金鑰存放區。大多數客戶都可以使用由 AWS KMS 金鑰材料支援的 KMS 金鑰。

注意

VPC 端點服務連接所需的一些元素可能包含在外部金鑰管理器中。此外,您的軟體可能還有其他組態要求。在建立和設定本節中的 AWS 資源之前,請參閱代理和金鑰管理器文件。

VPC 端點服務連接的要求

如果您為外部金鑰存放區選擇 VPC 端點服務連接,則需要下列資源。

若要將網路延遲降到最低,請在離外部金鑰管理器最近的受支援的 AWS 區域 中建立 AWS 元件。如果可能,請選擇網路封包來回時間 (RTT) 為 35 毫秒或更短的區域。

  • 連接到外部金鑰管理器的 Amazon VPC。其在兩個不同可用區域中必須擁有至少兩個私有子網路

    您可以將現有的 Amazon VPC 用於外部金鑰存放區,前提是其符合與外部金鑰存放區搭配使用的要求。多個外部金鑰存放區可以共用 Amazon VPC,但是每個外部金鑰存放區都必須擁有自己的 VPC 端點服務和私有 DNS 名稱。

  • 由 AWS PrivateLink 提供支援的 Amazon VPC 端點服務,具有網路負載平衡器目標群組

    端點服務無法要求接受。此外,您必須新增 AWS KMS 作為允許的主體。這允許 AWS KMS 建立介面端點,以便其可以與您的外部金鑰存放區代理進行通訊。

  • VPC 端點服務的私有 DNS 名稱在其 AWS 區域 中是唯一的。

    私有 DNS 名稱必須是較高層級公有網域的子網域。例如,如果私有 DNS 名稱為 myproxy-private.xks.example.com,則其必須是公有網域的子網域,例如 xks.example.comexample.com

    您必須驗證私有 DNS 名稱的 DNS 網域的擁有權

  • 支援的公有憑證授權機構為您的外部金鑰存放區代理核發的 TLS 憑證。

    TLS 憑證上的主體通用名稱 (CN) 必須與私有 DNS 名稱相符。例如,如果私有 DNS 名稱為 myproxy-private.xks.example.com,則 TLS 憑證上的 CN 必須為 myproxy-private.xks.example.com*.xks.example.com

如需外部金鑰存放區的所有要求,請參閱備妥先決條件

建立 Amazon VPC 和子網路

VPC 端點服務連接需要一個 Amazon VPC,其使用至少兩個私有子網路連接到外部金鑰管理器。您可以建立 Amazon VPC,或使用符合外部金鑰存放區要求的現有 Amazon VPC。如需有關建立新 Amazon VPC 的說明,請參閱《Amazon 虛擬私有雲端使用者指南》中的建立 VPC

Amazon VPC 的要求

若要透過 VPC 端點服務連接來搭配使用外部金鑰存放區,Amazon VPC 必須具有下列屬性:

  • 必須與外部金鑰存放區位於相同的 AWS 帳戶 和受支援的區域中。

  • 需要至少兩個私有子網路,每個處於不同的可用區域。

  • Amazon VPC 的私有 IP 地址範圍不得與託管外部金鑰管理器之資料中心的私有 IP 地址範圍重疊。

  • 所有元件都必須使用 IPv4。

您有許多選項可將 Amazon VPC 連接到外部金鑰存放區代理。選擇可滿足您的效能和安全需求的選項。如需清單,請參閱將您的 VPC 連接到其他網路網路到 Amazon VPC 連接選項。如需詳細資訊,請參閱 AWS Direct ConnectAWS Site-to-Site VPN 使用者指南

為您的外部金鑰存放區建立 Amazon VPC

遵循以下指示建立外部金鑰存放區的 Amazon VPC。只有在選擇 VPC 端點服務連接選項時,才需要 Amazon VPC。您可以使用符合外部金鑰存放區要求的現有 Amazon VPC。

遵循建立 VPC、子網路和其他 VPC 資源主題中的指示,使用以下所需值。對於其他欄位,請接受預設值,並按要求提供名稱。

欄位
IPv4 CIDR 區塊 輸入 VPC 的 IP 地址。Amazon VPC 的私有 IP 地址範圍不得與託管外部金鑰管理器之資料中心的私有 IP 地址範圍重疊。
可用區域 (AZ) 的數量 2 或以上
公有子網路數量

需要空值 (0)

私有子網路數量 每個 AZ 一個
NAT 閘道 需要空值。
VPC 端點 需要空值。
Enable DNS hostnames (啟用 DNS 主機名稱)
啟用 DNS 解析

請務必測試 VPC 通訊。例如,如果您的外部金鑰存放區代理不在 Amazon VPC 中,則請在 Amazon VPC 中建立 Amazon EC2 執行個體,確認 Amazon VPC 可以與您的外部金鑰存放區代理通訊。

將 VPC 連接到外部金鑰管理器

使用 Amazon VPC 支援的任何網路連接選項,將 VPC 連接到託管外部金鑰管理器的資料中心。確保 VPC 中的 Amazon EC2 執行個體 (或外部金鑰存放區代理 (如果位於 VPC 中) 可以與資料中心和外部金鑰管理器通訊。

建立目標群組

建立必要的 VPC 端點服務之前,請先建立其必要元件、網路負載平衡器 (NLB) 和目標群組。網路負載平衡器 (NLB) 會在多個狀態良好的目標之間分佈請求,其中任何一個都可以為請求提供服務。在此步驟中,您會為外部金鑰存放區代理建立至少具有兩個主機的目標群組,並向目標群組註冊 IP 地址。

遵循設定目標群組主題中的指示,使用以下所需值。對於其他欄位,請接受預設值,並按要求提供名稱。

欄位
Target type (目標類型) IP 位址
通訊協定 TCP
連線埠

443

IP 地址類型 IPv4
VPC 選擇您要在其中為外部金鑰存放區建立 VPC 端點服務的 VPC。
運作狀態檢查通訊協定和路徑

您的運作狀態檢查通訊協定和路徑會因外部金鑰存放區代理組態而有所不同。請參閱外部金鑰管理器或外部金鑰存放區代理的文件。

如需有關針對目標群組設定運作狀態檢查的一般資訊,請參閱《Network Load Balancer 之 Elastic Load Balancing 使用者指南》中的目標群組運作狀態檢查
網路 其他私有 IP 地址
IPv4 地址 外部金鑰存放區代理的私有地址
連接埠 443

建立網路負載平衡器

網路負載平衡器會將網路流量 (包括從 AWS KMS 到外部金鑰存放區代理的請求) 分佈至設定的目標。

遵循設定負載平衡器和接聽程式主題中的指示,設定和新增接聽程式,並使用下列必要值建立負載平衡器。對於其他欄位,請接受預設值,並按要求提供名稱。

欄位
Scheme 內部 (Internal)
IP 地址類型 IPv4
網路映射

選擇您要在其中為外部金鑰存放區建立 VPC 端點服務的 VPC。

映射 選擇您為 VPC 子網路設定的兩個可用區域 (至少兩個)。驗證子網路名稱和私有 IP 地址。
通訊協定 TCP
連線埠 443
預設動作:轉送至 選擇網路負載平衡器的目標群組

建立 VPC 端點服務

通常,您會建立服務的端點。但是,當您建立 VPC 端點服務時,您就是提供者,AWS KMS 會為您的服務建立端點。對於外部金鑰存放區,請使用您在上一個步驟中建立的網路負載平衡器建立 VPC 端點服務。VPC 端點服務必須與外部金鑰存放區處於相同的 AWS 帳戶 和受支援的區域中。

多個外部金鑰存放區可以共用 Amazon VPC,但是每個外部金鑰存放區都必須擁有自己的 VPC 端點服務和私有 DNS 名稱。

遵循建立端點服務主題中的指示,使用下列必要值建立 VPC 端點服務。對於其他欄位,請接受預設值,並按要求提供名稱。

欄位
負載平衡器類型 網路
可用的負載平衡器 選擇您在上一步驟中建立的網路負載平衡器

如果您的新負載平衡器未出現在清單中,請確認它處於作用中狀態。負載平衡器狀態可能需要幾分鐘才能從佈建變更為作用中。

需要接受 False。取消勾選核取方塊。

不需要接受。如果沒有手動接受,AWS KMS 無法連接至 VPC 端點服務。如果需要接受,嘗試建立外部金鑰存放區會失敗,並出現 XksProxyInvalidConfigurationException 例外狀況。

啟用私有 DNS 名稱 將私有 DNS 名稱與服務建立關聯
私有 DNS 名稱 輸入在其 AWS 區域 中唯一的私有 DNS 名稱。

私有 DNS 名稱必須是較高層級公有網域的子網域。例如,如果私有 DNS 名稱為 myproxy-private.xks.example.com,則其必須是公有網域的子網域,例如 xks.example.comexample.com

此私有 DNS 名稱必須與外部金鑰存放區代理上設定的 TLS 憑證中的主體通用名稱 (CN) 相符。例如,如果私有 DNS 名稱為 myproxy-private.xks.example.com,則 TLS 憑證上的 CN 必須為 myproxy-private.xks.example.com*.xks.example.com

如果憑證和私有 DNS 名稱不相符,則嘗試將外部金鑰存放區連接至其外部金鑰存放區代理會失敗,並顯示 XKS_PROXY_INVALID_TLS_CONFIGURATION 的連接錯誤代碼。如需詳細資訊,請參閱 一般組態錯誤

支援的 IP 地址類型 IPv4

驗證您的私有 DNS 名稱網域

建立 VPC 端點服務時,其網域驗證狀態為 pendingVerification。在使用 VPC 端點服務建立外部金鑰存放區之前,此狀態必須為 verified。若要確認您擁有與私有 DNS 名稱相關聯的網域,您必須在公有 DNS 伺服器中建立 TXT 記錄。

例如,如果 VPC 端點服務的私有 DNS 名稱為 myproxy-private.xks.example.com,則必須在公有網域 (例如 xks.example.comexample.com) 中建立 TXT 記錄,以公有網域為準。AWS PrivateLink 首先在 xks.example.com 上查找 TXT 記錄,然後在 example.com 上查找。

提示

新增 TXT 記錄之後,Domain verification status (網域驗證狀態) 值可能需要幾分鐘才能從 pendingVerification 變更為 verify

若要開始,請使用下列其中一種方法查找網域的驗證狀態。有效值為 verifiedpendingVerificationfailed

  • Amazon VPC 主控台中,選擇 Endpoint services (端點服務),然後選擇您的端點服務。在詳細資訊窗格中,請查看 Domain verification status (網域驗證狀態)。

  • 使用DescribeVpcEndpointServiceConfigurations操作。State 值位於 ServiceConfigurations.PrivateDnsNameConfiguration.State 欄位中。

如果驗證狀態不是 verified,請遵循網域擁有權驗證主題中的指示,將 TXT 記錄新增至網域的 DNS 伺服器,並確認 TXT 記錄已發佈。然後再次檢查您的驗證狀態。

您不需要為私有 DNS 網域名稱建立 A 記錄。當 AWS KMS 建立 VPC 端點服務的介面端點時,AWS PrivateLink 會自動建立託管區域,它具有 AWS KMS VPC 中私有網域名稱所需的 A 記錄。對於具有 VPC 端點服務連接的外部金鑰存放區,當您將外部金鑰存放區連接至其外部金鑰存放區代理時,會發生這種情況。

授權 AWS KMS 連接至 VPC 端點服務

您必須將 AWS KMS 新增至 VPC 端點服務的 Allow principals (允許主體) 清單。這允許 AWS KMS 建立 VPC 端點服務的介面端點。如果 AWS KMS 不是允許的主體,嘗試建立外部金鑰存放區將會失敗,並出現 XksProxyVpcEndpointServiceNotFoundException 例外狀況。

遵循《AWS PrivateLink 指南》中的管理許可主題。使用以下所需值。

欄位
ARN cks.kms.<region>.amazonaws.com

例如:cks.kms.us-east-1.amazonaws.com

下一頁: 建立外部金鑰存放區