如何將 Application Load Balancer 與 Lightsail 執行個體關聯?

上次更新日期:2021 年 10 月 5 日

我想在 Amazon Lightsail 執行個體上使用 Amazon Application Load Balancer 的功能。要怎麼做?

簡短描述

您可以使用 Lightsail 負載平衡器為 Web 應用程式新增冗餘,或處理更多的 Web 流量。您還可以使用 Lightsail 負載平衡器,為在 Lightsail 執行個體中託管的網站安裝 Amazon 提供的 SSL 憑證

但是,與 Amazon Application Load Balancer 相比,Lightsail 負載平衡器具有局限性。以下是 Application Load Balancer 提供更高靈活性的一些方面:

  • 負載平衡器運作狀態檢查的靈活性。
  • 負載平衡器和執行個體之間傳輸之資料的端到端加密。
  • 使用 AWS WAF 等防火牆服務。

如果您想在 Lightsail 中為您的網站使用這些功能,您可以將 Application Load Balancer 與 Lightsail 執行個體相關聯。若要設定 Application Load Balancer,請執行以下操作:

  1. 在 Lightsail 中設定 Amazon VPC 對等互連,以允許執行個體連線到 AWS 資源,例如 Application Load Balancer。
  2. (選用) 如果要將其與您的網站關聯,請產生一個 AWS Certificate Manager (ACM) SSL 憑證。
  3. 將負載平衡器目標群組中的目標設定為 Lightsail 執行個體的私有 IP 地址。
  4. 將您的網域指向 DNS 中的新負載平衡器。

解決方案

在 Lightsail 中設定 VPC 對等互連

如需設定 VPC 對等互連的說明,請參閱設定 Amazon VPC 對等互連以使用在 Lightsail 外部的 AWS 資源

您必須為 Lightsail 執行個體所在的區域啟用 VPC 對等互連。為此,您必須在該區域擁有預設 Amazon VPC 以及必要的 AWS Identity and Access Management (IAM) 許可。如需詳細資訊,請參閱使用 VPC 對等互連在 Amazon Lightsail 與其他 AWS 服務之間設定通訊所需的最低 IAM 許可是什麼?

若要檢查您是否擁有預設 VPC,請參閱檢視您的預設 VPC 和預設子網路

如果您沒有預設的 Amazon VPC,則可以建立一個。如需詳細資訊,請參閱建立預設 VPC

(選用) 產生 ACM 憑證

若要將 ACM 憑證與您的網域關聯並使用 HTTPS 存取網站,請參閱使用主控台請求公有憑證

最好為憑證指定兩個名稱。例如,example.com*.example.com。這樣便可以將相同的憑證用於主網域和子網域,例如 www.example.comxyz.example.com。請記住,這不適用於二級子網域 (例如 abc.xyz.example.com) 的萬用字元 SSL 憑證。

同時,最好使用 DNS 網域驗證而不是電子郵件驗證。與電子郵件驗證相比,DNS 驗證具有多種優勢。

如果您在使用 DNS 或電子郵件驗證網域的擁有權時遇到問題,請參閱以下內容:

為負載平衡器設定目標群組並註冊目標

如需相關說明,請參閱設定目標群組

設定目標時,請記住以下幾點:

  • 確保選擇 IP 作為目標類型。
  • 如果您的 Lightsail 執行個體中沒有安裝 SSL 憑證,請將協議保持為 HTTP,並將連接埠保持為 80。確保您的執行個體中沒有設定任何 HTTPS 重新引導。否則,這可能會導致無限重新引導循環錯誤。
  • 保持協議為 HTTPS,連接埠為 443。如果您想對從 Application Load Balancer 傳輸到 Lightsail 執行個體的資料進行加密,請確保執行個體中已安裝 SSL 憑證。
  • 在 VPC 區段選擇預設 VPC
  • Register target (註冊目標) 區段,選擇 Network (網路) 下的 Other Private IP addresses (其他私有 IP 地址),並指定 Lightsail 執行個體的私有 IP 地址。如需有關取得 Lightsail 執行個體私有 IP 地址的資訊,請參閱執行個體的私有和公有 IPv4 地址

設定負載平衡器

如需相關說明,請參閱設定負載平衡器和偵聽程式

設定負載平衡器時,請記住以下幾點:

  • 確保選擇預設 VPC 和至少兩個可用區域。您可以選擇任意可用區域。
  • 選擇一個安全群組或建立一個新的。確保安全群組已開啟連接埠 80。此外,如果您將 ACM 憑證連接到負載平衡器,請開啟連接埠 443。
  • 如果您想使用 ACM 憑證透過 HTTPS 存取您的網站,請新增 HTTPS 偵聽程式。
  • 將 HTTP 和 HTTPS 偵聽程式都指向在上一步中建立的目標群組。

更新網域的 DNS 項目以指向 ALB DNS 名稱

最佳實務是將 Amazon 名稱伺服器和 Amazon Route 53 用於使用 Application Load Balancer 的網站網域。這是因為 AWS 為負載平衡器提供 DNS 名稱,而不是 IP 地址。大多數名稱伺服器不支援為頂級網域 (例如 example.com) 新增主機名稱。它們只為像 www.example.com 或 blog.example.com 這樣的子網域提供此支援。但是,Route 53 提供別名功能,可讓您將頂級網域 example.com 直接指向負載平衡器 DNS 名稱。

注意:即使您將 Lightsail DNS 用於網域,您也必須將 DNS 切換到 Route 53。這是因為無法將頂點網域指向 Lightsail DNS 中的 Application Load Balancer DNS 名稱。

如果網域尚未使用 Amazon,並且想要將網域的名稱伺服器更新為 Amazon,請參閱將 Route 53 設定為正在使用之網域的 DNS 服務

若要取得負載平衡器的 DNS 名稱,請參閱取得 ELB 負載平衡器的 DNS 名稱

若要更新您的 Route 53 託管區域以將網域指向負載平衡器 DNS 名稱,請參閱將流量路由到 ELB 負載平衡器

注意:如果 Route 53 中已有指向 EC2 執行個體 IP 地址的網域 DNS 記錄,請編輯這些記錄而不是新增新記錄。

最後的檢查

在瀏覽器中存取該網域並確認網站載入正確。現在,您已將 Application Load Balancer 與 Lightsail 執行個體連線,可以使用 Lightsail 負載平衡器所不具備的一些功能。您還可以設定 AWS WAF 等防火牆服務。


此文章是否有幫助?


您是否需要帳單或技術支援?