從 Oracle GlassFish 遷移至 AWS Elastic Beanstalk - AWS 方案指引

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

從 Oracle GlassFish 遷移至 AWS Elastic Beanstalk

由 Sandeep Bondugula (AWS) 建立

Summary

此模式說明如何將內部部署 Oracle GlassFish 伺服器上執行的 Java 應用程式遷移至 AWS 雲端中的 AWS Elastic Beanstalk。 

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

其他功能:

  • Amazon 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) 檔案

產品版本

  • Oracle Glassfish 4.1.2 和 5.0

  • Java 7 GlassFish 4.0

  • Java 8 GlassFish 4.1 或更新版本

架構

來源技術堆疊

  • GlassFish 開發的應用程式

目標技術堆疊

  • Elastic Beanstalk

目標架構

將內部部署 Oracle GlassFish 伺服器上的 Java 應用程式遷移至 AWS 雲端中的 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) 變更。

相關資源