使用 ACM 將視窗 SSL 憑證移轉至應用程式負載平衡器 - AWS 方案指引

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

使用 ACM 將視窗 SSL 憑證移轉至應用程式負載平衡器

創建者:茜卓·謝哈爾雅拉塔(AWS)和伊戈爾·科瓦爾丘克(AWS)

環境:生產

來源:視窗網絡應用程序

目標:AWS 上的 Application Load Balancer

R 類型:重新平台

工作量:Microsoft

技術:移轉、管理與治理、Web 和行動應用程式

AWS 服務:Elastic Load Balancing (ELB);AWS Certificate Manager (ACM)

Summary

該模式提供了使用 AWS Certificate Manager (ACM) 從現場部署伺服器上託管的網站或 Microsoft 網際網路資訊服務 (IIS) 上的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體遷移現有的安全通訊端層 (SSL) 憑證的指導。然後,SSL 憑證便可與 AWS 上的 Elastic Load Balancing 搭配使用。

SSL 保護您的數據,確認您的身份,提供更好的搜索引擎排名,有助於滿足支付卡行業數據安全標準(PCI DSS)要求,並提高客戶信任度。管理這些工作負載的開發人員和 IT 團隊希望他們的 Web 應用程式和基礎結構 (包括 IIS 伺服器和 Windows Server) 保持符合其基準原則。

此模式涵蓋從 Microsoft IIS 手動匯出現有的 SSL 憑證,將它們從個人資訊交換 (PFX) 格式轉換為 ACM 支援的私人增強型郵件 (PEM) 格式,然後將它們匯入 AWS 帳戶中的 ACM。它也說明如何為您的應用程式建立 Application Load Balancer,並將應用 Application Load Balancer 設定為使用匯入的憑證。然後在 Application Load Balancer 器上終止 HTTPS 連線,您不需要 Web 伺服器上的進一步設定額外負荷。如需詳細資訊,請參閱為應用程式負載平衡器建立 HTTPS 接聽程式

Windows 伺服器會使用 .pfx 或 .p12 檔案來包含公開金鑰檔案 (SSL 憑證) 及其唯一的私密金鑰檔案。憑證授權單位 (CA) 會提供您的公開金鑰檔案。您可以使用伺服器來產生建立憑證簽署要求 (CSR) 的相關私密金鑰檔案。

先決條件和限制

先決條件

  • 有效的 AWS 帳戶

  • AWS 上的虛擬私有雲端 (VPC),在目標使用的每個可用區域中至少有一個私有子網路和一個公有子網路

  • 在視窗伺服器 2012 或更新版本上執行的 IIS 8.0 或更新版本

  • 在 IIS 上執行的網路應用程式

  • IIS 伺服器的管理員存取權

架構

源, 技術, 堆棧

  • 使用 SSL 的 IIS 網頁伺服器實作,以確保資料在加密連線中安全傳輸 (HTTPS)

來源架構

使用 ACM 將 Windows SSL 憑證移轉至 Application Load Balancer 的來源架構

目標技術堆疊

  • 您的 AWS 帳戶中的 ACM 憑證

  • 設定為使用匯入憑證的應用 Application Load Balancer

  • 私有子網路中的 Windows 伺服器執行個體

目標架構

使用 ACM 將 Windows SSL 憑證移轉至 Application Load Balancer 的目標架構

工具

  • AWS Certificate Manager (ACM) 可協助您建立、存放和更新公有和私有 SSL/TLS X.509 憑證和金鑰,以保護您的 AWS 網站和應用程式。

  • E@@ lastic Load Balancing (ELB) 可將傳入的應用程式或網路流量分散到多個目標。例如,您可以將流量分配到一或多個可用區域中的 EC2 執行個體、容器和 IP 地址。

最佳實務

  • 強制執行從 HTTP 到 HTTPS 的流量重新導向。

  • 正確設定 Application Load Balancer 的安全群組,以僅允許傳入流量傳輸至特定連接埠。

  • 在不同的可用區域啟動 EC2 執行個體,以確保高可用性。

  • 將應用程式的網域設定為指向應用程式負載平衡器的 DNS 名稱,而非其 IP 位址。

  • 確定應用 Application Load Balancer 已設定應用程式層健全狀況檢查

  • 設定健全狀況檢查的臨界值。

  • 使用 Amazon CloudWatch 監控應用 Application Load Balancer。

史诗

任務描述所需技能

從視窗伺服器匯出 .pfx 檔案。

