開始免費使用 AWS

建立免費帳戶
或者,請登入主控台

獲得 12 個月的 AWS 免費用量方案,同時享受 AWS 的基本支援功能,包括全年無休的客戶服務、支援論壇等等。

問:什麼是 AWS Elastic Beanstalk?
AWS Elastic Beanstalk 讓開發人員能夠更加輕鬆地在 AWS 雲端中快速部署和管理應用程式。開發人員只需上傳應用程式,Elastic Beanstalk 將自動處理容量佈建、負載平衡、自動擴展和應用程式運作狀態監控的部署細節。

問:哪些使用者應該使用 AWS Elastic Beanstalk?
希望在 AWS 雲端中快速部署和管理應用程式的使用者。無需熟悉雲端運算即可使用該服務。AWS Elastic Beanstalk 可支援 Java、.NET、PHP、Node.js、Python、Ruby、Go 和 Docker Web 應用程式。

問:AWS Elastic Beanstalk 支援哪些語言和開發堆疊?
AWS Elastic Beanstalk 支援以下語言和開發堆疊:

  • 適用於 Jave 應用程式的 Apache Tomcat
  • 適用於 PHP 應用程式的 Apache HTTP 伺服器
  • 適用於 Python 應用程式的 Apache HTTP 伺服器
  • Node.js 應用程式的 Nginx 或 Apache HTTP 伺服器
  • 適用於 Ruby 應用程式的 Passenger 或 Puma
  • 適用於 .NET 應用程式的 Microsoft IIS 7.5、8.0 和 8.5
  • Java SE
  • Docker
  • Go

請參閱支援的平台以取得支援語言和開發堆疊的最新完整清單。

問:AWS Elastic Beanstalk 是否還支援其他語言?
是。AWS Elastic Beanstalk 經過精心設計,以便將來可以擴展支援多種開發堆疊和程式設計語言。AWS 正在與解決方案供應商合作建立其他 Elastic Beanstalk 服務所需的 API 和功能。

問:開發人員現在可以透過 AWS Elastic Beanstalk 執行哪些以前無法執行的功能?
AWS Elastic Beanstalk 可自動執行容量佈建、負載平衡、自動擴展和應用程式部署的細節,建立一個執行您應用程式版本的環境。您只需上傳可部署的程式碼 (如 WAR 檔),剩餘工作則可由 AWS Elastic Beanstalk 執行。藉助 AWS Toolkit for Visual Studio 和 AWS Toolkit for Eclipse,即可將應用程式部署到 AWS Elastic Beanstalk 並進行管理,而不必離開 IDE。一旦應用程式執行,Elastic Beanstalk 就會自動執行監控、應用程式版本部署、基本運作狀態檢查等管理任務,並協助日誌檔存取。使用 Elastic Beanstalk,開發人員可著重在開發應用程式,無須再處理佈建伺服器、設定負載平衡或管理擴展等方面的部署任務。

問:AWS Elastic Beanstalk 與現有的應用程式容器或平台即服務解決方案有何不同?
大多數現有的應用程式容器或平台即服務解決方案在減少所需的程式設計量的同時,會大大降低開發人員的靈活性和控制。開發人員被迫迎合廠商預先做出的所有決定,很少有機會能夠拿回對其應用程式基礎設施各個部分的控制權。而使用 AWS Elastic Beanstalk,開發人員可保留對支援其應用程式的 AWS 資源的完整控制。如果開發人員決定要管理基礎設施的部分 (或所有) 元素,可以使用 Elastic Beanstalk 的管理功能無縫執行此操作。

問:使用 AWS Elastic Beanstalk 時可以控制應用程式的哪些元素?
使用 AWS Elastic Beanstalk,您可以:

  • 選擇與您的應用程式要求相符的作業系統 (例如,Amazon Linux 或 Windows Server 2012 R2)
  • 從一些可用的資料庫和儲存選項中選擇
  • 能夠登入存取 Amazon EC2 執行個體,以即時並直接的排除故障
  • 透過在多個可用區域執行,快速提高應用程式可靠性
  • 透過在負載平衡器上啟用 HTTPS 通訊協定,增強應用程式安全性
  • 存取內建 Amazon CloudWatch,監控和取得應用程式運作狀態及其他重要事件的通知
  • 調整應用程式伺服器設定 (如 JVM 設定) 和傳送環境變數
  • 在 Amazon EC2 中並列執行其他應用程式元件,例如記憶體快取服務
  • 不登入應用程式伺服器即可存取日誌檔

問:哪些雲端資源可支援 AWS Elastic Beanstalk 應用程式?
AWS Elastic Beanstalk 使用經過驗證的 AWS 功能和服務,例如 Amazon EC2、Amazon RDS、Elastic Load Balancing、Auto Scaling、Amazon S3 和 Amazon SNS 來建立執行應用程式的環境。目前版本的 AWS Elastic Beanstalk 採用 Amazon Linux AMI 或 Windows Server 2012 R2 AMI。

問:AWS Elastic Beanstalk 支援哪些種類的應用程式?
AWS Elastic Beanstalk 可支援 Java、.NET、PHP、Node.js、Python、Ruby、Go 和 Docker,很適合用於 Web 應用程式。不過,由於 Elastic Beanstalk 為開放式架構,也可使用 Elastic Beanstalk 來部署非 Web 應用程式。預計將來還會支援其他應用程式類型和程式設計語言。請參閱支援的平台以進一步了解相關資訊。

問:AWS Elastic Beanstalk 採用哪些作業系統?
AWS Elastic Beanstalk 可在 Amazon Linux AMI 和 Windows Server 2012 R2 AMI 上執行。兩種 AMI 均受 Amazon Web Services 的支援和保護,旨在為 Amazon EC2 雲端運算提供穩定、安全和高效能的執行環境。

問:應用程式能夠多快開始執行?
通常需要花幾分鐘時間來建立執行應用程式的 AWS 資源,從您上傳應用程式版本 (例如,WAR 檔案、ASP.NET 檔案、Node.js 檔案、PHP 檔案、Python 檔案或 Ruby 檔案) 開始計算,到應用程式完全部署完成並可供使用者存取為止。所需時間取決於很多因素,包括:可部署程式碼的大小及部署的應用程式伺服器數量。

問:應用程式能夠多快取得更新?
將新應用程式版本部署到現有資源 (例如,環境) 的速度快很多 (通常不到一分鐘),主要取決於新應用程式版本的大小。

問:應用程式擴展和縮減的速度多快?
AWS Elastic Beanstalk 使用 Auto Scaling 提供真正的彈性環境。您的應用程式可以設定為根據 CPU 使用率或網路頻寬等閾值,自動擴展數十或數百倍。使用 Elastic Beanstalk 主控台可以輕鬆為特定的應用程式設定這些閾值。使用 Elastic Beanstalk,則無需擔心是否能夠快速擴展來處理高峰流量或使用者,也不必擔心是否會被迫為不需要的資源付費。

問:是否可以同時執行多個應用程式版本?
是。AWS Elastic Beanstalk 旨在支援多個執行環境,例如,一個用於整合測試,一個用於前期生產,另一個用於生產。每個環境可獨立設定,並在其各自的 AWS 資源中執行。此外,Elastic Beanstalk 還能隨時間存放和追蹤應用程式版本,以便輕鬆將現有環境復原到早期版本,或使用早期版本啟動新環境來嘗試和重現客戶問題。

問:使用 AWS Elastic Beanstalk 可以執行多少個應用程式?
您可以建立多達 75 個應用程式和 1,000 個應用程式版本。在預設情況下,您可以對所有應用程式執行多達 200 個環境。如果在 AWS Elastic Beanstalk 之外使用 AWS,則可能無法建立 10 個環境,因為可能更快達到其他限制。例如,預設的 AWS 帳戶限制允許您啟動多達 20 個 EC2 執行個體,並建立多達 10 個 Elastic Load Balancer。如果需要更多資源,請填寫 AWS Elastic Beanstalk 申請表,系統將立即評估您的請求。

