Configurar VM Manager.


En Compute Engine, puedes administrar los sistemas operativos que se ejecutan en tus máquinas virtuales (VM) mediante VM Manager.

Si quieres revisar los pasos necesarios a fin de configurar tus VM para usar VM Manager, consulta Descripción general de la configuración.

Después de configurar VM Manager, puedes ver los registros de auditoría de las operaciones de API realizadas con la API de configuración del SO; consulta Visualiza los registros de auditoría de VM Manager.

Antes de comenzar

  • Revisa las cuotas de configuración del SO del proyecto.
  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Descripción general de la configuración

Para habilitar VM Manager, tienes dos opciones:

  • Habilitación automática: se aplica a todo tu proyecto de Google Cloud. Completa la habilitación automática desde la consola de Google Cloud. Es posible que debas completar algunos pasos de forma manual.
  • Habilitación manual: se puede realizar por VM o para todo el proyecto de Google Cloud.

Manual

Para configurar VM Manager, completa los siguientes pasos:

  1. En tu proyecto de Google Cloud, habilita la API de configuración del SO.
  2. En cada VM, comprueba si el agente de configuración del SO está instalado. Si el agente no está instalado, instala el agente de configuración del SO.
  3. En tu proyecto o en cada VM, configura los metadatos de la instancia para el agente de configuración del SO. Este paso es necesario para que el agente de configuración del SO esté activo en la VM o el proyecto.
  4. Verifica que todas las VM tengan una cuenta de servicio conectada. No es necesario otorgar funciones de IAM a esta cuenta de servicio. VM Manager usa esta cuenta de servicio para firmar solicitudes al servicio de API.
  5. Si tu VM se ejecuta en una red de VPC privada y no tiene acceso a la Internet pública, habilita el Acceso privado a Google.
  6. Si usas un proxy HTTP para tus VM, configura un proxy HTTP.
  7. Opcional. En tu proyecto o en cada VM, inhabilita las funciones que no necesitas.

Automática

La primera vez que navegues a cualquiera de las páginas de VM Manager en la consola de Google Cloud, puedes elegir habilitar automáticamente VM Manager.

Si sigues los pasos guiados, puedes usar la habilitación automática para completar lo siguiente:

  • Habilita la API del servicio de configuración del SO en el proyecto de Google Cloud.
  • Activa los agentes de configuración del SO en todas las VMs del proyecto de Google Cloud que tengan el agente instalado.

Habilitación automática.

Sistemas operativos compatibles

Para obtener una lista completa de las versiones del sistema operativo que admiten VM Manager, consulta Detalles de los sistemas operativos.

Habilita la API del servicio de configuración del SO

En tu proyecto de Google Cloud, habilita la API de configuración del SO.

Consola

En la consola de Google Cloud, habilita la API de configuración del SO.

Habilita la API de configuración del SO

gcloud

Para habilitar la API, ejecuta el siguiente comando:

gcloud services enable osconfig.googleapis.com

Comprueba si el agente de configuración del SO está instalado

El agente de configuración del SO está instalado de forma predeterminada en las imágenes de CentOS, Container-Optimized OS (COS), Debian, Red Hat Enterprise Linux (RHEL), Rocky Linux, SLES, Ubuntu y Windows Server que tienen una fecha de compilación v20200114 o posterior. Para obtener información sobre las versiones de los sistemas operativos que tienen el agente de configuración del SO instalado, consulta Detalles de los sistemas operativos. Estos agentes se ejecutan de forma inactiva hasta que habilites los metadatos del agente y habilites la API de servicio.

Linux

Para comprobar si tu VM de Linux tiene el agente instalado, ejecuta el siguiente comando:

sudo systemctl status google-osconfig-agent

Si el agente está instalado y en ejecución, el resultado es similar al siguiente:

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

Si el agente no está instalado, instala el agente de configuración del SO.

Windows

Para comprobar si tu VM de Windows tiene el agente instalado, ejecuta el siguiente comando:

PowerShell Get-Service google_osconfig_agent

Si el agente está instalado y en ejecución, el resultado es similar al siguiente:

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

Si el agente no está instalado, instala el agente de configuración del SO.

Instala el agente de configuración del SO

Antes de seguir estos pasos para instalar el agente, comprueba si el agente ya se está ejecutando en tu VM.

Instala el agente de configuración del SO en cada VM. Puedes instalar el agente de configuración del SO mediante una de las siguientes opciones:

Instala el agente de forma manual

Usa esta opción para instalar el agente de configuración del SO en una VM existente.

Para instalar el agente, completa los siguientes pasos:

  1. Conéctate a la VM en la que deseas instalar el agente de configuración del SO.

  2. Instala el agente de configuración del SO.

    Windows Server

    Para instalar el agente de configuración del SO en un servidor de Windows, ejecuta el siguiente comando:

    googet -noconfirm install google-osconfig-agent
    

    Ubuntu

    Para instalar el agente de configuración del SO en una VM de Ubuntu, ejecuta los siguientes comandos:

    1. Configura el repositorio de Ubuntu.

      • Para Ubuntu 20.04 y versiones posteriores, ejecuta los siguientes comandos:

        1. Agrega el repositorio de 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. Importa la clave pública de Google Cloud.

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • Para Ubuntu 18.04 y versiones posteriores, ejecuta los siguientes comandos:

        1. Agrega el repositorio de 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. Importa la clave pública de Google Cloud.

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • En Ubuntu 16.04, ejecuta los siguientes comandos:

        1. Agrega el repositorio de 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. Importa la clave pública de Google Cloud.

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
    2. Instala el agente de configuración del SO.

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

    Debian

    Para instalar el agente de configuración del SO en una VM de Debian, ejecuta los siguientes comandos:

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

    Agrega el repositorio y la clave pública de Google Cloud

    Si usas una instancia de VM que no se creó a partir de una imagen proporcionada por Google o recibiste un mensaje de error que indica que no se puede encontrar el paquete, completa los siguientes pasos para agregar el repositorio de Google Cloud y, luego, importar la clave pública.

    Después de agregar el repositorio e importar la clave, puedes ejecutar los comandos para instalar el agente de configuración del SO.

    • En Debian 9 (Stretch), ejecuta los siguientes comandos:

      1. Agrega el repositorio de Debian.

        sudo su -c "echo 'deb http://packages.cloud.google.com/apt \
        google-compute-engine-stretch-stable main'> /etc/apt/sources.list.d/google-compute-engine.list"
        
      2. Importa la clave pública de Google Cloud.

        curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
        sudo apt-key add -
        
    • En Debian 10 (Buster), ejecuta los siguientes comandos:

      1. Agrega el repositorio de Debian.

        sudo su -c "echo 'deb http://packages.cloud.google.com/apt \
        google-compute-engine-buster-stable main'> /etc/apt/sources.list.d/google-compute-engine.list"
        
      2. Importa la clave pública de Google Cloud.

        curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
        sudo apt-key add -
        

    RHEL/CentOS/Rocky

    Para instalar el agente de configuración del SO en una VM de RHEL 7/8, CentOS 7/8 o Rocky Linux 8/9, ejecuta el siguiente comando:

    sudo yum -y install google-osconfig-agent
    

    SLES y openSUSE:

    Para instalar el agente de configuración del SO en una VM de SLES o de openSUSE, ejecuta los siguientes comandos:

    1. Configura el repositorio de SLES.

      • En SLES 12, ejecuta el siguiente comando:

        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"
        
      • En SLES 15 y OpenSUSE 15, ejecuta el siguiente comando:

        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. Importa las claves de GPG para Google Cloud.

      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. Instala el agente de configuración del SO.

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

Instala el agente mediante una secuencia de comandos de inicio

