AWS Elastic Beanstalk

更新 發佈閱讀 6 分鐘

AWS Elastic Beanstalk 是 AWS 提供的 「平台即服務 (PaaS)」

一句話總結:它是開發者在 AWS 上部署網頁應用程式 (Web Apps) 「最快、最簡單」的方法。你只需要上傳程式碼 (Code),Elastic Beanstalk 就會自動幫你搞定剩下的基礎設施(開 EC2、設 Load Balancer、設定 Auto Scaling)。

這對於只想專注寫程式、不想花時間管伺服器設定的開發者來說,是首選工具。

以下是 AWS Elastic Beanstalk 的主要功能與運作機制整理:


1. 核心功能 (Core Features)

A. 自動化基礎設施佈建 (Automated Provisioning)

  • 你只要做一件事:上傳程式碼(ZIP 檔或透過 Git)。
  • 它幫你做所有事:選擇並啟動作業系統 (OS)。安裝語言執行環境 (如 Java, Python, Node.js)。設定 Load Balancer (ELB) 處理流量。設定 Auto Scaling Group (ASG) 處理擴展。設定 Security Groups 防火牆。

B. 廣泛的平台支援 (Platform Support)

它支援目前最主流的程式語言與伺服器環境:

  • 語言:Java, .NET, PHP, Node.js, Python, Ruby, Go。
  • 伺服器:Tomcat, IIS, Passenger, Puma。
  • 容器:Docker (如果你用的語言不在上述清單,打包成 Docker 就能跑)。

C. 兩種環境層級 (Environment Tiers) —— 考試重點!

Beanstalk 根據應用程式的用途,提供兩種架構模式:

  1. Web Server Environment (Web 伺服器環境):用來處理 HTTP 請求(網站前端、API)。架構:Route 53 →→ ELB →→ EC2。
  2. Worker Environment (工作者環境):用來處理後台長任務(如影片轉檔、發送 Email)。架構:SQS Queue →→ EC2 (背景程式從 Queue 抓任務來做)。考試題:如果你覺得 Web Server 負載太重,可以把耗時的任務拆出來放到 Worker Tier。

2. 進階管理功能 (Advanced Management)

D. 部署策略 (Deployment Policies) —— 考試必考!

當你要更新程式碼時,Beanstalk 提供多種策略來避免服務中斷:

  1. All at once:一次更新所有機器(會停機,速度最快)。
  2. Rolling:分批更新(如每次更新 30% 機器,服務不中斷但效能會降低)。
  3. Rolling with additional batch:先多開一批新機器來更新,確保總容量不變。
  4. Immutable (不可變):直接開一整組全新的 ASG 跑新版本,確認沒問題後切換過去,舊的刪掉。最安全但最慢。
  5. Blue/Green (藍綠部署):這不是透過 Policy 設定,而是建立一個全新的環境。透過 CNAME Swap (交換 URL),瞬間將流量從舊環境切到新環境。

E. 監控與日誌 (Monitoring & Logging)

  • Health Dashboard:提供紅綠燈狀態(Green = OK, Red = 壞掉)。
  • CloudWatch 整合:自動收集 CPU、記憶體等指標。
  • Log Rotation:自動將應用程式日誌傳送到 S3 或 CloudWatch Logs 保存。

F. 設定即代碼 (Configuration as Code)

  • .ebextensions 資料夾:這是 Beanstalk 的靈魂。你可以在程式碼根目錄放一個 .config 檔案(YAML 格式),在裡面寫:「我要安裝 Linux 套件」、「我要修改 PHP.ini 設定」、「我要建立一個 DynamoDB」。這讓環境設定可以跟著程式碼一起被版控。

3. 雖然是 PaaS,但保留控制權

  • 很多 PaaS 是黑盒子(你碰不到底層),但 Elastic Beanstalk 不是。
  • 完全控制權:它幫你開好 EC2 後,你依然可以 SSH 進去,依然可以在 EC2 Console 看到那些機器。你隨時可以接手管理。

4. 超級比一比:Beanstalk vs. CloudFormation vs. OpsWorks

raw-image



5. 考試/實務 關鍵字 (Keywords)

  • "Quickest / Easiest way to deploy web application" (部署 Web App 最快/最簡單的方法)。
  • "Platform as a Service (PaaS)"。
  • "Upload code and handle capacity provisioning/scaling" (上傳代碼並處理容量佈建/擴展)。
  • Worker Tier / SQS (處理背景任務)。
  • Blue/Green Deployment using CNAME Swap (利用交換網址進行藍綠部署)。
  • .ebextensions (設定檔)。
  • Docker (支援未列出的語言)。

總結

如果你不想當個「伺服器管理員」,只想專心把網站寫好並發布上線,選 AWS Elastic Beanstalk 就對了。