問:是否可以使用 AWS Elastic Beanstalk 來部署必須具有高可用性的應用程式?
是。要執行此操作,您需要編輯環境資訊設定,為 Auto Scaling 下限選擇 2 個或更多個執行個體,並將多個可用區域設定為 "Any 2"。AWS 可用區域的設計是實體不同、故障獨立、效能可靠。

問:如果應用程式停止回應請求,會發生什麼情況?
AWS Elastic Beanstalk 應用程式受到保護,以防基礎設施出現故障。如果 Amazon EC2 執行個體由於任何原因出現故障,AWS Elastic Beanstalk 將採用 Auto Scaling 自動啟動新的執行個體。即使基礎設施看起來運作正常,Elastic Beanstalk 也可以偵測應用程式是否對自訂的 URL 沒有回應,並將其作為環境事件加以記錄 (例如,部署的版本錯誤),以便您採取適當的動作。

問:哪些 AWS 區域提供 AWS Elastic Beanstalk?

請參閱區域性產品和服務,了解 Elastic Beanstalk 在不同區域的可用性詳細資訊。

問:如何存取 AWS Elastic Beanstalk?
您可以使用 AWS 管理主控台、AWS Elastic Beanstalk 命令列界面 (CLI)、AWS Toolkit for Visual Studio、AWS Toolkit for Eclipse、AWS Elastic Beanstalk API 或 AWS 開發套件。

問:是否可以使用 Eclipse 或 Microsoft Visual Studio 之類的整合式開發環境?
是。您可以使用 Eclipse 和 Visual Studio,將應用程式部署到 AWS Elastic Beanstalk。Java 應用程式可使用 AWS Toolkit for Eclipse,.NET 應用程式可使用 AWS Toolkit for Visual Studio。透過這些工具組,您可以開發應用程式,將其部署到 Elastic Beanstalk,甚至對其進行測試,而不必讓工作重點離開 IDE。

 



問:如何註冊 AWS Elastic Beanstalk?

要註冊 AWS Elastic Beanstalk,請選擇 Elastic Beanstalk 詳細資訊頁面上的立即註冊按鈕。您必須擁有 Amazon Web Services 帳戶才能存取此服務;如果您還沒有帳戶,系統將在您開始 Elastic Beanstalk 程序時提示您建立帳戶。註冊後,請參閱 AWS Elastic Beanstalk Getting Started Guide

問:註冊 AWS Elastic Beanstalk 時為什麼需要驗證我的電話號碼?

AWS Elastic Beanstalk 註冊要求您在 AWS 上登記有效電話號碼和電子郵件地址,以便我們需要聯繫您時使用。驗證您的電話號碼只需要幾分鐘時間。註冊過程中您會接到一通自動電話,然後需要您使用電話鍵盤輸入 PIN 碼。

問:註冊後,如何開始使用?

了解如何開始使用 AWS Elastic Beanstalk 的最佳方式就是仔細閱讀技術文件中的 AWS Elastic Beanstalk Getting Started Guide 部分。只需幾分鐘時間,您即可部署和使用範例應用程式或上傳自己的應用程式。

問:是否有範例應用程式可用來檢查 AWS Elastic Beanstalk?

是。AWS Elastic Beanstalk 包括範例應用程式,可用來試用產品及探索功能。

問:AWS Elastic Beanstalk 是否會在 Amazon S3 中存放任何內容?

是。AWS Elastic Beanstalk 會在 Amazon S3 中存放您的應用程式檔案及伺服器日誌檔 (可選)。如果使用 AWS 管理主控台、AWS Toolkit for Visual Studio 或 AWS Toolkit for Eclipse,系統會在您的帳戶為您建立一個 Amazon S3 儲存貯體,而且會將您上傳的檔案自動從本機用戶端複製到 Amazon S3。您還可以選擇將 Elastic Beanstalk 設定為每小時複製伺服器日誌檔到 Amazon S3。透過編輯環境資訊設定,可完成上述操作。

問:是否可以使用 Amazon S3 來存放映像之類的應用程式資料?

