Google Cloud CLI 可讓您使用 gcloud compute 指令群組管理 Compute Engine 資源。gcloud compute 是使用 Compute Engine API 的替代方案。
gcloud CLI 是 Google Cloud CLI 的一部分,也是整合式指令列工具,包含陳述式自動完成、就地更新、指令列說明、人類可讀和機器可剖析的輸出格式,以及與 Google Cloud CLI 整合等功能。
如果您從未使用過 Compute Engine,請先參閱 Linux 快速入門導覽課程或 Windows 快速入門導覽課程。
事前準備
- 如要在命令提示字元中執行
gcloud compute,請安裝、更新及初始化 Google Cloud CLI。 - 如果沒有現成的命令提示字元,請嘗試在 Cloud Shell 中使用
gcloud compute。Cloud Shell 會自動安裝、更新及初始化最新版 Google Cloud CLI。
必要的角色
如要取得執行本文件 gcloud compute 指令所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
-
查看區域、可用區和專案詳細資料 (
gcloud compute regions list、gcloud compute zones list和gcloud compute project-info describe):Compute 檢視者 (roles/compute.viewer) -
設定或取消設定預設中繼資料 (
gcloud compute project-info add-metadata和gcloud compute project-info remove-metadata):- Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1) - Compute 管理員 (
roles/compute.admin)
- Compute 執行個體管理員 (v1) (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備執行本文件 gcloud compute 指令所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
您必須具備下列權限,才能執行本文件中的 gcloud compute 指令:
-
查看區域、可用區和專案詳細資料:
-
compute.projects.get -
compute.regions.list -
compute.zones.list
-
-
設定或取消設定預設中繼資料:
-
compute.projects.get -
compute.projects.setCommonInstanceMetadata
-
預設屬性
建立虛擬機器執行個體時,Compute Engine 會使用中繼資料伺服器的預設屬性設定 VM。您可以執行下列指令,查看 VM 的預設屬性:
gcloud compute project-info describe --project PROJECT_ID
將 PROJECT_ID 替換為專案 ID。
預設專案
如果您在設定及初始化 Google Cloud CLI 時設定了預設專案,所有 gcloud compute 指令預設都會使用該專案 ID。
您可以使用下列任一方法覆寫預設專案 ID:
- 執行每個
gcloud compute指令時,請加上--project旗標 設定
CLOUDSDK_CORE_PROJECT環境變數Linux 和 macOS
使用
export指令設定專案環境變數。export CLOUDSDK_CORE_PROJECT=PROJECT_ID
將
PROJECT_ID替換為要設為預設值的專案 ID。取消設定專案環境變數
如要取消設定專案環境變數,請使用下列
unset指令:unset CLOUDSDK_CORE_PROJECT
Windows
使用
set指令設定專案環境變數。set CLOUDSDK_CORE_PROJECT=PROJECT_ID
將
PROJECT_ID替換為要設為預設值的專案 ID。取消設定專案環境變數
如要取消設定專案環境變數,請使用下列指令:
set CLOUDSDK_CORE_PROJECT=
如未設定預設專案或環境變數,則必須在執行的每個 gcloud compute 指令中加入 --project 旗標。
預設區域和可用區
部分 gcloud compute 指令需要 --region 或 --zone 旗標。您可以為專案設定預設區域和可用區,不必在每次執行指令時指定這些旗標。如果您未設定預設區域或可用區,並執行與區域或可用區相關的指令,Google Cloud CLI 可能會提示您提供 --region 或 --zone 旗標,或傳回錯誤。
您可以透過下列三種方式設定預設區域和可用區:
- 在中繼資料伺服器中。執行
gcloud init時,中繼資料伺服器中設定的預設區域和可用區會套用至本機用戶端。 - 在本機用戶端中。 本機用戶端中設定的預設區域和可用區,會覆寫中繼資料伺服器中設定的預設區域和可用區。
- 在環境變數中。環境變數中設定的預設區域和可用區,會覆寫本機用戶端和中繼資料伺服器中設定的預設區域和可用區。
您可以在執行指令時提供 --region 和 --zone 旗標,覆寫中繼資料伺服器、本機用戶端或環境變數中的預設區域和可用區。
查看預設區域和可用區
如要查看預設區域和可用區,請執行下列指令:
gcloud config get-value compute/region
gcloud config get-value compute/zone
如果輸出內容為 (unset),表示未設定預設區域或可用區。
查看可用的區域和可用區
您可以執行下列指令,查看區域和可用區清單:
gcloud compute regions list
gcloud compute zones list
在中繼資料伺服器設定預設區域和可用區
中繼資料伺服器中的預設區域和可用區,適用於專案中的所有設定。如要在中繼資料伺服器中設定預設區域和可用區,請按照下列步驟操作:
設定預設地區和區域:
gcloud compute project-info add-metadata \ --metadata google-compute-default-region=REGION,google-compute-default-zone=ZONE
例如:
gcloud compute project-info add-metadata \ --metadata google-compute-default-region=europe-west1,google-compute-default-zone=europe-west1-b
在本機用戶端初始化變更:
gcloud init
如要覆寫中繼資料伺服器中設定的預設區域和可用區,您可以在本機用戶端或環境變數中設定預設區域和可用區,或是在指令中加入 --zone 或 --region 旗標。
取消設定中繼資料伺服器中的預設區域和可用區
如要取消設定中繼資料伺服器中的預設區域和可用區,請按照下列步驟操作:
取消設定中繼資料:
gcloud compute project-info remove-metadata \ --keys=google-compute-default-region,google-compute-default-zone
在本機用戶端初始化變更:
gcloud init
在本機用戶端設定預設區域和可用區
本機用戶端中設定的預設區域和可用區,會覆寫中繼資料伺服器中設定的預設區域和可用區。
如要在本機用戶端設定預設區域和可用區,請執行下列指令:
gcloud config set compute/region REGION
gcloud config set compute/zone ZONE
取消設定本機用戶端的預設區域和可用區
如要取消設定本機用戶端中的預設區域或可用區,請執行下列指令:
gcloud config unset compute/zone
gcloud config unset compute/region
如要覆寫本機用戶端設定的預設區域和可用區,您可以在環境變數中設定預設區域和可用區,或在指令中加入 --zone 或 --region 旗標。
在環境變數中設定預設區域和可用區
環境變數中設定的預設區域和可用區,會覆寫本機用戶端和中繼資料伺服器中設定的預設區域和可用區。
Linux 和 macOS
使用 export 指令設定區域和可用區變數。
export CLOUDSDK_COMPUTE_REGION=REGION
export CLOUDSDK_COMPUTE_ZONE=ZONE
如要永久設定這些環境變數,請在 ~/.bashrc 檔案中加入這些指令,然後重新啟動終端機。
Windows
使用 set 指令設定區域和可用區變數。
set CLOUDSDK_COMPUTE_REGION=REGION
set CLOUDSDK_COMPUTE_ZONE=ZONE
您可以在指令中加入 --zone 或 --region 旗標,覆寫環境變數。
取消環境變數中的預設區域和可用區
使用下列指令,取消設定環境變數中的預設區域和可用區。
Linux 和 macOS
如要取消設定區域和可用區環境變數,請使用下列 unset 指令:
unset CLOUDSDK_COMPUTE_REGION
unset CLOUDSDK_COMPUTE_ZONE
Windows
如要取消設定區域和可用區環境變數,請使用下列指令:
set CLOUDSDK_COMPUTE_REGION=
set CLOUDSDK_COMPUTE_ZONE=
使用旗標覆寫預設可用區
使用 --zone 旗標,覆寫中繼資料伺服器、本機用戶端和環境變數中設定的預設可用區。
例如:
gcloud compute instances create example-instance \
--zone=ZONE
設定
gcloud topic configurations 是進階功能,可用來影響 gcloud CLI 的行為。對大多數使用者來說,使用預設設定就足夠了。
如果使用者符合下列條件,設定可能會有幫助:
- 使用多個專案。您可以為每項專案建立不同的設定。
- 使用多個帳戶。例如使用者帳戶和服務帳戶。
- 執行各種獨立工作 (在一個專案中處理 App Engine 應用程式、管理 us-central1-a 可用區中的 Compute Engine 叢集、管理 asia-east1 區域的網路設定等)
如要切換設定,請執行下列指令:
gcloud config configurations activate CONFIGURATION_NAME
如要進一步瞭解如何管理設定,請參閱 gcloud config configurations。
後續步驟
- 請按照 Google Cloud CLI 的快速入門指南操作。
- 查看
gcloud compute使用秘訣。 - 探索常見的
gcloud compute指令。