從 Oracle GlassFish 遷移至 AWS Elastic Beanstalk - AWS Prescriptive Guidance

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從 Oracle GlassFish 遷移至 AWS Elastic Beanstalk

由桑迪普邦杜古拉(AWS)創建

R 類型 主體變更

來源:應用程式開發

目標:AWS Elastic Beanstalk

建立者:AWS

環境:PoC 或試驗

Technologies 容器與微服務;網站與 Web 應用程式;移轉

工作負載:開放原始碼;Oracle

AWS 服務 AWS Elastic Beanstalk

Summary

此模式描述如何將在現場部署 Oracle GlassFish 伺服器上執行的 Java 應用程式遷移到 AWS 雲端中的 AWS 彈性 Beanstalk。 

在 AWS 上,Java 應用程式部署在具有 AWS Elastic Beanstalk 的 Docker GlassFish 伺服器上,該伺服器在 Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling 群組中執行。 

其他功能:

  • 亞馬遜 Elastic Beanstalk 充當幾個基礎資源的包裝器。它設置了 Elastic Load Balancing(處理來自 Amazon Route 53 的傳入流量),將流量分散到一個或多個 EC2 執行個體,並作為部署工具。

  • 若要將現場部署資料庫遷移至 Amazon Relational Database Service (Amazon RDS),請更新資料庫連線詳細資料。在後端資料庫中,您可以設定 Amazon RDS 異地同步備份部署並選擇資料庫引擎類型。 

  • 您可以使用異地同步備份部署以獲得高可用性,以及 Auto Scaling 群組和擴展原則,以改善恢復能力。

  • 您可以根據 Amazon CloudWatch 指標設定擴展政策。

  • 在 AWS Elastic Beanstalk 中,您可以設定基礎的 Elastic Load Balancing 設定和 Amazon EC2 Auto Scaling。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 在 GlassFish 上運行的內部部署 Java 應用程序 

  • Java Web 應用程式資源 (WAR) 檔案

產品版本

  • 甲骨文 4.1.2 和 5.0

  • Java 7 GlassFish 4.0

  • 爪哇 8 GlassFish 4.1 或更高版本

Architecture

來源技術堆疊

  • 在 GlassFish 開發的應用

目標技術堆疊

  • Elastic Beanstalk

目標架構

部署工作流程

Tools

  • Amazon Elastic Beanstalk— 一項服務,可供您在伺服器 (包含 Apache、NGINX、Passenger 和 IIS) 上,針對使用 Java、.NET、PHP、Node.js、Python、Python、Python、Python、Python、Python、Python、Python、Python、Python、Python、Python、Python、Ruby、Ruby、Go 和 Docker 開發的 Web 應用程式和

  • Amazon CloudWatch— 提供資料和可行的洞見來監控應用程式、回應整個系統的效能變化、最佳化資源使用情況,並提供整合的運作狀態檢視。

  • Docker— 將軟體封裝成標準化單元的平台,以便快速建置、測試及部署應用程式。 

  • Java— 一般用途的程式設計語言。Java 是基於類的,面向對象的,並且旨在具有更少的實現依賴關係。

Epics

任務描述必要技能
建立含有所需資訊的虛擬私有雲端 (VPC) 執行個體。

SysAdmin
在 VPC 內建立至少兩個子網路。

SysAdmin
根據需求建立路由表。

SysAdmin
任務描述必要技能
建立 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

SysAdmin
將 WAR 檔案複製到 S3 儲存貯體並上傳應用程式碼。

SysAdmin
任務描述必要技能
建立 AWS Identity and Access Management (IAM) 角色。

您可以使用預設的「aws-elasticbeanstalk-ec2-角色」設定檔,或讓 Elastic Beanstalk 自動建立它。

SysAdmin
任務描述必要技能
開啟 Elastic Beanstalk 儀表板。

SysAdmin
建立新的應用程式並選擇 Web 伺服器環境。

SysAdmin
選擇 GlassFish 泊塢窗作為預配置的平台。

SysAdmin
上傳程式碼。

從本機系統檔案提供 S3 儲存貯體檔案 URL 或 ZIP 檔案。

SysAdmin
選擇環境類型。

在 [組態容量設定] 中,選擇 [單一執行個體] 或 [Load Balancer]。

SysAdmin
設定 Load Balancer。

如果您在上一個步驟中選擇了 Load Balancer,請設定異地同步備份部署。

SysAdmin
在組態安全性設定中,選擇先前建立的 IAM 角色。

SysAdmin
在組態安全設定中,如果您有現有的 key pair,請使用它或建立新的 Amazon EC2 金鑰對。

SysAdmin
在配置監控設置中,配置 Amazon CloudWatch 控。

SysAdmin
在「組態安全性」設定中,選擇先前建立的 VPC。

SysAdmin
選擇建立環境。

SysAdmin
任務描述必要技能
使用建立的環境中提供的 URL 來測試應用程式。

在 Amazon Route 53 應用域名服務(DNS)更改。