是。您可以使用 Amazon S3 來儲存應用程式。最簡單的方法是將 AWS 開發套件作為應用程式可部署檔案的一部分包括在內。例如,您可以將適用於 Java 的 AWS 開發套件包括在應用程式 WAR 檔中。

問:AWS Elastic Beanstalk 可與哪些資料庫解決方案一起使用?

AWS Elastic Beanstalk 不會限制您使用任何特定的資料永續性技術。您可以選擇使用 Amazon Relational Database Service (Amazon RDS) 或 Amazon DynamoDB,或使用 Microsoft SQL Server、Oracle 或其他在 Amazon EC2 上執行的關聯式資料庫。

問:如何設定資料庫以供 AWS Elastic Beanstalk 使用?

Elastic Beanstalk 可以自動佈建 Amazon RDS 資料庫執行個體。您的應用程式可透過環境變數了解資料庫執行個體的連線資訊。要進一步了解如何為您的環境設定 RDS 資料庫執行個體,請參閱 Elastic Beanstalk Developer Guide

問:這是否表示從測試轉入生產時,我需要修改應用程式的程式碼?

使用 AWS Elastic Beanstalk,您無需修改。使用 Elastic Beanstalk,您可以在環境資訊中指定連線資訊。透過應用程式的程式碼擷取連線字串,可以輕鬆地設定不同的 Elastic Beanstalk 環境來使用不同的資料庫。

問:如何將應用程式設定為私有?

在預設情況下,您的應用程式會在 myapp.elasticbeanstalk.com 中公開,可供任何使用者存取。您可以使用 Amazon VPC,在您定義的虛擬網路中佈建一個私有、隔離的應用程式部分。透過特定的安全群組規則、網路 ACL 和自訂路由表可將此虛擬網路設定為私有。您也可以變更 EC2 安全群組設定,輕鬆地控制是否向應用程式伺服器傳送其他傳入流量 (如 SSH)。

問:是否能在 Virtual Private Cloud (VPC) 內執行我的應用程式?

是的,您可以在 VPC 內執行您的應用程式。有關更多詳細資訊,請參閱 AWS Elastic Beanstalk Developer Guide

問:在何處可以找到有關 AWS 安全性,以及在 AWS 上執行應用程式的詳細資訊?

如需有關 AWS 安全性的詳細資訊,請參閱我們的 Amazon Web Services: Overview of Security Processes 文件和瀏覽我們的安全中心

問:Identity & Access Management (IAM) 是否可以與 AWS Elastic Beanstalk 一起使用?

是。如果 IAM 使用者有適當的許可,現在可以與 AWS Elastic Beanstalk 進行互動。

問:為什麼應將 IAM 與 AWS Elastic Beanstalk 一起使用?

IAM 允許您集中管理使用者和群組。您可以控制哪些 IAM 使用者能夠存取 AWS Elastic Beanstalk,對於不能對 Elastic Beanstalk 資源執行動作的操作員,可將許可限制為唯讀存取。您帳戶內的所有使用者活動將彙總為一個 AWS 帳單。

問:如何建立 IAM 使用者?

您可以使用 IAM 主控台、IAM 命令列界面 (CLI) 或 IAM API 來佈建 IAM 使用者。在預設情況下,IAM 使用者在獲得許可之前不能存取 AWS 服務。

問:如何授與 IAM 使用者對 AWS Elastic Beanstalk 的存取權限?

您可以使用政策授與 IAM 使用者對服務的存取權限。要簡化授與 AWS Elastic Beanstalk 存取權限的程序,您可以在 IAM 主控台中使用其中一個政策範本來協助您開始使用。Elastic Beanstalk 提供兩種範本:唯讀存取權限範本和完整存取權限範本。唯讀範本授與對 Elastic Beanstalk 資源的讀取權限。完整存取權限範本可授與所有 Elastic Beanstalk 操作的完整存取權限,也可授與用來管理 Elastic Load Balancing、Auto Scaling 和 Amazon S3 等相依資源的許可。您也可以使用 AWS 政策產生器來建立自訂政策。有關更多詳細資訊,請參閱 AWS Elastic Beanstalk Developer Guide

