Amazon-Web-Services
頻繁的短期 EC2 實例的最佳配置,例如建構伺服器
我們有一個 EC2 案例,我們想在 EC2 上建構我們的程式碼,但這些建構並不常見。
鑑於建構可能需要大約 5-60 分鐘,而我們每天建構 2-5 次,平衡成本和便利性的最佳方法是什麼?
我們是否應該在 Spot 實例和 EBS 中使用更大的實例類型,並嘗試讓員工在不需要時停止實例?我們是否應該使用 T2 而不是 T3 來使用 Launch 積分?或者我們應該在無限模式下有一個較小的實例,我們繼續執行以獲得積分,以便在實際建構時燒毀?
是否還有其他應考慮的方法?
您使用什麼 CI/CD 工具?詹金斯?GitLab?竹子?光碟?程式碼管道?還有什麼?
大多數 CI/CD 工具都有一些方法來僅在需要時啟動建構主機、執行建構、儲存建構的工件(例如到 S3)並停止建構主機。所有這些都作為 CI/CD 管道的一部分自動進行。
我肯定會考慮Spot實例——最好是 m5.something 或 c5.something。你通常可以很便宜地在現場買到這些。
不要使用 T2/T3 - 程式碼建構是一項 CPU 密集型任務,這不是 T2/T3 的用途。
不要依賴開發人員手動啟動/停止實例。他們不會。
如果您的建構可以在容器中完成,並且您的 CI/CD 支持它,請嘗試在 Fargate 容器中建構 - 無需管理主機,啟動和拆卸速度更快,並且還支持現貨定價。
當然也可以看看 Amazon CodeBuild - 專為從原始碼建構包而設計的託管服務。
有很多選擇,但取決於您的 CI/CD 工具可以做什麼。
希望有幫助:)