También puedes usar los comandos de instalación manual para crear una secuencia de comandos de inicio que instale el agente de configuración del SO durante la creación de la VM.

  1. Copia los comandos manuales de tu sistema operativo.
  2. Proporciona la secuencia de comandos de inicio a tu método de creación de VM.

    Por ejemplo, si usas el comando gcloud compute instances create para crear una nueva VM de Debian 10, tu comando será similar al siguiente.

    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'

    Reemplaza VM_NAME por el nombre de tu VM.

  3. Verifica que la secuencia de comandos de inicio se complete. Para verificar si la secuencia de comandos de inicio se completa, revisa los registros o comprueba la consola en serie.

Configura los valores de metadatos

Puedes configurar metadatos de la instancia en los metadatos del proyecto o la VM que se apliquen a todas las VM de tu proyecto.

En la VM o el proyecto de Google Cloud, configura el valor de metadatos enable-osconfig como TRUE. Cuando estableces el valor de metadatos enable-osconfig en TRUE, se habilita lo siguiente:

  • Aplicar parche
  • Políticas del SO
  • OS Inventory Management
    • Para la versión anterior de OS Inventory Management, también debes establecer el valor de metadatos enable-guest-attributes en TRUE. Si no se configuran ambos valores de metadatos, el panel muestra no data para la VM. Esto no es necesario para la versión posterior. Para obtener más información sobre las dos versiones de OS Inventory Management, consulta Versiones de OS Inventory Management.

Consola

Puedes aplicar los valores de los metadatos en las VM o los proyectos de Google Cloud mediante una de las siguientes opciones:

  • Opción 1: Configura enable-osconfig en los metadatos de todo el proyecto para que se aplique a todas las VM del proyecto.

    1. En la consola de Google Cloud, ve a la página Metadatos.

      Ir a metadatos

    2. Haz clic en Editar.

    3. Agrega la siguiente entrada de metadatos:

      Clave: enable-osconfig
      Valor: TRUE

      Para la versión anterior de OS Inventory Management, configura enable-osconfig y enable-guest-attributes:

      • Clave: enable-osconfig
        Valor: TRUE
      • Clave: enable-guest-attributes
        Valor: TRUE
    4. Haz clic en Guardar para aplicar los cambios.

  • Opción 2: Configura enable-osconfig en los metadatos de VM cuando crees una instancia.

    1. En la consola de Google Cloud, ve a la página Crear una instancia.

      Ir a Crear una instancia

    2. Especifica los detalles de la VM.

    3. Expande la sección Opciones avanzadas y haz lo siguiente:

      1. Expande la sección Administración.
      2. En la sección Metadatos, haz clic en Agregar elemento y agrega las siguientes entradas de metadatos:

        Clave: enable-osconfig
        Valor: TRUE.

        Para la versión anterior de OS Inventory Management, configura enable-osconfig y enable-guest-attributes:

        • Clave: enable-osconfig
          Valor: TRUE
        • Clave: enable-guest-attributes
          Valor: TRUE
    4. Para crear la VM, haz clic en Crear.

  • Opción 3: configura enable-osconfig en los metadatos de una VM existente.

    1. En la consola de Google Cloud, ve a la página Instancias de VM.

      Ir a Instancias de VM

    2. Haz clic en el nombre de la VM para la que deseas configurar el valor de metadatos.

    3. En la página Detalles de la instancia, haz clic en Cambiar para cambiar la configuración.

    4. En Metadatos personalizados, agrega las siguientes entradas de metadatos:

      Clave: enable-osconfig
      Valor: TRUE.

      Para la versión anterior de OS Inventory Management, configura enable-osconfig y enable-guest-attributes:

      • Clave: enable-osconfig
        Valor: TRUE
      • Clave: enable-guest-attributes
        Valor: TRUE
    5. Haz clic en Guardar para aplicar los cambios a la VM.

gcloud

Usa el comando project-info add-metadata o el comando instances add-metadata con la marca --metadata=enable-osconfig=TRUE.

