[英]Shutdown system or stop AWS EC2 instance from NodeJS
我有運行 Debian 的 AWS EC2 實例,而 systemd 運行 Node 作為服務。 (以下這些實例稱為“節點服務器”。)
節點服務器由另一個永久運行的實例(以下稱為“管理器實例”)啟動。
當 Node 服務器遇到一些預定義的不活動時間時,我希望它自動關閉。
我正在考慮以下選項:
child_process
來運行shutdown now
命令。last-request-time
的 HTTP GET 端點,該端點由“管理器實例”定期輪詢,然后決定是否/何時調用 AWS SDK 的stopInstances 。我不確定要采取哪種方法,並希望得到任何建議。 從運行在同一台機器上的 Node 顯式關閉一台機器感覺有點不合適。 但是選項 3 需要定期進行 HTTP 輪詢,更不用說依賴另一個實例進行自動關閉感覺風險更大。 (如果管理器宕機,所有實例都會繼續運行。)
或者,當特定服務以特定代碼退出時,是否有可能讓 systemd 關閉機器? 如果可能的話,這會是最好的解決方案,因為 Node 進程只需要在不活動的一段時間后使用特定的退出代碼中止自身。
您可以創建一個用作 api 的 lambda 函數並使用 SDK 的 stopInstances 功能。 這也將允許您使其具有“管理器實例”的全部功能,並在實例上節省更多,因為它只會在需要時運行。
或者你可以去掉中間人並將“節點服務器”遷移到 lambda。 (拉姆達文檔)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.