![](/img/trans.png)
[英]Google Compute Engine loses static ip when started and stopped
[英]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選項為我完成了這項工作。
停止
gcloud compute instances stop instance-name
。要驗證更改,您可以手動運行作業並檢查。
首先,與上述相同的過程,您需要進行的唯一更改是有效負載腳本,即gcloud compute instances start instance-name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.