簡體   English   中英

AWS自動擴展現有實例

[英]AWS autoscaling an existing instance

這個問題有一個概念和實踐的部分。

從概念上講,我想知道使用自動縮放功能是否等效於將計算能力僅增加所添加實例數的一個因素?

實際上...這是如何工作的? 我有一個正在運行的實例,它的數據庫位於由多個EBS卷組成的LVM上,所有網站數據都類似。 從實例的負載來看,我要么需要升級到功能更強大的實例,要么需要引入這種自動縮放功能。 它是正在運行的服務器的副本嗎? 如果是這樣,數據庫(等)如何保持一致?

我已經閱讀了AWS文檔,但仍未了解情況-我可以設置一個自動縮放組,這可能會消除我的疑慮,但是我非常樂意使用生產服務器來做到這一點。

任何朝着正確方向前進的人都會受到歡迎。

通常,如果您的解決方案也使用數據庫,並且該解決方案中有多台計算機,則該數據庫通常不在任何計算機上,而是由指向同一數據庫的每台工作計算機單獨托管(如果您在AWS平台上)已經,那么DynamoDB或RDS都是很好的解決方案。

從理論上講,對於某些應用程序,升級單台計算機的大小將為您提供與添加幾台較小的計算機相同的功能,但是增加單台計算機的大小(通常通常最開始時最簡單的操作)不應視為自動縮放並有其自身的缺點。 這里有一些要考慮的事情:

  • 使用多台計算機而不是一台大計算機,可以為您提供一定的容錯能力。 一台或多台計算機可能會停機,如果您的解決方案設計正確,則新計算機將啟動以替換它們。
  • 增加單機解決方案的大小意味着您可能付出了太多。 如果您將一台機器的大小調整到足以應付高峰工作負載的大小,這意味着在其他時間(可能是大多數時間),您所購買的機器將比您需要的大。 如果您正確設置自動縮放解決方案,則更多的機器會根據需求的增長而上線,然后在需求減少時終止運行-您只需在需要時購買所需的電源。
  • 當您以這種方式設計解決方案時,您需要將所有工作計算機視為外圍設備-可能隨時消失,因此您需要以不同的方式構建解決方案。 除了使用托管數據庫(例如在DynamoDB或AWS RDS上)之外,您也不應將任何數據存儲在自動伸縮組中也沒有其他位置的計算機上。 例如,如果您的應用程序的一部分允許用戶上傳圖像,則您不將其存儲在實例上,而是將其存儲在S3中。 這同樣適用於任何其他新數據。

您需要能夠在任何時候在ASG中的任何計算機上形象地“拔出插頭”而不會丟失數據。

最終,正確設置的自動縮放解決方案可能會為您提供更好的服務,但是毫無疑問,僅“購買一台更大的機器”會更簡單,而您花在運行該更大機器上的額外金錢可能會被您花費的時間和精力所抵消。無需花費重新架構解決方案即可在自動縮放環境中正常運行。 解決方案的獨特要求最終將決定哪種方法更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM