新增具有 Elastic Load Balancing (選用) 的負載平衡器 - AWS CloudHSM

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

新增具有 Elastic Load Balancing (選用) 的負載平衡器

對一個 Web 伺服器設定 SSL/TLS 卸載之後,您可以建立更多個 Web 伺服器和 Elastic Load Balancing 負載平衡器,將 HTTPS 流量路由到 Web 伺服器。負載平衡器可以平衡兩個或更多個伺服器之間的流量,以降低個別 Web 伺服器的負載。還可以提高網站的可用性,因為負載平衡器會監控 Web 伺服器的運作狀態,只將流量路由到運作狀態良好的伺服器。如果 Web 伺服器故障,負載平衡器會自動停止路由流量。

針對第二個 Web 伺服器建立子網路

在建立其他 Web 伺服器之前,您需要在包含現有 Web 伺服器和 AWS CloudHSM 叢集的相同 VPC 中建立新子網路。

建立新的子網路
  1. 開啟 Amazon VPC 主控台的子網路區段

  2. 選擇 Create Subnet (建立子網路)

  3. Create Subset (建立子網路) 對話方塊中,執行下列動作:

    1. Name tag (名稱標籤) 中,輸入子網路的名稱。

    2. 對於 VPC,請選擇包含現有 Web 伺服器和 AWS CloudHSM 叢集的 AWS CloudHSM VPC。

    3. Availability Zone (可用區域) 中,選擇一個不是現有 Web 伺服器所在的可用區域。

    4. IPv4 CIDR 區塊中,輸入要用於子網路 CIDR 區塊。例如,輸入 10.0.10.0/24

    5. 選擇 Yes, Create (是,建立)。

  4. 選取包含現有 Web 伺服器之公有子網路旁的核取方塊。這與您在先前步驟中建立的公有子網路不同。

  5. 在內容窗格中,選擇路由表標籤。然後選擇路由表的連結。

    在 Amazon VPC 主控台中選擇路由表連結。
  6. 選取路由表旁的核取方塊。

  7. 選擇子網路關聯標籤。然後選擇 Edit (編輯)

  8. 選取您先前在此程序中建立之公用子網路旁的核取方塊。然後選擇 Save (儲存)。

建立第二個 Web 伺服器

完成下列步驟,使用與現有 Web 伺服器相同的組態來建立第二個 Web 伺服器。

建立第二個 Web 伺服器
  1. 開啟 Amazon EC2 主控台的執行個體區段。

  2. 選取現有 Web 伺服器執行個體旁的核取方塊。

  3. 依序選擇 Actions (動作)Image (映像)Create Image (建立映像)

  4. Create Image (建立映像) 對話方塊中,執行下列動作:

    1. Image Name (映像名稱) 中,輸入映像的名稱。

    2. Image description (映像描述) 中,輸入映像的描述。

    3. 選擇 Create Image (建立映像)。這個動作會重新啟動現有的 Web 伺服器。

    4. 選擇檢視待處理映像 ami-<AMI ID>連結。

      在 Amazon EC2 主控台中選擇檢視待處理映像連結。

      狀態欄,注意您的映像狀態。當您的映像狀態是 available (可用) 時 (這可能需要幾分鐘),請移至下一個步驟。

  5. 在導覽窗格中,選擇執行個體

  6. 選取現有 Web 伺服器旁的核取方塊。

  7. 選擇 Actions (動作),然後選擇 Launch More Like This (啟動更多類似項目)

  8. 選擇 Edit AMI (編輯 AMI)

    在 Amazon EC2 主控台中選擇編輯 AMI 連結。
  9. 在左側導覽窗格中選擇我的 AMI。然後清除搜尋方塊中的文字。

  10. 在 Web 伺服器映像旁,選擇 Select (選取)

  11. 選擇是,我想要繼續此 AMI (<映像名稱> - ami-<AMI ID>)

  12. 選擇下一步

  13. 選取執行個體類型,然後選擇 Next: Configure Instance Details (下一步:設定執行個體的詳細資訊)

  14. Step 3: Configure Instance Details (步驟 3:設定執行個體詳細資訊) 中,執行下列動作:

    1. Network (網路) 中,選擇包含現有 Web 伺服器的 VPC。

    2. Subnet (子網路) 中,選擇您針對第二個 Web 伺服器建立的公有子網路。

    3. Auto-assign Public IP (自動指派公有 IP) 中,選擇 Enable (啟用)

    4. 依喜好變更剩餘的執行個體詳細資訊。然後選擇 Next: Add Storage (下一步:新增儲存體)

  15. 依喜好變更儲存設定。然後選擇 Next: Add Tags (下一步:新增標籤)。

  16. 依喜好新增或編輯標籤。然後選擇 Next: Configure Security Group (下一步:設定安全群組)

  17. Step 6: Configure Security Group (步驟 6:設定安全群組) 中,執行下列動作:

    1. Assign a security group (指派安全群組) 中,選擇 Select an existing security group (選取現有的安全群組)

    2. 選取名為 cloudhsm-<叢集 ID>-sg 的安全群組旁邊的核取方塊。 AWS CloudHSM 在建立叢集時代表您建立此安全群組。您必須選擇此安全群組,Web 伺服器執行個體才能連接到叢集內的 HSM。

    3. 選取允許傳入 HTTPS 流量之安全群組旁的核取方塊。您先前已建立此安全群組

    4. (選用) 選取允許從您的網路傳入 SSH (Linux) 或 RDP (Windows) 流量之安全群組旁的核取方塊。也就是說,安全群組必須允許連接埠 22 (適用於 Linux 上的 SSH) 或連接埠 3389 (適用於 Windows 上的 RDP) 上的傳入 TCP 流量。否則,您無法連接到用戶端執行個體。如果您沒有像這樣的安全群組,則必須建立一個安全群組,並於稍後指派給用戶端執行個體。

    選擇 Review and Launch (檢閱和啟動)。

  18. 檢閱您的執行個體詳細資訊,然後選擇 Launch (啟動)

  19. 選擇是否以現有的金鑰對啟動執行個體、建立新的金鑰對,或在沒有金鑰對的情況下啟動執行個體。

    • 若要使用現有的金鑰對,請執行下列動作:

      1. 選擇 Choose an existing key pair (選擇現有金鑰對)。

      2. Select a key pair (選取金鑰對) 中,選擇要使用的金鑰對。

      3. 選取我知道我能夠使用所選取的私有金鑰檔案 (<私有金鑰檔案名稱>.pem),也知道如果沒有此檔案,我將無法登入我的執行個體) 旁的核取方塊。

    • 若要建立新的金鑰對,請執行下列動作:

      1. 選擇 Create a new key pair (建立新的金鑰對)

      2. Key pair name (金鑰對名稱) 中,輸入金鑰對名稱。

      3. 選擇 Download Key Pair (下載金鑰對),然後將私有金鑰檔案儲存到安全又可存取的位置。

        警告

        此後,您就無法再次下載私有金鑰檔案。如果現在不下載私有金鑰檔案,您將無法存取用戶端執行個體。

    • 若要在沒有金鑰對的情況下啟動執行個體,請執行下列動作:

      1. 選擇 Proceed without a key pair (不使用金鑰對而繼續)

      2. 選取 I acknowledge that I will not be able to connect to this instance unless I already know the password built into this AMI (我知道除非我已擁有內建於此 AMI 的密碼,否則我將無法連接至此執行個體) 旁的核取方塊。

    選擇 Launch Instances (啟動執行個體)。

建立負載平衡器

完成以下步驟來建立 Elastic Load Balancing 負載平衡器,將 HTTPS 流量路由到您的 Web 伺服器。