留言
avatar-img
郝信華 iPAS AI應用規劃師 學習筆記
43會員
571內容數
現職 : 富邦建設資訊副理 證照:經濟部 iPAS AI應用規劃師 初級+中級(數據分析) AWS Certified AI Practitioner (AIF-C01) 其他:富邦美術館志工
2025/12/04
AWS Launch Wizard 是 AWS 提供的一個 「引導式部署服務」。 一句話總結:它是一個「安裝精靈 (Wizard)」,專門用來幫助你依照 AWS 最佳實踐,輕鬆地在 AWS 上部署「複雜的第三方企業應用程式」(如 Microsoft SQL Server, SAP)。 通常這些軟
Thumbnail
2025/12/04
AWS Launch Wizard 是 AWS 提供的一個 「引導式部署服務」。 一句話總結:它是一個「安裝精靈 (Wizard)」,專門用來幫助你依照 AWS 最佳實踐,輕鬆地在 AWS 上部署「複雜的第三方企業應用程式」(如 Microsoft SQL Server, SAP)。 通常這些軟
Thumbnail
2025/12/04
AWS Professional Services (簡稱 AWS ProServe) 是 AWS 官方的 「全球專業顧問團隊」。 一句話總結:AWS 不只賣你在雲端上的「工具 (Services)」,也提供「真人專家 (Experts)」來教你怎麼用、幫你規劃架構、甚至帶領你進行大規模遷移。
Thumbnail
2025/12/04
AWS Professional Services (簡稱 AWS ProServe) 是 AWS 官方的 「全球專業顧問團隊」。 一句話總結:AWS 不只賣你在雲端上的「工具 (Services)」,也提供「真人專家 (Experts)」來教你怎麼用、幫你規劃架構、甚至帶領你進行大規模遷移。
Thumbnail
2025/12/04
AWS Service Catalog 是一項協助企業進行 「IT 服務管理與治理」 的服務。 一句話總結:它就像是企業內部的「IT 自動販賣機」。管理員先上架好符合公司規定的「商品 (AWS 架構模板)」,然後讓開發人員自己去點選購買(部署),既能滿足開發者的速度需求,又能確保安全合規。 這是
2025/12/04
AWS Service Catalog 是一項協助企業進行 「IT 服務管理與治理」 的服務。 一句話總結:它就像是企業內部的「IT 自動販賣機」。管理員先上架好符合公司規定的「商品 (AWS 架構模板)」,然後讓開發人員自己去點選購買(部署),既能滿足開發者的速度需求,又能確保安全合規。 這是
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
如何查詢 CloudTrail Event history 使用 Event name 篩選 RequestSpotFleet CloudTrail Event history 使用 Resource name 篩選,該 Request ID (提提知道ID) 使用上述查詢,目的是為了
Thumbnail
如何查詢 CloudTrail Event history 使用 Event name 篩選 RequestSpotFleet CloudTrail Event history 使用 Resource name 篩選,該 Request ID (提提知道ID) 使用上述查詢,目的是為了
Thumbnail
由於客戶需要透過  Cost Explorer 來監控 ECS Fargate tasks 成本,ECS 設置需要的 Tag 標籤, AWS Billing (Cost allocation tags)啟用 Tag 後,還是沒出現。 原因是,ECS Cluster 本生沒有產生費用,故才未
Thumbnail
由於客戶需要透過  Cost Explorer 來監控 ECS Fargate tasks 成本,ECS 設置需要的 Tag 標籤, AWS Billing (Cost allocation tags)啟用 Tag 後,還是沒出現。 原因是,ECS Cluster 本生沒有產生費用,故才未
Thumbnail
Fleet Manager (AWS Systems Manager 的功能) 是統一的使用者界面 (UI) 體驗,可助您遠端管理在 AWS 或內部部署上執行的受管節點 利用 Fleet Manager,您可以從單一主控台檢視整個伺服器機群的運作狀態和效能狀態 Fleet Manager 有哪些
Thumbnail
Fleet Manager (AWS Systems Manager 的功能) 是統一的使用者界面 (UI) 體驗,可助您遠端管理在 AWS 或內部部署上執行的受管節點 利用 Fleet Manager,您可以從單一主控台檢視整個伺服器機群的運作狀態和效能狀態 Fleet Manager 有哪些
Thumbnail
以下是限制 S3 bucket 訪問 HTTPS 的方法 測試 S3 存儲桶訪問 S3 bucket 通常允許 HTTP 和 HTTPS 訪問 AWS CLI 預設通常使用 HTTPS 向 AWS 服務發送請求 https://docs.aws.amazon.com/zh_tw/cli/l
Thumbnail
以下是限制 S3 bucket 訪問 HTTPS 的方法 測試 S3 存儲桶訪問 S3 bucket 通常允許 HTTP 和 HTTPS 訪問 AWS CLI 預設通常使用 HTTPS 向 AWS 服務發送請求 https://docs.aws.amazon.com/zh_tw/cli/l
Thumbnail
有這一篇原因是工作上,建立 OU 時,會自動新增額外的 FullAWSAccess 規則,但原本就會有預設Root OU繼承的FullAWSAccess,等於會有兩組一樣的規則,故所以詢問了AWS Support。 先謝謝 AWS 技術支援工程師 George 細心說明~ SCP很重要的
Thumbnail
有這一篇原因是工作上,建立 OU 時,會自動新增額外的 FullAWSAccess 規則,但原本就會有預設Root OU繼承的FullAWSAccess,等於會有兩組一樣的規則,故所以詢問了AWS Support。 先謝謝 AWS 技術支援工程師 George 細心說明~ SCP很重要的
Thumbnail
可以分析源代碼並檢查在遷移到 AWS Graviton 時需要更改的過時運行library 優化 aws 成本的方法之一是遷移到並採用具有高性價比的AWS Graviton 推薦使用AWS Graviton,從可持續性的角度來看,它有很好的表現 但有需要注意的地方: 不適用於所有操作系統和實
Thumbnail
可以分析源代碼並檢查在遷移到 AWS Graviton 時需要更改的過時運行library 優化 aws 成本的方法之一是遷移到並採用具有高性價比的AWS Graviton 推薦使用AWS Graviton,從可持續性的角度來看,它有很好的表現 但有需要注意的地方: 不適用於所有操作系統和實
Thumbnail
每個 AWS 帳戶所對應的Availability Zones會有所不同,查看方式可以至EC2 Console 中的EC2 Dashboard。
Thumbnail
每個 AWS 帳戶所對應的Availability Zones會有所不同,查看方式可以至EC2 Console 中的EC2 Dashboard。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News