Puedes aplicar los valores de metadatos en tus proyectos o VMs mediante una de las siguientes opciones:

  • Opción 1: Configura enable-osconfig en los metadatos de todo el proyecto para que se apliquen a todas sus instancias.

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

    Para la versión anterior de OS Inventory Management, configura enable-osconfig y enable-guest-attributes:

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

    Reemplaza PROJECT_ID con el ID del proyecto.

  • Opción 2: configura enable-osconfig en los metadatos de una instancia existente.

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

    Para la versión anterior de OS Inventory Management, configura enable-osconfig y enable-guest-attributes:

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

    Reemplaza VM_NAME por el nombre de tu VM.

  • Opción 3: Configura enable-osconfig en los metadatos de la instancia cuando crees una instancia.

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

    Para la versión anterior de OS Inventory Management, configura enable-osconfig y enable-guest-attributes:

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

    Reemplaza VM_NAME por el nombre de tu VM.

REST

Puedes configurar el valor de los metadatos a nivel de instancia o de proyecto de Google Cloud.

El siguiente par clave-valor es obligatorio como parte de la propiedad de metadatos:

  • Clave: enable-osconfig
    Valor: TRUE

Para la versión anterior de OS Inventory Management, también agrega el siguiente par clave-valor:

  • Clave: enable-guest-attributes
    Valor: TRUE

Configure un proxy HTTP

Si usas un proxy HTTP para las VM, ejecuta los siguientes comandos a fin de configurar las variables de entorno http_proxy y https_proxy. También debes excluir el servidor de metadatos (169.254.169.254) mediante la configuración de la variable de entorno no_proxy para que el agente de configuración del SO pueda acceder al servidor de metadatos local.

Linux

Agrega las siguientes variables de entorno en un archivo de configuración para todo el sistema. Por ejemplo, en CentOS 7, agrega la configuración del proxy en el archivo /etc/systemd/system.conf:

  http_proxy="http://PROXY_IP:PROXY_PORT"
  https_proxy="http://PROXY_IP:PROXY_PORT"
  no_proxy=169.254.169.254,metadata,metadata.google.internal  # Skip proxy for the local Metadata Server.
 

Reemplaza PROXY_IP y PROXY_PORT por la dirección IP y el número de puerto del servidor proxy, respectivamente.

Windows

Ejecuta los siguientes comandos desde un símbolo del sistema del administrador.

  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,metadata,metadata.google.internal /m

Reemplaza PROXY_IP y PROXY_PORT por la dirección IP y el número de puerto del servidor proxy, respectivamente.

Google recomienda que excluyas *.googleapis.com. Para ello, agrega la variable de entorno no_proxy a fin de evitar problemas de conexión desde el agente de configuración del SO. Si deseas conectar solo las VMs específicas al agente de configuración del SO, usa el prefijo de la zona en la que se encuentran las VMs y usa el formato [zone-name]-osconfig.googleapis.com. Por ejemplo, us-central1-f-osconfig.googleapis.com.

Inhabilita funciones que no necesitas

Si hay funciones que tal vez no necesites, puedes inhabilitarlas si configuras los siguientes valores de metadatos: osconfig-disabled-features=FEATURE1,FEATURE2.

Reemplaza FEATURE1,FEATURE2 con cualquiera de los siguientes valores:

  • OS Inventory Management: osinventory
  • Políticas de SO y parche: tasks
  • Políticas de invitado del SO (beta): guestpolicies

Usa uno de los siguientes métodos para inhabilitar los valores de metadatos.

Consola

