[英]How to deploy and update app on multiply ec2 instances in Amazon Auto-scaling group?
[英]how to deploy code on multiple instances Amazon EC2 Autocaling group?
因此,我們正在建立一個基於magento的電子商務商店。 我們希望使用RDS作為數據庫服務,並在需要時使用Amazon自動縮放和彈性負載平衡器來將其部署在Amazon EC2實例上。
我不明白的是:我已經在EC2實例(數據庫位於RDS中)上安裝並配置了生產magento環境。 這樣很好。 但是現在當我想動態擴展實例數時
對於該主題的一些資源的詳細解釋或方向將不勝感激。
您可以在AutoScalingGroup啟動配置中執行此操作。 CloudFormation中的LaunchConfiguration中有一個UserData部分,您可以在其中編寫一個腳本,該腳本在ASG擴大規模並部署新實例時運行。
這與EC2實例中的UserData部分相同。 您可以使用LifeCycle掛鈎,該掛鈎將告訴ASG在您要配置的所有內容都設置好之前不要將EC2實例加載。
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html
我鏈接了所有CloudFormation頁面,但是您可能正在使用其他CI / CD工具來部署基礎架構,但是希望可以幫助您入門。
首先,請檢查AWS CloudFormation 。 您將創建模板來設計應用程序的基礎結構的工作方式〜基礎結構作為代碼。 有了這些模板后,您可以通過推送對模板和/或應用程序代碼的更改來向基礎結構推出更新。
在我當前的項目中,我們有一個專用於這些基礎結構模板的github存儲庫,以及一個用於我們的應用程序代碼的單獨存儲庫。 創建用於創建AWS資源的管道,該管道將在您每次推送到特定分支上的存儲庫時將更新發布到AWS。
每次如何在動態生成的實例上部署代碼?
containers
工作方式,這樣會更好,並且將大大補充您對啟動新版本應用程序的工作方式的學習。 首先,請參閱docker ,但請隨時檢查可用的任何資源 image
,該image
將成為docker文檔中的一個容器。 將aws復制整個實例,為它分配一個新的ip,並將其作為新實例生成,還是我必須編寫一些代碼來自動化該過程?
加上每次生成新實例時從git中提取代碼並進行部署都不會產生開銷嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.