本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 Oracle GlassFish 遷移至 AWS Elastic Beanstalk
由 Sandeep Bondugula (AWS) 建立
Summary
此模式說明如何將內部部署 Oracle GlassFish 伺服器上執行的 Java 應用程式遷移至 AWS 雲端中的 AWS Elastic Beanstalk。
在 AWS 上,Java 應用程式部署在 Docker GlassFish 伺服器上,搭配在 Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling 群組中執行的 AWS Elastic Beanstalk。Amazon EC2 Auto Scaling
其他功能:
Amazon Elastic Beanstalk 做為數個基礎資源的包裝函式。它會設定 Elastic Load Balancing (處理來自 Amazon Route 53 的傳入流量)、將流量分散至一或多個 EC2 執行個體,以及做為部署工具。
若要將內部部署資料庫遷移至 Amazon Relational Database Service (Amazon RDS),請更新資料庫連線詳細資訊。在後端資料庫中,您可以設定 Amazon RDS Multi-AZ 部署,然後選擇資料庫引擎類型。
您可以使用多可用區域部署來實現高可用性,以及 Auto Scaling 群組和擴展政策來改善彈性。
您可以根據 Amazon CloudWatch 指標設定擴展政策。
在 AWS Elastic Beanstalk 中,您可以設定基礎 Elastic Load Balancing 設定和 Amazon EC2 Auto Scaling。
先決條件和限制
先決條件
作用中的 AWS 帳戶
在 GlassFish 上執行的內部部署 Java 應用程式
Java Web 應用程式資源 (WAR) 檔案
產品版本
Oracle Glassfish 4.1.2 和 5.0
Java 7 GlassFish 4.0
Java 8 GlassFish 4.1 或更新版本
架構
來源技術堆疊
GlassFish 開發的應用程式
目標技術堆疊
Elastic Beanstalk
目標架構

部署工作流程

工具
Amazon Elastic Beanstalk
– 在包括 Apache、NGINX、 Passenger 和 IIS 的伺服器上部署和擴展使用 Java、.NET、PHP、Node.js、Python、Ruby、Go 和 Docker 開發的 Web 應用程式和服務的服務。 Amazon CloudWatch
– 提供資料和可採取行動的洞見,以監控應用程式、回應全系統效能變更、最佳化資源使用率,並提供營運運作狀態的統一檢視。 Docker
– 將軟體封裝為標準化單元的平台,可快速建置、測試和部署應用程式。 Java
– 一般用途的程式設計語言。Java 是以類別為基礎、以物件為導向,旨在減少實作相依性。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
使用必要資訊建立虛擬私有雲端 (VPC) 執行個體。 | SysAdmin | |
在 VPC 內建立至少兩個子網路。 | SysAdmin | |
根據需求建立路由表。 | SysAdmin |
任務 | 描述 | 所需的技能 |
---|---|---|
建立 Amazon Simple Storage Service (Amazon S3) 儲存貯體。 | SysAdmin | |
將 WAR 檔案複製到 S3 儲存貯體,然後上傳應用程式碼。 | SysAdmin |
任務 | 描述 | 所需的技能 |
---|---|---|
建立 AWS Identity and Access Management (IAM) 角色。 | 您可以使用預設的 "aws-elasticbeanstalk-ec2-role" 設定檔,或讓 Elastic Beanstalk 自動建立設定檔。 | SysAdmin |
任務 | 描述 | 所需的技能 |
---|---|---|
開啟 Elastic Beanstalk 儀表板。 | SysAdmin | |
建立新的應用程式,然後選擇 Web 伺服器環境。 | SysAdmin | |
選擇 GlassFish Docker 作為預先設定的平台。 | SysAdmin | |
上傳程式碼。 | 從本機系統檔案提供 S3 儲存貯體檔案 URL 或 ZIP 檔案。 | SysAdmin |
選擇環境類型。 | 在組態容量設定中,選擇單一執行個體或Load Balancer。 | SysAdmin |
設定Load Balancer。 | 如果您在上一個步驟中選擇 Load Balancer,請設定異地同步備份部署。 | SysAdmin |
在組態安全性設定中,選擇先前建立的 IAM 角色。 | SysAdmin | |
在組態安全設定中,如果您有現有的金鑰對,請使用它或建立新的 Amazon EC2 金鑰對。 | SysAdmin | |
在組態監控設定中,設定 Amazon CloudWatch。 | SysAdmin | |
在組態安全性設定中,選擇先前建立的 VPC。 | SysAdmin | |
選擇建立環境。 | SysAdmin |
任務 | 描述 | 所需的技能 |
---|---|---|
使用建立環境中提供的 URL 來測試應用程式。 | ||
在 Amazon Route 53 中套用網域名稱服務 (DNS) 變更。 |