問:是否可以限制特定 AWS Elastic Beanstalk 資源的存取權限?

是。您可以允許或拒絕對應用程式、應用程式版本和環境等特定 AWS Elastic Beanstalk 資源的許可。

問:誰需要支付 IAM 使用者建立的 AWS 資源費用?

IAM 使用者在根帳戶下建立的所有資源屬根帳戶所有,費用列入根帳戶。

問:哪些使用者可以存取 IAM 使用者啟動的 AWS Elastic Beanstalk 環境?

根帳戶對任何 IAM 使用者在該帳戶下啟動的所有 AWS Elastic Beanstalk 環境具有完整的存取權限。如果您使用 Elastic Beanstalk 範本授與 IAM 使用者唯讀權限,則該使用者將可查看所有應用程式、應用程式版本、環境及該帳戶中任何關聯的資源。如果使用 Elastic Beanstalk 範本對 IAM 使用者授與完整存取權限,則該使用者將能夠建立、修改和終止該帳戶下的任何 Elastic Beanstalk 資源。

問:IAM 使用者是否可以存取 AWS Elastic Beanstalk 主控台?

是。IAM 使用者可以使用其使用者名和密碼存取 AWS Elastic Beanstalk 主控台。

問:IAM 使用者是否可以呼叫 AWS Elastic Beanstalk API?

是。IAM 使用者可以使用其存取金鑰和私密金鑰執行使用 Elastic Beanstalk API 的操作。

問:IAM 使用者是否可以使用 AWS Elastic Beanstalk 命令列界面?

是。IAM 使用者可以使用其存取金鑰和私密金鑰,執行使用 AWS Elastic Beanstalk 命令列界面 (CLI) 的操作。

問:如何讓執行應用程式的基礎平台環境自動保持在最新狀態?

您可以選擇讓 AWS Elastic Beanstalk 環境在指定的維護時段中,將執行應用程式的基礎平台自動更新到最新版本。Elastic Beanstalk 會定期釋出支援平台的新版本 (Java、PHP、Ruby、Node.js、Python、.NET、Go 和 Docker) 以及作業系統、Web 與應用程式伺服器和語言與架構的更新。

問:如何開始使用受管平台更新?

為了讓 Elastic Beanstalk 自動管理平台更新,您必須在 Elastic Beanstalk 主控台的設定標籤或是使用 EB CLI 或 API 來啟用受管平台更新。啟用此功能後,即可設定允許更新的類型及進行更新的時間。

問:受管平台更新適用於哪種平台版本更新?

AWS Elastic Beanstalk 可以為新的修補程式和次要平台版本自動執行平台更新。Elastic Beanstalk 不會自動執行主要平台版本更新 (如 Java 7 Tomcat 7 到 Java 8 Tomcat 8),因為這些版本包含回溯不相容的變更,而且還需要進行其他測試。如果是這些情況,您必須手動啟動更新。

問:AWS Elastic Beanstalk 如何區分「主要」、「次要」和「修補程式」版本版次?

AWS Elastic Beanstalk 平台使用這個模式 MAJOR.MINOR.PATCH (如 2.0.0) 進行版本控制。每個部分的增量方式如下:

  • 有不相容的變更時為 MAJOR 版本。
  • 為了回溯相容性而新增其他功能時為「次要」版本。
  • 有回溯相容性錯誤修正時,則為「修補程式」版本。

問:執行主要版本更新的時間及方式為何?

您可以使用 AWS Elastic Beanstalk 管理主控台、API 或 CLI 來隨時執行主要版本更新。您有下列選項可執行主要版本更新:

問:Elastic Beanstalk 如何套用受管平台更新?

更新的套用方式是使用不可變的部署機制,以確保不會對現有環境進行變更,直到 Amazon EC2 執行個體平行叢集 (已安裝好更新) 準備好與現有的執行個體交換時,才會終止現有執行個體。此外,如果 Elastic Beanstalk 運作狀態系統在更新期間偵測到任何問題,流量會被重新導向到現有的執行個體叢集,以盡量減少對應用程式的最終使用者造成影響。

