設定 VM 管理員

在 Compute Engine 中,您可以使用 VM 管理員,管理虛擬機器 (VM) 上執行的作業系統。

您可以為個別 VM、專案,或資料夾/組織中的所有專案啟用 VM Manager。如要查看設定 VM 以使用 VM 管理員的必要步驟,請參閱「設定總覽」。如要使用 Terraform 啟用 VM 管理員,並在整個機構中指派 OS 政策,請參閱「使用 Terraform 在整個機構中設定 VM 管理員」。

設定 VM Manager 後,您可以查看使用 OS Config API 執行的 API 作業稽核記錄,詳情請參閱「查看 VM Manager 稽核記錄」。

事前準備

  • 查看專案的 OS 設定配額。
  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上範例的預計用途分頁:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

  • 設定預設區域和可用區。
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

支援的作業系統

如需支援 VM 管理員的作業系統版本完整清單,請參閱「作業系統詳細資料」。如果特定作業系統沒有 OS 設定代理程式,您就無法為執行該作業系統的 VM 啟用 VM 管理員。

啟用 OS Config 服務 API

您可以透過下列任一方法,為 Google Cloud 專案啟用 OS Config API:

必要的角色

如要取得啟用 API 的權限,請要求管理員授予您專案的「服務使用管理員 」(roles/serviceusage.serviceUsageAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備 serviceusage.services.enable 權限,可啟用 API。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

為單一專案啟用 OS Config API

在 Google Cloud 專案中啟用 OS Config API。

控制台

  1. 在 Google Cloud 控制台選取要啟用 API 的專案。
  2. 前往「OS Config API」頁面。

    前往 OS Config API

  3. 按一下「啟用」。

gcloud

如要啟用 API,請執行下列指令:

gcloud services enable osconfig.googleapis.com --project=PROJECT_ID

將 PROJECT_ID 替換為專案 ID。

為多個專案啟用 OS 設定 API

如要為機構或資料夾中的所有專案啟用 OS Config API (VM 管理員 API),請使用階層式服務啟用。這項功能會自動為 Google Cloud 資源階層中的所有現有和新專案啟用服務,因此您不必為每個專案手動啟用服務。

如要進一步瞭解階層式服務啟用,請參閱「階層式服務啟用總覽」。

如要使用 Terraform 啟用 VM 管理員,並在整個機構中指派 OS 政策,請參閱「使用 Terraform 在整個機構中設定 VM 管理員」。

必要的角色

如要取得管理服務啟用狀態所需的權限,請要求管理員授予目標資源的服務使用情形管理員 (roles/serviceusage.serviceUsageAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備管理服務啟用所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要管理服務啟用狀態,必須具備下列權限:

  • 列出服務:
    • serviceusage.effectivepolicy.get
    • serviceusage.services.list
    • serviceusage.services.get
  • 啟用服務:
    • serviceusage.consumerpolicy.get
    • serviceusage.consumerpolicy.update
    • serviceusage.groups.listExpandedMembers
  • 停用服務:
    • serviceusage.consumerpolicy.get
    • serviceusage.consumerpolicy.update
    • serviceusage.consumerpolicy.analyze

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

資料夾

如要為資料夾中的所有專案啟用 OS Config API,請執行下列指令:

gcloud beta services enable osconfig.googleapis.com \
    --folder=FOLDER_ID

將 FOLDER_ID 替換為資料夾 ID。

機構

如要為組織中的所有專案啟用 OS Config API,請執行下列指令:

gcloud beta services enable osconfig.googleapis.com \
    --organization=ORGANIZATION_ID

請將 ORGANIZATION_ID 替換成組織 ID。

使用組織政策設定 VM 管理員中繼資料

您可以使用「需要 OS 設定」組織政策,自動為組織、資料夾或專案中的所有新 VM 設定 VM Manager 中繼資料。

設定「須完成 OS 設定」布林值限制後,系統會套用下列條件:

  • enable-osconfig=TRUE 會納入所有新專案的專案中繼資料。
  • 對於新 VM 和現有 VM/專案,系統會拒絕在執行個體或專案中繼資料中,將 enable-osconfig設為 FALSE 的要求。
  • 對於在啟用政策前建立的 VM 或專案,這項組織政策不會將 enable-osconfig 中繼資料值變更為 TRUE。如要在這些 VM 或專案啟用 VM 管理員,建議您更新中繼資料。詳情請參閱「設定中繼資料值」。

啟用 OS 設定組織政策後,您仍可使用 osconfig-disabled-features 中繼資料停用一或多項 VM 管理員功能。

啟用 OS 設定機構政策

如要啟用 OS Config 政策,可以使用Google Cloud 控制台或 Google Cloud CLI,在整個機構、資料夾或特定專案中設定「需要 OS Config」限制。

控制台

如要透過控制台設定 OS Config 組織政策,請完成下列步驟:

  1. 前往 Google Cloud 控制台的「Organization policies」(組織政策) 頁面。

    前往「Organization policies」(組織政策)

  2. 在專案挑選器中,選取要編輯組織政策的專案、資料夾或組織。

  3. 「組織政策」頁面會顯示可篩選的可用組織政策限制清單。

  4. 從限制清單中選取「Require OS Config」限制。接著會顯示「Policy details」(政策詳細資料) 頁面,說明限制條件及套用方式。

  5. 如要更新這項資源的組織政策,請按一下「管理政策」。

  6. 在「Edit policy」(編輯政策) 頁面,選取「Override parent's policy」(覆寫上層政策)。

  7. 選取「新增規則」。

  8. 在「Enforcement」(強制執行) 部分,選取是否要強制執行這項組織政策。

  9. 如要強制執行這項政策,請按一下「設定政策」。

gcloud

如要設定 OS Config 組織政策,請使用 gcloud beta resource-manager org-policies enable-enforce 指令。

  1. 找出組織 ID。

    gcloud organizations list
  2. 在組織中設定限制。將 organization-id 替換為您的組織 ID。

    gcloud resource-manager org-policies enable-enforce compute.requireOsConfig \
        --organization=organization-id
    

您也可以使用 --folder 或 --project 標記,分別將 OS Config 組織政策套用至資料夾或專案,以及資料夾 ID 和專案 ID。

如要套用至資料夾,請執行下列指令:

gcloud resource-manager org-policies enable-enforce compute.requireOsConfig \
    --folder=folder-id

如要套用至專案,請執行下列指令:

gcloud resource-manager org-policies enable-enforce compute.requireOsConfig \
    --project=project-id

更改下列內容:

在專案中啟用 VM 管理員

如要在專案中啟用 VM 管理員,有兩種做法:

  • 自動啟用:適用於整個 Google Cloud 專案。您可透過 Google Cloud 控制台完成自動啟用程序。你可能仍需手動完成部分步驟。
  • 手動啟用:可針對個別 VM 或整個 Google Cloud 專案啟用。

手動

如要手動設定 VM Manager,請完成下列步驟:

  1. 在專案中 Google Cloud 啟用 OS Config API。
  2. 在每個 VM 上,檢查是否已 安裝 OS 設定代理程式。 如果尚未安裝代理程式,請安裝 OS Config 代理程式。
  3. 在專案或各個 VM 上,設定 OS Config 代理程式的執行個體中繼資料。您必須完成這個步驟,才能在 VM 或專案中啟用 OS 設定代理程式。
  4. 確認所有 VM 都附加了服務帳戶。您不需要為這個服務帳戶授予任何 IAM 角色。VM 管理工具會使用這個服務帳戶簽署 API 服務的要求。
  5. 如果 VM 是在私人虛擬私有雲網路中運作,且沒有公開網路連線能力,請啟用 Private Google Access。
  6. 如果 VM 使用 HTTP Proxy,請設定 HTTP Proxy。
  7. 選用。在專案或每部 VM 上停用不需要的功能。

自動

首次前往控制台的任何 VM 管理員頁面時,您可以選擇自動啟用 VM 管理員。Google Cloud

按照引導步驟操作,即可使用自動啟用功能完成下列事項:

  • 在 Google Cloud 專案中啟用 VM 管理員 (OS Config API)
  • 在 Google Cloud 專案中,為已安裝代理程式的所有 VM 啟用 OS Config 代理程式

自動啟用。

檢查是否已安裝 OS 設定代理程式

OS Config 代理程式預設會安裝在建構日期為 v20200114 以上版本的 CentOS、Container-Optimized OS (COS)、Debian、Red Hat Enterprise Linux (RHEL)、Rocky Linux、SLES、Ubuntu 和 Windows Server 映像檔。如要瞭解已安裝 OS Config 代理程式的作業系統版本,請參閱「作業系統詳細資料」。在啟用代理程式中繼資料和啟用服務 API 前,這些代理程式會保持閒置狀態。

Linux

如要檢查 Linux VM 是否已安裝代理程式,請執行下列指令:

sudo systemctl status google-osconfig-agent

如果代理程式已安裝並執行,輸出內容會與下列內容相似:

google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
 Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
        └─369 /usr/bin/google_osconfig_agent

如果未安裝代理程式,請安裝 OS Config 代理程式。

Windows

如要檢查 Windows VM 是否已安裝代理程式,請執行下列指令:

PowerShell Get-Service google_osconfig_agent

如果代理程式已安裝並執行,輸出內容會與下列內容相似:

Status   Name               DisplayName
------   ----               -----------
Running  google_osconfig... Google OSConfig Agent

如果未安裝代理程式,請安裝 OS 設定代理程式。

安裝 OS 設定代理程式

按照下列步驟安裝代理程式前,請先檢查代理程式是否已在 VM 上執行。

在每個 VM 上安裝 OS Config 代理程式。您可以透過下列任一選項安裝 OS Config 代理程式:

手動安裝代理程式

使用這個選項,在現有 VM 上安裝 OS Config 代理程式。

如要安裝代理程式,請完成下列步驟:

  1. 連線至要安裝 OS Config 代理程式的 VM。

  2. 安裝 OS 設定代理程式。

    Windows Server

    如要在 Windows 伺服器上安裝 OS Config 代理程式,請執行下列指令:

    googet -noconfirm install google-osconfig-agent
    

    Ubuntu

    如要在 Ubuntu VM 上安裝 OS Config 代理程式,請執行下列指令:

    1. 設定 Ubuntu 存放區。

      • 如果是 Ubuntu 20.04 以上版本,請執行下列指令:

        1. 新增 Ubuntu 存放區。

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-focal-stable main' > \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. 匯入 Google Cloud 公開金鑰。

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • 如為 Ubuntu 18.04 以上版本,請執行下列指令:

        1. 新增 Ubuntu 存放區。

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-bionic-stable main' > \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. 匯入 Google Cloud 公開金鑰。

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • 如果是 Ubuntu 16.04,請執行下列指令:

        1. 新增 Ubuntu 存放區。

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-xenial-stable main'> \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. 匯入 Google Cloud 公開金鑰。

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
    2. 安裝 OS 設定代理程式。

      sudo apt update
      sudo apt -y install google-osconfig-agent
      

    Debian

    如要在 Debian VM 上安裝 OS Config 代理程式,請執行下列指令:

    sudo apt update
    sudo apt -y install google-osconfig-agent
    

    新增 Google Cloud 存放區和公開金鑰

    如果您使用的 VM 執行個體不是從 Google 提供的映像檔建立,或是收到「unable to locate package」錯誤訊息,請完成下列步驟,新增 Google Cloud存放區並匯入公開金鑰。

    新增存放區並匯入金鑰後,即可執行指令來安裝 OS Config 代理程式。

    1. 設定 Debian Cloud Repository:

      Debian 13 以上版本

      1. 將公開存放區 GPG 金鑰安裝到 /etc/apt/keyrings:

        sudo curl https://packages.cloud.google.com/apt/doc/apt-key.gpg -o /etc/apt/keyrings/google-keyring.gpg
        
      2. 判斷 Debian 發行版本名稱。接著,建立來源清單檔案 /etc/apt/sources.list.d/google-cloud.list:

        eval $(grep VERSION_CODENAME /etc/os-release)
        sudo tee /etc/apt/sources.list.d/google-cloud.list << EOM
        deb [signed-by=/etc/apt/keyrings/google-keyring.gpg] http://packages.cloud.google.com/apt google-compute-engine-${VERSION_CODENAME}-stable main
        EOM
        

      Debian 12 以下版本

      1. 安裝公開存放區 GPG 金鑰:

        curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
        
      2. 判斷 Debian 發行版本名稱。接著,建立來源清單檔案 /etc/apt/sources.list.d/google-cloud.list:

        eval $(grep VERSION_CODENAME /etc/os-release)
        sudo tee /etc/apt/sources.list.d/google-cloud.list << EOM
        deb http://packages.cloud.google.com/apt google-compute-engine-${VERSION_CODENAME}-stable main
        deb http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-${VERSION_CODENAME} main
        EOM
        

    RHEL/CentOS/Rocky

    如要在 RHEL 7/8、CentOS 7/8 VM 或 Rocky Linux 8/9 上安裝 OS Config 代理程式,請執行下列指令:

    sudo yum -y install google-osconfig-agent
    

    SLES/openSUSE

    如要在 SLES 或 openSUSE VM 上安裝 OS Config 代理程式,請執行下列指令:

    1. 設定 SLES 存放區。

      • 如為 SLES 12,請執行下列指令:

        sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM
        [google-compute-engine]
        name=Google Compute Engine
        baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles12-stable
        enabled=1
        gpgcheck=1
        repo_gpgcheck=0
        gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
          https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
        EOM"
        
      • 如為 SLES 15 和 OpenSUSE 15,請執行下列指令:

        sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM
        [google-compute-engine]
        name=Google Compute Engine
        baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles15-stable
        enabled=1
        gpgcheck=1
        repo_gpgcheck=0
        gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
          https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
        EOM"
        
        
    2. 匯入 Google Cloud的 GPG 金鑰。

      sudo rpm --import https://packages.cloud.google.com/yum/doc/yum-key.gpg \
      --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    3. 安裝 OS 設定代理程式。

      sudo zypper -n --gpg-auto-import-keys install --from google-compute-engine google-osconfig-agent
      

使用開機指令碼安裝代理程式

您也可以使用手動安裝指令建立開機指令碼,在建立 VM 時安裝 OS Config 代理程式。

  1. 複製作業系統適用的手動指令。
  2. 提供開機指令碼給 VM 建立方法。

    舉例來說,如果您使用 gcloud compute instances create 指令建立 Debian 10 VM,指令會類似下列內容:

    gcloud compute instances create VM_NAME \
       --image-family=debian-10 --image-project=debian-cloud \
       --metadata startup-script='#! /bin/bash
       apt update
       apt -y install google-osconfig-agent'

    將 VM_NAME 替換為您的 VM 名稱。

  3. 確認開機指令碼已執行完畢。如要確認啟動指令碼是否完成,請查看記錄或檢查序列控制台。

設定中繼資料值

您可以為每個 VM 設定執行個體中繼資料,或設定適用於專案中所有 VM 的專案中繼資料。

在 Google Cloud 專案或 VM 中,將 enable-osconfig 中繼資料值設為 TRUE。將 enable-osconfig 中繼資料值設為 TRUE,即可啟用下列功能:

  • 修補程式
  • OS 政策
  • OS 庫存管理
    • 如果是舊版 OS 廣告空間管理,您也必須將 enable-guest-attributes 中繼資料值設為 TRUE。如果未設定這兩個中繼資料值,資訊主頁會顯示 VM 的 no data。後續版本不需要這麼做。如要瞭解這兩個 OS 庫存管理版本,請參閱「OS 庫存管理版本」。

控制台

您可以透過下列任一選項,在 Google Cloud 專案或 VM 上套用中繼資料值:

  • 方法 1:在專案層級中繼資料中設定 enable-osconfig,以便套用至專案中的所有 VM。

    1. 前往 Google Cloud 控制台的「Metadata」頁面。

      前往「中繼資料」

    2. 按一下 [編輯]。

    3. 新增下列中繼資料項目:

      鍵:enable-osconfig
      值:TRUE

      如要使用舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

      • 鍵:enable-osconfig
        值:TRUE
      • 鍵:enable-guest-attributes
        值:TRUE
    4. 點選「儲存」來套用變更。

  • 方法 2:建立執行個體時,在 VM 中繼資料中設定 enable-osconfig。

    1. 前往 Google Cloud 控制台的「Create an instance」(建立執行個體) 頁面。

      前往「建立執行個體」

    2. 指定 VM 詳細資料。

    3. 展開「Advanced options」(進階選項) 區段,然後執行下列操作:

      1. 展開「Management」(管理) 部分。
      2. 在「Metadata」(中繼資料) 區段中,按一下「Add item」(新增項目),然後新增下列中繼資料項目:

        鍵:enable-osconfig
        值:TRUE。

        如要使用舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

        • 鍵:enable-osconfig
          值:TRUE
        • 鍵:enable-guest-attributes
          值:TRUE
    4. 按一下「Create」(建立),即可建立 VM。

  • 方法 3:在現有 VM 的中繼資料中設定 enable-osconfig。

    1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

      前往 VM 執行個體

    2. 按一下要設定中繼資料值的 VM 名稱。

    3. 在「執行個體詳細資料」頁面中,按一下「編輯」即可編輯設定。

    4. 在「Custom metadata」(自訂中繼資料) 下新增下列中繼資料項目:

      鍵:enable-osconfig
      值:TRUE。

      如要使用舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

      • 鍵:enable-osconfig
        值:TRUE
      • 鍵:enable-guest-attributes
        值:TRUE
    5. 按一下「儲存」,將變更套用至 VM。

gcloud

使用 project-info add-metadata 或 instances add-metadata 指令,並加上 --metadata=enable-osconfig=TRUE 旗標。

您可以透過下列任一方式,在專案或 VM 上套用中繼資料值:

  • 方法 1:在全專案中繼資料中設定 enable-osconfig,以便套用至專案中的所有執行個體:

    gcloud compute project-info add-metadata \
      --project PROJECT_ID \
      --metadata=enable-osconfig=TRUE
    

    如要使用舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

    gcloud compute project-info add-metadata \
      --project PROJECT_ID \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    將 PROJECT_ID 替換為專案 ID。

  • 方法 2:在現有執行個體的中繼資料中設定 enable-osconfig。

    gcloud compute instances add-metadata VM_NAME \
      --metadata=enable-osconfig=TRUE
    

    如要使用舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

    gcloud compute instances add-metadata VM_NAME \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    將 VM_NAME 替換為您的 VM 名稱。

  • 方法 3:建立執行個體時,在執行個體中繼資料中設定 enable-osconfig。

    gcloud compute instances create VM_NAME \
      --metadata=enable-osconfig=TRUE
    

    如要使用舊版 OS 庫存管理服務,請同時設定 enable-osconfig 和 enable-guest-attributes:

    gcloud compute instances create VM_NAME \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    將 VM_NAME 替換為 VM 名稱。

REST

您可以在 Google Cloud 專案或執行個體層級設定中繼資料值。

中繼資料屬性必須包含下列鍵/值組合:

  • 鍵:enable-osconfig
    值:TRUE

如果是舊版 OS 廣告空間管理,請一併新增下列鍵/值組合:

  • 鍵:enable-guest-attributes
    值:TRUE

設定 HTTP Proxy

如果 VM 使用 HTTP Proxy,請執行下列指令來設定 http_proxy 和 https_proxy 環境變數。如要允許 OS 設定代理程式存取本機中繼資料伺服器,您必須設定 no_proxy 環境變數,排除中繼資料伺服器 (169.254.169.254 和 fd20:ce::254)。

Linux

在採用 systemd 的 Linux 發行版本中,以 root 使用者身分,將 Proxy 環境變數新增至 google-osconfig-agent.service 單位:

mkdir -p /etc/systemd/system/google-osconfig-agent.service.d
cat >/etc/systemd/system/google-osconfig-agent.service.d/override.conf <<EOF
[Service]
Environment="http_proxy=http://PROXY_IP:PROXY_PORT" \
  "https_proxy=http://PROXY_IP:PROXY_PORT" \
  "no_proxy=169.254.169.254,fd20:ce::254,metadata,metadata.google.internal"
EOF

將 PROXY_IP 和 PROXY_PORT 分別替換為 Proxy 伺服器的 IP 位址和通訊埠號碼。

重新啟動 OS 設定代理程式服務:

systemctl daemon-reload
systemctl restart google-osconfig-agent

如要確認變數設定正確,請檢查執行中代理程式的環境變數:

tr '\0' '\n' < /proc/$(systemctl show -p MainPID --value google-osconfig-agent)/environ

Windows

在系統管理員命令提示字元中執行下列指令。

  setx http_proxy http://PROXY_IP:PROXY_PORT /m
  setx https_proxy http://PROXY_IP:PROXY_PORT /m
  setx no_proxy 169.254.169.254,fd20:ce::254,metadata,metadata.google.internal /m

將 PROXY_IP 和 PROXY_PORT 分別替換為 Proxy 伺服器的 IP 位址和通訊埠號碼。

Google 建議您新增 no_proxy 環境變數來排除 *.googleapis.com,以免 OS Config 代理程式發生連線問題。如要只將特定 VM 連線至 OS Config 代理程式,請在 VM 所在區域加上前置字串,並使用 [zone-name]-osconfig.googleapis.com 格式。例如:us-central1-f-osconfig.googleapis.com。

停用不需要的功能

如要停用不需要的功能,請設定下列中繼資料值: osconfig-disabled-features=FEATURE1,FEATURE2。

將 FEATURE1,FEATURE2 替換為下列任一值:

  • OS 庫存管理服務:osinventory
  • 修補程式和 OS 政策:tasks
  • OS 訪客政策 (Beta 版):guestpolicies

請使用下列任一方法停用中繼資料值。

控制台

您可以透過下列任一選項,在 Google Cloud 專案或 VM 上停用中繼資料值:

  • 選項 1:在全專案中繼資料中停用這項功能,以便套用至專案中的所有執行個體。

    1. 前往 Google Cloud 控制台的「Metadata」(中繼資料) 頁面。

      前往「Metadata」(中繼資料) 頁面

    2. 按一下 [編輯]。

    3. 新增下列中繼資料項目:

      鍵:osconfig-disabled-features
      值:FEATURE1,FEATURE2

      例如:
      鍵:osconfig-disabled-features
      值:osinventory,guestpolicies

    4. 點選「儲存」來套用變更。

  • 方法 2:在現有 VM 的中繼資料中停用功能。

    1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

      前往 VM 執行個體

    2. 按一下要設定中繼資料值的 VM 名稱。

    3. 在「執行個體詳細資料」頁面中,按一下「編輯」,即可編輯 VM 設定。

    4. 在「Custom metadata」(自訂中繼資料) 下新增下列中繼資料項目:

      鍵:osconfig-disabled-features
      值:FEATURE1,FEATURE2

      例如:
      鍵:osconfig-disabled-features
      值:osinventory

    5. 按一下「儲存」,將變更套用至 VM。

gcloud

使用 project-info add-metadata 或 instances add-metadata gcloud 指令,並加上 --metadata=osconfig-disabled-features 旗標。

如要停用多項功能,旗標必須採用 --metadata=osconfig-disabled-features=FEATURE1,FEATURE2 格式。請參閱範例 2。

範例

範例 1 如要使用 Google Cloud CLI 在 Google Cloud 專案層級停用 Patch,請執行下列指令:

gcloud compute project-info add-metadata \
    --project PROJECT_ID \
    --metadata=osconfig-disabled-features=tasks

範例 2 如要使用 Google Cloud CLI 在專案層級停用 OS 政策和 OS 資訊清單管理功能,請執行下列指令:

gcloud compute project-info add-metadata \
    --project PROJECT_ID \
    --metadata=osconfig-disabled-features=osinventory,guestpolicies

將 PROJECT_ID 替換為專案 ID。

REST

您可以在 Google Cloud 專案或執行個體層級設定中繼資料值。

中繼資料屬性必須包含下列鍵/值組合:

  • 金鑰:osconfig-disabled-features
  • 值:可以是下列任一標記或標記組合:
    • osinventory
    • tasks
    • guestpolicies

有效 OS 設定代理程式的規定

OS Config 代理程式必須符合下列所有條件,才會視為有效並計費:

  • 必須設定 VM 管理員。
  • VM 必須處於 RUNNING 狀態,且 OS 設定代理程式必須與 OS 設定服務通訊。

    如果 VM 已停止、暫停或與網路中斷連線,該 VM 上的代理程式就不會計為有效代理程式。

驗證設定

完成設定程序後,即可驗證設定。

查看專案的 VM 管理工具功能設定

如要確認專案是否已啟用所有 VM Manager 功能,請按照下列步驟操作:

gcloud

使用 gcloud compute os-config project-feature-settings describe 指令,如下所示:

gcloud compute os-config project-feature-settings describe \
    --project PROJECT_ID

指令會輸出類似以下的結果:

name: projects/my-project/locations/global/projectFeatureSettings
patchAndConfigFeatureSet: OSCONFIG_C

值 OSCONFIG_C 代表完整的 VM 管理員功能集,OSCONFIG_B 則代表功能受限的集合。

REST

如要查看 Google Cloud 專案的 VM 管理員 功能,請對 projects.locations.global.getProjectFeatureSettings 方法建立 GET 要求。

   GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/global/projectFeatureSettings
   

將 PROJECT_ID 替換為專案 ID。

如果成功,方法會傳回專案特徵集,如以下範例所示:

{
 "name": "projects/my-project/locations/global/projectFeatureSettings",
 "patchAndConfigFeatureSet": "OSCONFIG_C"
}

值 OSCONFIG_C 代表完整的 VM 管理員功能集,OSCONFIG_B 則代表功能受限的集合。

啟用完整的 VM 管理員功能

如果專案未啟用 VM 管理員,且您在建立 VM 時安裝 Ops Agent,VM 管理員會以受限模式啟用。在此模式下,VM 管理員可讓不限數量的 VM 免費使用特定幾項功能。舉例來說,您可以在 OS 政策頁面查看 VM 的 OS 政策指派項目,但無法建立或編輯 OS 政策指派項目。

如要為已安裝 Ops Agent 的 VM 啟用所有 VM 管理員功能,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「OS policies」(OS 政策) 頁面。

前往 OS 政策

  1. 按一下「啟用完整的 VM 管理員功能」,即可啟用所有 VM 管理員功能。

    自動啟用完整的 VM 管理員。

gcloud

如要為 Google Cloud 專案啟用所有 VM 管理員 功能,請使用 gcloud compute os-config project-feature-settings update 指令:

gcloud compute os-config project-feature-settings update \
    --project PROJECT_ID \
    --patch-and-config-feature-set=full

REST

如要在 Google Cloud 專案層級啟用所有 VM 管理員功能,請對 projects.locations.global.updateProjectFeatureSettings 方法發出 PATCH 要求。

   PATCH https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/global/projectFeatureSettings
   {
     "name": "projects/PROJECT_ID/locations/global/projectFeatureSettings",
     "patchAndConfigFeatureSet": "OSCONFIG_C"
   }
   

將 PROJECT_ID 替換為專案 ID。值 OSCONFIG_C 代表完整的 VM 管理員功能集。

停用 OS Config 代理程式

停用 OS 設定代理程式不會影響 VM 的行為。停用代理程式的方式與停止作業系統的其他服務相同。

Linux

如要使用 systemctl 停用代理程式,請執行下列指令:

sudo systemctl stop google-osconfig-agent
sudo systemctl disable google-osconfig-agent

Windows

如要使用 powershell 停用代理程式,請執行下列指令:

PowerShell Stop-Service google_osconfig_agent [-StartupType disabled]

後續步驟