簡體   English   中英

Google Compute 實例可以按計划啟動和停止嗎?

[英]Can Google Compute instances be started and stopped on a schedule?

我每天從台式計算機上運行 3 次簡單的任務。 它在下午 4 點、晚上 8 點和凌晨 1 點連接到某個網站,下載少量數據(小於 50 mb),並將其存儲在硬盤驅動器上。 重要的是它每天都在運行,所以我正在考慮將它遷移到 Google Compute。 我知道我可以創建一個實例並將其保留在 24/7/365,但這很昂貴。 有沒有辦法讓實例只在下午 4 點、晚上 8 點和凌晨 1 點打開,每次 10 分鍾,以便下載數據,然后關閉它們,這樣我只需要支付 30 分鍾/天的 Google 計算時間? 順便說一句,我將使用 Windows Server 2008 映像(我相信現在在 Google Compute 上處於有限預覽中),而不是 linux 映像,以防萬一。

Compute Engine 實例沒有內置調度程序。

您可以使用 App Engine 的 cron 調度程序進行 Compute Engine API 調用。 這是一個示例應用程序,它使用 cron 列出實例並刪除已運行超過 8 小時的實例

您可以執行類似的操作,方法是創建一個 App Engine url,該 url 使用啟動腳本啟動一個實例,該腳本運行您的任務,將數據復制到 Cloud Storage,然后在完成后立即關閉該實例。 然后,創建 cron 作業以按您的計划訪問該 URL。

還有一個名為VMPower的 3rd 方服務,它使用日歷界面完成此操作。 它比編寫腳本更快、更靈活,而且它有一個不錯的免費層。

現在是 2020 年,是的,您可以! 按照這個簡單的官方指南:

https://cloud.google.com/scheduler/docs/start-and-stop-compute-engine-instances-on-a-schedule

..並更改這些變量:{"zone":"us-west1-b","label":"env=dev"}

我還沒有找到導出/導入時間表的方法,但會很好,因為有很多手動點擊。 您可以通過使用函數中的復制來克隆第一個,從而節省幾次點擊。

通過啟用未經身份驗證的 curl 消息,還有一個 HTTP 觸發器選項: https : //cloud.google.com/functions/docs/calling/http

編輯:說得太快了,即使功能測試輸出顯示“成功啟動實例”,它也沒有啟動我的實例

我仍然想知道為什么 gcp 還沒有像其他平台一樣首先擁有這個功能。 無論如何,這些簡單的步驟使用 Job Scheduler Pub/Sub選項為我完成了這項工作。


停止

  • 創建一個新的JobScheduler
  • 填寫所需的詳細信息
  • 選擇適合您要求的頻率
  • 選擇目標為Pub/Sub
  • 選擇主題名稱(如果未創建則創建新主題)。
  • 在有效負載部分中,使用此停止腳本gcloud compute instances stop instance-name

要驗證更改,您可以手動運行作業並檢查。


首先,與上述相同的過程,您需要進行的唯一更改是有效負載腳本,即gcloud compute instances start instance-name

暫無
暫無

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

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