本文說明如何手動停止或重新啟動 Compute Engine 執行個體。或者,如要自動停止或重新啟動運算執行個體,請參閱下列內容:
您可以手動停止運算執行個體。停止作業完成後,運算執行個體的狀態會轉換為 TERMINATED,此時您可以重新啟動運算執行個體來繼續工作負載,或永久刪除不再需要的運算執行個體。如要執行下列操作,建議手動停止運算執行個體:
節省成本,同時保留設定:您不想再於運算執行個體上執行工作負載。不過,您想保留運算執行個體和其附加磁碟、配置設定、IP 位址、MAC 位址和中繼資料。如果還需要保留記憶體內資料和應用程式狀態,請改為暫停運算執行個體。
更新屬性:您想修改一或多個屬性,但必須先停止並重新啟動運算執行個體,變更才會生效,例如變更機器類型或卸離磁碟。詳情請參閱「可更新的屬性」。
限制
停止運算執行個體時,須遵守下列限制:
只有在運算執行個體的狀態允許時,才能停止或重新啟動運算執行個體。
只有在運算執行個體所在的可用區有足夠資源時,才能重新啟動運算執行個體。
您無法重新啟動 TPU 運算執行個體。TPU 運算執行個體停止後,只能刪除。
事前準備
-
如果尚未設定驗證,請先完成設定。驗證程序會確認您的身分,以便授予 Cloud de Confiance by S3NS 服務和 API 的存取權。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:
請根據您打算如何使用本頁範例,選取對應的分頁標籤:
控制台
使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,您不需要設定驗證機制。
gcloud
-
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。 登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init
-
- 設定預設區域和可用區。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
Go
如要在本機開發環境中使用本頁面的 Go 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 為本機開發環境設定驗證機制」。
Java
如要在本機開發環境中使用本頁的 Java 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 為本機開發環境設定驗證機制」。
Node.js
如要在本機開發環境中使用本頁的 Node.js 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 為本機開發環境設定驗證機制」。
PHP
如要在本機開發環境中使用本頁的 PHP 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 為本機開發環境設定驗證機制」。
Python
如要在本機開發環境中使用本頁的 Python 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 為本機開發環境設定驗證機制」。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」一節。
必要的角色
如要取得停止或重新啟動運算執行個體所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備停止或重新啟動運算執行個體所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
必須具備下列權限,才能停止或重新啟動運算執行個體:
-
如要停止運算執行個體:
compute.instances.stop在運算執行個體上 -
如要從訪客 OS 停止運算執行個體:
compute.instances.setMetadata如果運算執行個體使用執行個體層級公開安全殼層金鑰,則在該執行個體上。 -
如要重新啟動運算執行個體:
compute.instances.start在運算執行個體上 -
如要重新啟動使用加密金鑰的運算執行個體:
compute.instances.startWithEncryptionKey在運算執行個體上
停止運算執行個體
如要停止運算執行個體,請採用下列其中一種方法。最適合您用途的方法,取決於運算執行個體是否連接本機 SSD 磁碟,以及您要如何處理關機指令碼:
從 Cloud de Confiance停止運算執行個體。您可以透過 Cloud de Confiance同時停止一或多個運算執行個體。如果運算執行個體已連接本機 SSD 磁碟,您可以選擇捨棄或保留 (預先發布版) 本機 SSD 資料。運算執行個體中的所有關機指令碼都必須在運算執行個體停止前完成執行。如需操作說明,請參閱下列任一文章:
從訪客 OS 停止運算執行個體。這種做法可確保關機指令碼在運算執行個體停止前執行完畢。如果您已啟用正常關機功能,可以略過或結束正常關機程序。不過,從客體 OS 停止運算執行個體時,除非先將資料備份至持久儲存空間,否則系統會捨棄任何已連接本機 SSD 磁碟上的資料。如需操作說明,請參閱「從訪客 OS 停止運算執行個體」。
停止沒有本機 SSD 磁碟的運算執行個體
如要停止未連接本機 SSD 磁碟的運算執行個體,請參閱下列選項:
如果您已在運算執行個體中啟用正常關機功能,可以略過或結束進行中的正常關機程序,藉此節省費用。如要這麼做,請使用 Cloud de Confiance 控制台、gcloud CLI 或 REST API。
如要同時停止多個運算執行個體,請使用Cloud de Confiance 控制台。如果運算執行個體位於相同可用區,則可使用 gcloud CLI。
如要停止一或多個運算執行個體,請選取下列其中一個選項:
控制台
前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面。
選取要停止的執行中運算執行個體。
按一下「 停止」。如果沒有「Stop」(停止) 選項,請按一下「More actions」(更多動作),然後選取「Stop」(停止)。
然後在隨即顯示的對話方塊中,執行以下操作:
選用:如要停止運算執行個體,但不正常關機,或要結束進行中的正常關機程序,請勾選「Skip graceful shutdown (if applicable)」(略過正常關機 (如適用)) 核取方塊。
按一下「停止」確認操作。
gcloud
如要停止位於同一可用區的一或多個運算執行個體,請使用 gcloud compute instances stop 指令:
gcloud compute instances stop INSTANCE_NAMES \
--zone=ZONE
更改下列內容:
INSTANCE_NAMES:要停止的運算執行個體名稱清單,以空格分隔。例如,指定instance-01 instance-02 instance-03。ZONE:運算執行個體所在的可用區。
如要略過或結束進行中的正常關機程序,請使用相同指令並加上 --no-graceful-shutdown 旗標:
gcloud compute instances stop INSTANCE_NAMES \
--no-graceful-shutdown \
--zone=ZONE
Go
Java
Node.js
PHP
Python
REST
如要停止運算執行個體,請向 instances.stop 方法發出 POST 要求:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
更改下列內容:
INSTANCE_NAME:運算執行個體的名稱。PROJECT_ID:運算執行個體所在的專案 ID。ZONE:運算執行個體所在的可用區。
如要略過或結束進行中的正常關機程序,請在要求網址中加入 noGracefulShutdown=true 查詢參數:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop?noGracefulShutdown=true
停止含有本機 SSD 磁碟的運算執行個體
如要停止已連接本機 SSD 磁碟的運算執行個體,最佳方法取決於您的用途。請使用下列其中一種方式:
如果您已在運算執行個體中啟用正常關機功能,可以略過或結束進行中的正常關機程序,藉此節省費用。如要這麼做,請使用 Cloud de Confiance 控制台、gcloud CLI 或 REST API。
如要保留本機 SSD 資料 (不含使用 Titanium SSD 的機型),請使用 gcloud CLI 或 REST API。
如要同時停止多個運算執行個體,請使用Cloud de Confiance 控制台。如果運算執行個體位於相同可用區,則可使用 gcloud CLI。
如要停止一或多個已連接本機 SSD 磁碟的運算執行個體,請選取下列其中一個選項:
控制台
前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面。
選取要停止的執行中運算執行個體。
按一下「 停止」。如果沒有「Stop」(停止) 選項,請按一下「More actions」(更多動作),然後選取「Stop」(停止)。
然後在隨即顯示的對話方塊中,執行以下操作:
選用:如要停止運算執行個體,但不正常關機,或結束進行中的正常關機程序,請勾選「Skip graceful shutdown (if applicable)」(略過正常關機 (如適用)) 核取方塊。
按一下「停止」確認操作。
gcloud
在同一可用區中,停止一或多個連接本機 SSD 磁碟的運算執行個體時,請按照下列方式指定要捨棄或保留本機 SSD 資料:
如要捨棄本機 SSD 資料,請使用
gcloud compute instances stop指令並加上--discard-local-ssd=true旗標:gcloud compute instances stop INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONE如要保留本機 SSD 資料,請使用
gcloud beta compute instances stop指令搭配--discard-local-ssd=false旗標:gcloud beta compute instances stop INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
更改下列內容:
INSTANCE_NAMES:要停止的運算執行個體名稱清單,以空格分隔。例如,指定instance-01 instance-02 instance-03。ZONE:運算執行個體所在的可用區。
如要略過或結束正在進行的正常關機程序,請在指令中加入 --no-graceful-shutdown 旗標:
gcloud compute instances stop INSTANCE_NAMES \
--discard-local-ssd=DISCARD_LOCAL_SSD \
--no-graceful-shutdown \
--zone=ZONE
將 DISCARD_LOCAL_SSD 替換為 true,即可捨棄本機 SSD 磁碟中的資料;或替換為 false,即可保留資料。如果指定 false,則必須使用 gcloud beta compute instances stop 指令。
REST
在同一可用區中,停止一或多個連接本機 SSD 磁碟的運算執行個體時,請按照下列方式指定要捨棄或保留本機 SSD 資料:
如要捨棄本機 SSD 資料,請向
instances.stop方法發出POST要求。在要求網址中,加入設為true的discardLocalSsd查詢參數:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop?discardLocalSsd=true如要保留本機 SSD 資料,請向
beta.instances.stop方法發出POST要求。在要求網址中,加入設為false的discardLocalSsd查詢參數:POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop?discardLocalSsd=false
更改下列內容:
PROJECT_ID:運算執行個體所在的專案 ID。ZONE:運算執行個體所在的可用區。INSTANCE_NAME:運算執行個體的名稱。
如要略過或結束進行中的正常關機程序,請在要求網址中加入 noGracefulShutdown=true 查詢參數:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop?discardLocalSsd=DISCARD_LOCAL_SSD&noGracefulShutdown=true
將 DISCARD_LOCAL_SSD 替換為 true,即可捨棄本機 SSD 磁碟中的資料;或替換為 false,即可保留資料。如果指定 false,則必須向 beta.instances.stop 方法發出 POST 要求。
從訪客 OS 停止運算執行個體
如果運算執行個體已連接本機 SSD 磁碟,關閉客體 OS 會自動捨棄本機 SSD 資料。如要保留這類資料,請先手動將資料複製到永久儲存空間,再停止運算執行個體。
如要從訪客 OS 停止運算執行個體,請選取下列其中一個選項:
Linux
如果您尚未連線至運算執行個體,請先完成這項操作。
如要從運算執行個體的客體 OS 停止執行個體,請選取下列其中一種方法:
如要在所有關機指令碼執行完畢後,才完全關閉客體 OS,請執行下列指令:
sudo shutdown -h now如要強制關閉客體 OS,請執行下列指令:
sudo poweroff
Windows
如果尚未連線,請使用下列其中一種方法連線至運算執行個體:
如要從運算執行個體的客體 OS 停止執行個體,請選取下列其中一種方法:
如要在所有關機指令碼執行完畢後,才完全關閉客體 OS,請執行下列指令:
shutdown /s如要強制關閉客體 OS,請執行下列指令:
shutdown /f
重新啟動運算執行個體
您可以重新啟動已完全停止的運算執行個體,也就是運算執行個體狀態為 TERMINATED 時。如果您在停止運算執行個體時選擇保留本機 SSD 資料,則可能需要在重新啟動運算執行個體後,重新掛接本機 SSD 磁碟。詳情請參閱「格式化及掛接本機 SSD 裝置」。
如要重新啟動運算執行個體,請使用下列其中一種方法。最適合您用途的方法,取決於運算執行個體的磁碟是否使用客戶提供的加密金鑰 (CSEK) 加密:
重新啟動沒有 CSEK 加密磁碟的運算執行個體
如要同時重新啟動不同可用區的多個運算執行個體,請使用 Cloud de Confiance 控制台。如果運算執行個體位於相同可用區,您可以使用 gcloud CLI。否則,請針對其他重新啟動情境,選取下列其中一個選項:
控制台
前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面。
選取要重新啟動的運算執行個體。
按一下「 啟動 / 重新啟用」。
gcloud
如要重新啟動位於同一可用區的一或多個運算執行個體,請使用 gcloud compute instances start 指令:
gcloud compute instances start INSTANCE_NAMES \
--zone=ZONE
更改下列內容:
INSTANCE_NAMES:要重新啟動的運算執行個體名稱清單,以空格分隔。例如,指定instance-01 instance-02 instance-03。ZONE:運算執行個體所在的可用區。
Go
Java
Node.js
PHP
Python
REST
如要重新啟動運算執行個體,請向 instances.start 方法發出 POST 要求:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
更改下列內容:
INSTANCE_NAME:運算執行個體的名稱。PROJECT_ID:運算執行個體所在的專案 ID。ZONE:運算執行個體所在的可用區。
重新啟動具有 CSEK 加密磁碟的運算執行個體
如果停止的運算執行個體,其連接的磁碟是以客戶提供的加密金鑰加密,則重新啟動該執行個體時,必須提供加密金鑰資訊。
如要同時重新啟動不同可用區的多個運算執行個體,請使用 Cloud de Confiance 控制台。如果運算執行個體位於相同可用區,您可以使用 gcloud CLI。否則,請針對其他重新啟動情境,選取下列其中一個選項:
控制台
前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面。
選取要重新啟動的運算執行個體。
按一下「 啟動 / 重新啟用」。
然後在隨即顯示的對話方塊中,執行以下操作:
為附加至運算執行個體的每個加密磁碟指定加密金鑰。
按一下「啟動」。
gcloud
如要重新啟動一或多個運算執行個體,且這些執行個體使用位於相同可用區的加密磁碟,請使用 gcloud compute instances start 指令並搭配 --csek-key-file 旗標。如果您使用的是 RSA 包裝金鑰,請改用 gcloud beta compute instances start 指令和 --csek-key-file 旗標:
gcloud compute instances start INSTANCE_NAMES \
--csek-key-file=ENCRYPTION_KEY_FILE \
--zone=ZONE
更改下列內容:
INSTANCE_NAMES:要重新啟動的運算執行個體名稱清單,以空格分隔。例如,指定instance-01 instance-02 instance-03。ENCRYPTION_KEY_FILE:JSON 檔案的相對路徑,該檔案包含客戶提供的加密金鑰。只有在運算執行個體使用相同的客戶提供的加密金鑰時,才能同時重新啟動多個運算執行個體。檔案格式請參閱「金鑰檔案格式」。ZONE:運算執行個體所在的可用區。
Go
Java
Node.js
PHP
Python
REST
如要重新啟動使用加密磁碟的運算執行個體,請向 instances.startWithEncryptionKey 方法提出 POST 要求:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/startWithEncryptionKey
{
"disks": [
{
"source": "DISK_URL",
"diskEncryptionKey": {
"ENCRYPTION_TYPE": "ENCRYPTION_KEY"
}
}
]
}
更改下列內容:
PROJECT_ID:運算執行個體所在的專案 ID。ZONE:運算執行個體所在的可用區。INSTANCE_NAME:運算執行個體的名稱。DISK_URL:資源網址,對應至以客戶提供的加密金鑰加密的附加磁碟完整資源名稱。ENCRYPTION_TYPE:您使用的磁碟加密類型,可以是下列其中一項:rawKey、kmsKeyName或rsaEncryptedKey。如果使用rsaEncryptedKey類型,請向beta.instances.startWithEncryptionKey方法發出POST要求。ENCRYPTION_KEY:用於加密附加至運算執行個體的永久磁碟的加密金鑰。rawKey或rsaEncryptedKey金鑰必須採用 Base64 編碼。此外,如要準備rsaEncryptedKey金鑰,請參閱「RSA 金鑰封裝」。