gcloud compute

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):

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備執行本文件 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

在中繼資料伺服器設定預設區域和可用區

中繼資料伺服器中的預設區域和可用區,適用於專案中的所有設定。如要在中繼資料伺服器中設定預設區域和可用區,請按照下列步驟操作:

  1. 設定預設地區和區域:

    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
    
  2. 在本機用戶端初始化變更:

    gcloud init

如要覆寫中繼資料伺服器中設定的預設區域和可用區,您可以在本機用戶端或環境變數中設定預設區域和可用區,或是在指令中加入 --zone 或 --region 旗標。

取消設定中繼資料伺服器中的預設區域和可用區

如要取消設定中繼資料伺服器中的預設區域和可用區,請按照下列步驟操作:

  1. 取消設定中繼資料:

    gcloud compute project-info remove-metadata \
       --keys=google-compute-default-region,google-compute-default-zone
    
  2. 在本機用戶端初始化變更:

    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。

後續步驟