2013-11-22 139 views
7

我正在使用Google Compute Engine和debian作爲源圖像。我知道只要實例運行,我將按小時計費,而不管我是否在ssh中。 shutdown -h命令顯然將實例置於終止模式,並且我將不得不在下次再次創建實例。如何在不終止實例的情況下停止計算引擎實例?

我的問題是,我如何關閉虛擬機而不終止它? 是一個選項嗎?

谷歌說法是: https://developers.google.com/compute/docs/troubleshooting 如果您使用sudo關機或sudo關機關閉您的實例,它是終止它的等價物。沒有辦法「凍結」一個實例並在稍後重新啓動它。如果您選擇關閉實例,則必須重新創建實例。當一個實例從內部關閉時,它將進入TERMINATED狀態,但仍會出現在API中(例如當您列出實例時)。要從列表中刪除它,您必須顯式刪除該實例。但是,TERMINATED實例的正常運行時間不計費。

+1

您可以刪除一個實例,並保留永久磁盤。當您創建一個新實例時,只需再次使用持久磁盤 [1]:http://stackoverflow.com/questions/16608594/how-to-automatically-exit-stop-the-running-instance –

+2

當前接受答案不再正確;請參閱[我的回答](http://stackoverflow.com/a/28033482/3618671)瞭解最新狀態。 –

回答

5

我的問題是,我如何關閉虛擬機而不終止它?這是一個選擇嗎?

不幸的是,你不能。 AWS EC2是關於保留關機實例的例外。即使OpenStack提供商也不支持這種方式。解決方法是根據所需的快照創建映像,然後基於該映像創建新實例。

+3

或者,刪除實例時不要刪除引導磁盤。然後您可以創建一個新實例並將其連接到相同的永久性磁盤,不涉及任何快照。 – fotinakis

+1

現在這個答案已經過時,請參閱Marius的回答。 – papirrin

+0

我想強調AWS EC2是個例外。同意但僅限於使用[VPC/EBS](http://stackoverflow.com/a/38235022/4058484)。 – hyip

0

除了rdodev的觀點,或者您也可以分離永久磁盤。當啓動另一個實例時,可以通過啓動腳本來測試以前的配置。不完全相同,但替代方案。

6

您可以做的是將所有數據保存到硬盤上,然後關閉,然後使用相同的磁盤創建實例。

Compute Engine > VM INSTANCES > Click on engine name > Delete 

有一個複選框說:

Also delete boot disk "instance0" 

如果您不要選擇它,下一次你可以選擇的項目創建另一個實例

通過從Web控制檯關閉:

Boot source > Existing persistent disk 

然後:

Source disk > Name of project 

而您的舊磁盤將保持不變。

以這種方式刪除實例將其從實例列表中刪除,而執行poweroff時不會立即刪除它。

注意:用於磁盤的持久性存儲具有(相對較小的)每月成本。沒有任何電子郵件警告,我收取了幾分錢用於一些未使用的數據。

0

最接近的解決方案是刪除實例,而不是刪除永久磁盤。當您需要重新啓動實例時,只需使用該磁盤創建一個新實例。您可以選擇具有相同特徵或不同特徵的實例。沒關係。

13

我知道這個線程有點老,但Shutdown/Start功能現在已經在開發人員控制檯和命令行中引入,因此不需要再創建快照。

文件可here

相關問題