問:我的應用程式在維護時段還能使用嗎?

因為受管平台更新使用不可變的部署機制來執行更新,所以應用程式在維護時段仍能使用,而且您的應用程式消費者不會受到更新的影響。

問:使用受管平台更新的費用是多少?

使用受管平台更新功能無需額外付費。您只需要支付更新期間執行更新所需的額外 EC2 執行個體的費用。

問:什麼是維護時段?

維護時段是每週兩小時的時間空檔,如果啟用受管平台更新且有可用的新版平台時,AWS Elastic Beanstalk 就會在這個時段啟動平台更新。例如,如果您選擇的維護時段是在每週日的上午 2 點開始,AWS Elastic Beanstalk 會在每週日的上午 2 點到 4 點之間啟動平台更新。請特別注意,依您的應用程式組態而定,更新可能會在維護時段以外的時間完成。

維護時段的設定是以每個環境為基礎,讓您可為各種應用程式元件或應用程式選擇設定不同的維護時段。如果您不希望同時更新應用程式的多個部分,即可交錯安排環境更新的時間。如果啟用受管平台更新但未指定維護時段,則會為您的環境指派預設的每週 2 小時的時段。如果您希望變更代表您執行維護的時間,可在 AWS 管理主控台或使用 UpdateEnvironment API 修改受管更新組態。

問:如何收到有可用新平台版本的通知?

您可以透過 AWS 管理主控台、論壇公告和版本備註來收到可用新平台版本的通知。

問:哪裡可以找到平台版本間變更的詳細資訊?

平台版本間變更的詳細資訊可在 AWS Elastic Beanstalk 版本備註頁面上找到。

問:當受管更新進行時,可在環境執行哪些操作?

受管平台更新期間唯一可用的動作是「中止」。這個動作讓您立即停止更新並轉返到之前的版本。

問:如果在維護時段間發行多個新版本,我的環境會更新到哪個平台版本?

您的環境將一律根據您選擇的等級 (次要版本加修補程式或僅修補程式) 更新到最新的可用版本。

問:哪裡可以找到已在環境上執行的所有受管平台更新的詳細資訊?

每個受管平台更新的詳細資訊都在事件頁面上,而且標記為 "MAINTENANCE" 事件類型。

問:發行平台版本更新的頻率為何?

特定年度的版本版次數量取決於語言/架構廠商或核心團隊發佈的版本版次和修補程式的頻率和內容,以及由我們平台工程團隊負責版次和修補程式全面審查的最終結果。

問:AWS Elastic Beanstalk 的費用是多少?

AWS Elastic Beanstalk 不收取其他費用 – 您只需支付實際使用 AWS 資源存放和執行應用程式的費用。符合 AWS 免費方案資格的 AWS 新客戶,可以使用 Elastic Beanstalk 的預設設定來部署能在免費方案內執行的應用程式。

問:支援 AWS Elastic Beanstalk 上應用程式的 AWS 資源,其費用是多少?

您只需按實際用量付費,使用任何 AWS 資源都沒有最低費用。有關 Amazon EC2 定價資訊,請瀏覽 EC2 詳細資訊頁面上的定價部分。有關 Amazon S3 定價資訊,請瀏覽 S3 詳細資訊頁面上的定價部分。您可以使用 AWS 簡易計算器來估算不同應用程式大小的帳單。

問:如何查看應用程式已使用多少 AWS 資源並存取我的帳單?

只需登入您的 Amazon Web Services 帳戶,然後選擇您的 Web 服務帳戶下的帳戶活動,即可隨時在 Amazon Web Services 網站上查看目前帳單期間的費用。

問:AWS Support 是否對 AWS Elastic Beanstalk 提供支援?

是。對於 AWS Elastic Beanstalk 使用相關問題,AWS Support 都提供支援。有關其他詳細資訊和定價,請參閱 AWS Support 頁面。

問:還有哪些可用的支援選項?

透過 AWS Elastic Beanstalk 開發論壇,您可以了解廣泛的現有 AWS 社群知識,有助於進行開發。