建立負載平衡器
  1. 開啟 Amazon EC2 主控台中的負載平衡器區段。

  2. 選擇 Create Load Balancer (建立負載平衡器)

  3. Network Load Balancer (網路負載平衡器) 區段中,選擇 Create (建立)

  4. Step 1: Configure Load Balancer (步驟 1:設定負載平衡器) 中,執行下列動作:

    1. Name (名稱) 中,輸入您要建立之負載平衡器的名稱。

    2. 接聽程式區段中,將負載平衡器連接埠的值改為 443

    3. Availability Zones (可用區域) 區段的 VPC 中,選擇包含您的 Web 伺服器的 VPC。

    4. Availability Zones (可用區域) 區段中,選擇包含您 Web 伺服器的子網路。

    5. 選擇 Next: Configure Routing (下一步:設定路由)

  5. Step 2: Configure Routing (步驟 2:設定路由) 中,執行下列動作:

    1. Name (名稱) 中,輸入您要建立之目標群組的名稱。

    2. 連接埠的值改為 443

    3. 選擇 Next: Register Targets (下一步:註冊目標)

  6. Step 3: Register Targets (步驟 3:註冊目標) 中,執行下列動作:

    1. 執行個體區段中,選取您 Web 伺服器執行個體旁的核取方塊。然後選擇 Add to registered (新增至已註冊)

    2. 選擇下一步:檢閱

  7. 檢閱負載平衡器詳細資訊,然後選擇 Create (建立)

  8. 已成功建立負載平衡器時,請選擇 Close (關閉)

當您完成前面的步驟後,Amazon EC2 主控台會顯示您的 Elastic Load Balancing 負載平衡器。

當負載平衡器的狀態為作用中,您可以確認負載平衡器是否在運作。也就是說,您可以確認負載平衡器是否將 HTTPS 流量傳送到 Web 伺服器 (使用 SSL/TLS 卸載搭配 AWS CloudHSM)。若要這樣做,您可以使用 Web 瀏覽器或 OpenSSL s_client 之類的工具。

使用 Web 瀏覽器來確認負載平衡器是否在運作
  1. 在 Amazon EC2 主控台,尋找您剛建立之負載平衡器的 DNS 名稱。然後選取 DNS 名稱並將其複製。

  2. 透過 Web 瀏覽器 (例如 Mozilla Firefox 或 Google Chrome),使用負載平衡器的 DNS 名稱來連接到負載平衡器。請確定網址列中的 URL 開頭為 https://。

    提示

    您可以使用 DNS 服務 (例如 Amazon Route 53),將網站的網域名稱 (例如,https://www.example.com/) 路由到 Web 伺服器。如需詳細資訊,請參閱《Amazon Route 53 開發人員指南》或 DNS 服務文件中的將流量路由到 Amazon EC2 執行個體

  3. 使用您的 Web 瀏覽器來檢視 Web 伺服器憑證。如需詳細資訊,請參閱下列內容:

    • 若為 Mozilla Firefox,請參閱 Mozilla 技術支援網站上的檢視憑證

    • 若為 Google Chrome,請參閱 Google Web 開發人員工具網站上的了解安全問題

    其他 Web 瀏覽器可能有類似的功能,可供您用來檢視 Web 伺服器憑證。

  4. 請確定憑證是您將 Web 伺服器設定為要使用的憑證。

使用 OpenSSL s_client 來驗證負載平衡器是否在運作
  1. 使用以下 OpenSSL 命令使用 HTTPS 連接負載平衡器。以負載平衡器的 DNS 名稱取代 <DNS 名稱>

    openssl s_client -connect <DNS name>:443
    提示

    您可以使用 DNS 服務 (例如 Amazon Route 53),將網站的網域名稱 (例如,https://www.example.com/) 路由到 Web 伺服器。如需詳細資訊,請參閱《Amazon Route 53 開發人員指南》或 DNS 服務文件中的將流量路由到 Amazon EC2 執行個體

  2. 請確定憑證是您將 Web 伺服器設定為要使用的憑證。

您現在擁有一個使用 HTTPS 保護的網站,並將網頁伺服器的私密金鑰儲存在 AWS CloudHSM 叢集中的 HSM 中。您的網站有兩個 Web 伺服器和一個負載平衡器,有助於提升效率和可用性。