首頁 > 後端開發 > php教程 > 使用 AWS Elastic Beanstalk 和獨立 ALB 部署多個 PHP 應用程式

使用 AWS Elastic Beanstalk 和獨立 ALB 部署多個 PHP 應用程式

Barbara Streisand
發布: 2025-01-05 02:57:39
原創
1064 人瀏覽過

Deploying Multiple PHP Applications Using AWS Elastic Beanstalk with a Standalone ALB

在本指南中,我們將使用 AWS Elastic Beanstalk (EB) 環境部署多個 PHP 應用程序,並為所有環境配置單一獨立的應用程式負載平衡器 (ALB)。本文結合實際實現,闡述如何在一個集中式 ALB 下管理多個具有專用目標群組的 Elastic Beanstalk 環境。

概述

我們將設定多個 PHP 應用程式作為單獨的 EB 環境。我們不會為每個環境配置負載平衡器,而是為每個環境使用一個具有專用目標群組的 ALB。這種方法具有成本效益,簡化了管理,並確保對路由和擴展的集中控制。

建築

關鍵組件:

• Elastic Beanstalk 環境:每個 PHP 應用程式都在其環境中運行。
• 獨立 ALB:單一 ALB 處理所有傳入流量並將其路由至適當的目標群組。
• 目標群組:每個 Elastic Beanstalk 環境都有其用於路由的目標群組。

架構工作流程:

  1. ALB 接收所有應用程式的流量。
  2. ALB 上的偵聽器規則會根據主機標頭或路徑模式將流量路由到正確的目標群組。
  3. 目標群組將流量轉送到對應 Elastic Beanstalk 環境的註冊實例。

逐步指南

第 1 步:設定 Elastic Beanstalk 環境
為 PHP 應用程式建立單獨的環境:

  1. 開啟 Elastic Beanstalk 控制台。
  2. 點擊建立應用程式並配置: • 應用程式名稱:PHP-App-1。 • 平台:選擇PHP。 • 環境:選擇Web 伺服器環境。
  3. 上傳包含 PHP 應用程式的 .zip 套件(例如,index.php、composer.json)。
  4. 部署應用程式。
  5. 對其他應用程式重複這些步驟(例如 PHP-App-2、PHP-App-3)。

第 2 步:建立獨立 ALB

建立 ALB:

  1. 前往 EC2 控制台 >負載平衡器。
  2. 點擊建立負載平衡器並選擇應用程式負載平衡器。
  3. 配置: • 名稱:獨立專輯。 • 方案:面向互聯網。 • 偵聽器:新增HTTPS 偵聽器(連接埠443)。 • 可用區:選擇與您的 Elastic Beanstalk 環境相同的區域。
  4. 點選「建立」。

使用 Elastic Beanstalk 註冊 ALB:

  1. 導覽至每個 Elastic Beanstalk 環境。
  2. 在「配置」下,將環境連結到新建立的 ALB。
  3. 確保健康檢查與 ALB 配置一致。

步驟 3:為每個環境設定目標群組

建立目標群組:

  1. 前往 EC2 控制台 >目標群組。
  2. 點選每個 Elastic Beanstalk 環境的建立目標群組。 • 名稱:範例:php-app-1-tg。 • 目標類型:實例。 • 協定:HTTP。 • 連接埠:80。 • 健康檢查路徑:/(或應用程式中定義的自訂端點)。
  3. 將對應 Elastic Beanstalk 環境的執行個體新增至目標群組。
  4. 導覽至每個目標群組中的「目標」標籤並確認註冊的執行個體運作狀況良好。

第 4 步:將偵聽器規則加入 ALB

  1. 前往 ALB 控制台 >聽眾> HTTP:80 >編輯規則。
  2. 為每個目標群組新增規則: • 條件:使用主機標頭來匹配 Elastic Beanstalk 環境域(例如 php-app-1.elasticbeanstalk.com)。 • 操作:將流量轉送到對應的目標群組(例如 php-app-1-tg)。
  3. 對所有環境重複此程序。

測試設定
• 模擬流量以驗證ALB 是否根據偵聽器規則將請求正確轉送至適當的目標群組。
• 檢查每個目標群組的運作狀況,以確保所有執行個體都運作良好並如預期般接收流量。
• 使用curl 或Postman 等工具將請求直接傳送到ALB DNS 端點。確認流量已路由到正確的 Elastic Beanstalk 環境並傳回預期回應。

主要優點:

1。成本效率: 透過為所有環境使用一個 ALB 來降低基礎設施成本。
2.簡化管理: 將流量路由和偵聽器規則配置集中在一個地方。
3.可擴充性: 支援每個環境的目標群組的獨立擴展。
4.增強的流量控制: 透過 ALB 偵聽器規則提供精細路由。
5.集中運作狀況監控: 整合所有環境的運作狀況檢查。

結論

透過將單一 ALB 與多個 Elastic Beanstalk 環境的目標群組結合使用,您可以實現經濟高效、可擴展且集中的 PHP 應用程式託管解決方案。

以上是使用 AWS Elastic Beanstalk 和獨立 ALB 部署多個 PHP 應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板