使用二進位方法,將現場部署 Go Web 應用程式遷移至 AWS Elastic Beanstalk - AWS Prescriptive Guidance

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

使用二進位方法,將現場部署 Go Web 應用程式遷移至 AWS Elastic Beanstalk

由蘇哈斯巴薩瓦拉 (AWS) 創建

R 類型 主體變更

來源:應用程式

目標:Elastic Beanstalk

建立者:AWS

環境:PoC 或試驗

Technologies 網站與網路應用程式;移轉

AWS 服務 AWS Elastic Beanstalk

Summary

此模式描述如何將現場部署 Go Web 應用程式遷移至 AWS Elastic Beanstalk。遷移應用程式後,Elastic Beanstalk 會為原始碼套件建置二進位檔案,並將其部署至 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。

作為主機移轉策略,此模式的方法很快,不需要變更程式碼,這表示測試和移轉時間較少。 

先決條件和限制

先決條件

產品版本

  • Elastic Beanstalk 支援的最新 Go 1.14.x 版本。如需詳細資訊,請參閱 < 相關資源 > 一節。

Architecture

來源技術堆疊

  • 內部部署 Go Web 應用程式 

目標技術堆疊

  • AWS Elastic Beanstalk

  • Amazon CloudWatch

目標架構

Tools

  • AWS Elastic Beanstalk— AWS Elastic Beanstalk 可快速在 AWS 雲端中部署並管理應用程式,而不需要了解執行這些應用程式的基礎設施。Elastic Beanstalk 可降低管理複雜性而不會限制選擇或控制。

  • GitHub— 開放原始碼的分散式版本控制系統。

Epics

任務描述所需技能
創建 Go 應用程序的源包。

打開包含 Go 應用程序源代碼的 GitHub 存儲庫並準備源代碼包。源包包包含根目錄中的「application.go」源文件,它主機為您的 Go 應用程序的主包。如果您不使用 GitHub,請參閱 < 先決條件 > 一節以取得建立應用程式原始碼套件的其他方式。

系統管理員, 應用程式開發
建立組態檔案。

在源代碼包中創建一個「.ebextension」文件夾,然後在此文件夾中創建一個「options.config」文件。如需詳細資訊,請參閱 < 相關資源 > 一節。

系統管理員, 應用程式開發
建立來源服務包 .zip 檔案。

運行「git 存檔-o.. /godemoapp.zip 頭」命令。這會建立原始碼套件 .zip 檔案。下載並將 .zip 檔案儲存為本機檔案。重要:.zip 檔案不能超過 512 MB,且不能包含父資料夾或最上層目錄。

系統管理員, 應用程式開發
任務描述所需技能
選擇 Elastic Beanstalk 應用程式。

登入 AWS 管理主控台,並開啟 Elastic Beanstalk 主控台。從「區域」清單中選擇您的 AWS 區域。在導覽窗格中,選擇「應用程式」,然後選擇現有 Elastic Beanstalk 應用程式或建立一個。如需如何建立 Elastic Beanstalk 應用程式的指示,請參閱 < 相關資源 > 一節。

系統管理員, 應用程式開發
啟動 Elastic Beanstalk 網頁伺服器環境。

在應用程式概觀頁面上,選擇「建立新環境」,然後選擇「Web 伺服器環境」。填寫「環境名稱」和「網域名稱」。選擇「平台版本」,然後選擇「前往」作為您的平台。

系統管理員, 應用程式開發
將原始碼套件 .zip 檔案上傳至 Elastic Beanstalk。

在「應用程式碼」中,選擇「上傳您的程式碼」,然後選擇「本機檔案」。選擇包含原始碼套件的 .zip 檔案。在「版本標籤」中,為檔案指定唯一的名稱,然後選擇「建立環境」。

系統管理員, 應用程式開發
測試部署的 Go Web 應用程序。

系統會將您重新導向至 Elastic Beanstalk 應用程式的概觀頁面。在左側的「環境識別碼」旁邊,選擇以「elasticbeanstalk.com」結尾的 URL,以瀏覽至您的應用程式。您的應用程序必須在其配置文件中使用此名稱作為環境變量,並將其顯示在網頁上。

系統管理員, 應用程式開發