若要從 Windows 伺服器中的內部部署 IIS 管理員將 SSL 憑證匯出為 .pfx 檔案,請執行下列動作:

  1. 選擇開始系統管理、網際網路資訊服務 (IIS) 管理員

  2. 選取伺服器名稱,然後在「安全性」下按兩下「伺服器憑證

  3. 選擇您要匯出的憑證,然後選擇 [匯出]。

  4. 在「匯出憑證」方塊中,選擇 .pfx 檔案的位置、路徑和名稱。

  5. 指定並確認 .pfx 檔案的密碼。

    注意:安裝 .pfx 檔案時需要此密碼。

  6. 選擇確定。

您的 .pfx 檔案現在應該儲存到您指定的位置和路徑。

系統管理員
任務描述所需技能

下載並安裝 OpenSSL 工具包。

  1. 下載並安裝 Win32/64 從閃亮的光線製作網站。

  2. 將 OpenSSL 二進位檔案的位置新增至系統PATH變數,以便可以使用二進位檔案供命令列使用。

系統管理員

將 PFX 編碼的憑證轉換為 PEM 格式。

下列步驟會將 PFX 編碼的已簽署憑證檔案轉換為三個 PEM 格式的檔案:

  • cert-file.pem包含資源的 SSL/TLS 憑證。

  • privatekey.pem包含沒有密碼保護的憑證私密金鑰。

  • ca-chain.pem包含 CA 的根憑證。

若要轉換 PFX 編碼憑證:

  1. 執行視窗 PowerShell。

  2. 使用下列命令從 PFX 檔案擷取憑證的私密金鑰。出現提示時輸入憑證密碼。

    openssl pkcs12 -in <filename>.pfx -nocerts -out withpw-privatekey.pem

    此命令會產生名為的 PEM 編碼私密金鑰檔案。privatekey.pem出現提示時,請輸入密碼片語以保護私密金鑰檔案。

  3. 執行下列命令以移除密碼。出現提示時,請提供您在步驟 2 中建立的複雜密碼。

    openssl rsa -in withpw-privatekey.pem -out privatekey.pem

    如果命令成功,它會顯示訊息「寫入 RSA 金鑰」。

  4. 使用下列命令將憑證從 PFX 檔案傳輸至 PEM 檔案。

    openssl pkcs12 -in <file_name>.pfx -clcerts -nokeys -out cert-file.pem

    這會建立名為的 PEM 編碼憑證檔案。cert-file.pem如果命令成功,它會顯示消息「MAC 驗證確定。」

  5. 從 PFX 檔案建立 CA 鏈結檔案。下列命令會建立名為的 CA 鏈結檔案ca-chain.pem

    openssl pkcs12 -in <file_name>.pfx -cacerts -nokeys -chain -out ca-chain.pem

    如果命令成功,它會顯示消息「MAC 驗證確定。」

系統管理員
任務描述所需技能

準備匯入憑證。

ACM 主控台上,選擇 [匯入憑證]。

雲端管理員

提供憑證主體。

針對憑證主體,貼上您要匯入的 PEM 編碼憑證。

如需此史詩中所描述之命令和步驟的詳細資訊,請參閱 ACM 說明文件中的匯入憑證

雲端管理員

提供憑證私密金鑰。

對於 Certificate private key (憑證私有金鑰),貼上與憑證公有金鑰相符的 PEM 編碼、未加密私有金鑰。

雲端管理員

提供憑證鏈結。

對於憑證鏈結,貼上儲存在檔案中的 PEM 編碼憑證鏈結。CertificateChain.pem

雲端管理員

匯入憑證。

選擇 Review and import (檢閱和匯入)。確認憑證的相關資訊正確無誤,然後選擇 [匯入]。

雲端管理員
任務描述所需技能

建立和設定負載平衡器和監聽器。

請遵循 E lastic Load Balancing 說明文件中的指示來設定目標群組、註冊目標,以及建立「Application Load Balancer」和監聽器。為連接埠 443 新增第二個接聽程式 (HTTPS)。

雲端管理員

故障診斷

問題解決方案

即使將 OpenSSL 命令添加到系統路徑中,Windows 也 PowerShell 無法識別它。

$env:path查並確定其中包含 OpenSSL 二進位檔案的位置。

如果沒有,請在中執行下列命令 PowerShell:

$env:path = $env:path + ";C:\OpenSSL-Win64\bin"

相關資源

將憑證匯入 ACM

建立應用程式負載平衡器