2017-12-27 457 views
0

我的工作流程通常包括啓動一組EC2服務器,並讓它們在Excel工作簿的不同部分上工作。它不理想,但它是如何。我想盡可能自動化這個過程。啓動後可以將EC2實例設置爲打開文件嗎?

理想情況下,我會在啓動時創建一個打開Excel工作簿的AMI。然後,該工作簿將自動運行一個腳本,該腳本從保管箱文件夾中獲取已命名的Excel工作簿,打開該工作簿並運行其自動腳本。這樣我所要做的就是編寫第二個Excel工作簿的腳本,給它一個「魔術」名稱,將它上傳到保管箱,並在第一個工作簿中啓動適當數量的AMi實例,並在工作已完成並上傳到保管箱文件夾。

我知道如何做到這一點,除了啓動EC2實例後打開「bootstrap」Excel文件。這可能嗎?

回答

0

創建一個ami,在啓動時調用aws服務器設置作爲控制器。由於您從ami啓動的許多實例都會調用控制器並請求工作。

+1

如果工作事先知道,它可能是最好把工作項目上的SQS隊列,並讓每個EC2實例從隊列中提取的項目。 – jarmod

2

當您啓動您提供userdata的EC2實例時。該用戶數據可以是在實例啓動時自動運行的腳本。

另一種替代方法是使用EC2 Systems Manager Run Command在啓動後在EC2實例上遠程調用操作/腳本 - 您可以輕鬆自動執行某些操作以啓動實例,等待其準備就緒,然後使用某些動態參數遠程調用Excel腳本。

另一種方法是放置在不SQS隊列中的工作項目,然後使用用戶數據的想法運行在實例啓動一個腳本,從隊列中拉項目,做的工作。

另一個想法是使用AWS Lambda。只需將工作簿上傳到S3,並觸發一個Lambda函數。這既可以讀取和處理整個工作簿,或者如果你真的需要的工作簿的部分由不同的任務來處理,那麼你的lambda函數可以調用一些下屬lambda函數和扇出工作簿給他們的部分。

0

您可以創建一個窗口服務/任務,並在啓動時執行一個bat文件。 bat文件將打開運行腳本的excel文件。

我覺得這個方法可能比使用AWS服務簡單。

相關問題