Puedes inhabilitar los valores de metadatos en las VM o los proyectos de Google Cloud mediante una de las siguientes opciones:

  • Opción 1: Inhabilita la función en los metadatos en todo el proyecto para que se aplique a todas las instancias del proyecto.

    1. En la consola de Google Cloud, ve a la página Metadatos.

      Ir a metadatos

    2. Haz clic en Editar.

    3. Agrega la siguiente entrada de metadatos:

      Clave: osconfig-disabled-features
      Valor: FEATURE1,FEATURE2

      Por ejemplo:
      Clave: osconfig-disabled-features
      Valor: osinventory,guestpolicies

    4. Haz clic en Guardar para aplicar los cambios.

  • Opción 2: inhabilita la función en los metadatos de una VM existente.

    1. En la consola de Google Cloud, ve a la página Instancias de VM.

      Ir a Instancias de VM

    2. Haz clic en el nombre de la VM en la que deseas configurar el valor de metadatos.

    3. En la página Detalles de la instancia, haz clic en Editar para editar la configuración de la VM.

    4. En Metadatos personalizados, agrega las siguientes entradas de metadatos:

      Clave: osconfig-disabled-features
      Valor: FEATURE1,FEATURE2

      Por ejemplo:
      Clave: osconfig-disabled-features
      Valor: osinventory

    5. Haz clic en Guardar para aplicar los cambios a la VM.

gcloud

Usa el comando project-info add-metadata o el comando instances add-metadata de gcloud con la marca --metadata=osconfig-disabled-features.

Si inhabilitas varias funciones, la marca debe tener el formato --metadata=osconfig-disabled-features=FEATURE1,FEATURE2. Consulta el ejemplo 2.

Ejemplos

Ejemplo 1 Para inhabilitar la Administración de parches de SO a nivel de proyecto de Google Cloud mediante Google Cloud CLI, ejecuta el siguiente comando:

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

Ejemplo 2 Para inhabilitar la administración de configuración del SO y OS Inventory Management a nivel de proyecto con Google Cloud CLI, ejecuta el siguiente comando:

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

Reemplaza PROJECT_ID con el ID del proyecto.

REST

Puedes configurar el valor de los metadatos a nivel de instancia o de proyecto de Google Cloud.

El siguiente par clave-valor es obligatorio como parte de la propiedad de metadatos:

  • Clave: osconfig-disabled-features
  • Valor: puede ser uno o una combinación de las siguientes marcas:
    • osinventory
    • tasks
    • guestpolicies

Requisitos para un agente activo de configuración de SO

Para que el agente de configuración del SO se considere activo y facturable, debe satisfacer todos los siguientes requisitos:

  • VM Manager debe estar configurada.
  • La VM debe tener el estado RUNNING y el agente de configuración del SO debe comunicarse con el servicio de configuración del SO.

    Si una VM se detiene, se suspende o se desconecta de la red, el agente de esa VM no se contará como un agente activo.

Verifique la configuración

Después de completar el procedimiento de configuración, puedes verificar la configuración.

Habilita todas las funciones de VM Manager

Si VM Manager no está habilitado en tu proyecto y, luego, instalas el Agente de operaciones durante la creación de la VM, VM Manager está habilitado en modo limitado. En este modo, VM Manager ofrece un subconjunto de funciones para una cantidad ilimitada de VM sin costo. Por ejemplo, puedes ver las asignaciones de políticas del SO de tus VM en la página de políticas del SO, pero no puedes crear ni editar asignaciones de políticas del SO.

Para habilitar todas las funciones de VM Manager de estas VM con el Agente de operaciones instalado, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Políticas del SO.

    Ir a Políticas del SO

  2. Haz clic en Habilitar funcionalidad de VM Manager completa para habilitar todas las funciones de VM Manager.

    Habilita automáticamente VM Manager completo.

Inhabilita el agente de configuración del SO

Inhabilitar el agente de configuración del SO no afecta el comportamiento de tu VM. Puedes inhabilitar el agente de la misma manera en que detienes otros servicios del sistema operativo.

Linux

Para inhabilitar el agente mediante systemctl, ejecuta los siguientes comandos:

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

Windows

Para inhabilitar el agente mediante powershell, ejecuta el siguiente comando:

PowerShell Stop-Service google_osconfig_agent [-StartupType disabled]

Próximos pasos