Licencias adquiridas por el usuario

En esta página, se describe cómo usar las licencias adquiridas por el usuario (BYOL) en Google Cloud. Antes de agregar imágenes con licencias existentes, lee la descripción general de las licencias adquiridas por el usuario.

Para usar licencias de núcleo físico o procesador físico con requisitos de hardware dedicados a Google Cloud, usa nodos de usuario único. Con los nodos de usuario único, tus VM se ejecutan en un hardware dedicado a tu proyecto y el uso físico principal es limitado.

Para agregar imágenes con licencias existentes, se requiere lo siguiente:

  1. Importar un archivo del disco virtual y crear una imagen
  2. Crear una plantilla de nodo de usuario único
  3. Crear un grupo de nodos de usuario único basado en la plantilla del nodo
  4. Aprovisionar una VM en el grupo de nodos con el archivo de disco virtual importado

Si necesitas asistencia o tienes preguntas relacionadas con las licencias, comunícate con tu distribuidor de licencias. Si necesitas asistencia o tienes preguntas sobre cómo agregar imágenes con licencias existentes a Google Cloud, comunícate con la Asistencia de Google Cloud.

Antes de comenzar

  1. Solicita una cuota de CPU adicional: Asegúrate de tener suficiente cuota de CPU para tu grupo de nodos. Debes solicitar una cuota adicional para cada tipo de nodo y, si adquieres descuentos por compromiso de uso, debes solicitar un aumento de la cuota para las CPU comprometidas. Según tu configuración y las necesidades de tus cargas de trabajo, es posible que también debas solicitar un ajuste de la cuota para las VM o las direcciones IP.

  2. Habilita la API de Cloud Build: Para importar tu imagen de SO, debes habilitar la API de Cloud Build. Cuando habilitas esta API, Compute Engine otorga a tu proyecto las funciones de IAM adecuadas para que puedas importar imágenes a tu proyecto. Para obtener una lista de las funciones que se otorgan a tu proyecto, usa el comando gcloud projects get-iam-policy. Para obtener información acerca de cómo otorgar funciones a tu proyecto, consulta Administra el acceso a los recursos de Compute Engine.

  3. Habilita la API de Cloud Logging: Habilita esta API si tus contratos de licencia requieren que realices un seguimiento del uso del servidor físico. Con esta API habilitada, puedes importar y ver la información de uso del servidor, como el recuento de núcleos físicos, mediante BigQuery, que Google recomienda. Para obtener información sobre cómo determinar el recuento de núcleos físicos, consulta Determina el uso del servidor.

Importa un archivo del disco virtual y crea una imagen

Antes de importar el archivo de disco virtual para tu VM, verifica que no existan incompatibilidades en el archivo cuando descargas y ejecutas la herramienta de comprobación previa desde tu VM.

Para iniciar una VM con tu propia licencia, importa un disco virtual con el SO que desees usar. Puedes importar el archivo con la herramienta de línea de comandos de gcloud, que admite la importación de discos virtuales desde depósitos de Cloud Storage y estaciones de trabajo locales.

Cuando se importa un archivo de disco virtual, la herramienta de importación de imágenes sube el archivo de imagen a Cloud Storage y, si es necesario, crea un nuevo depósito de Cloud Storage. Luego, la herramienta de importación copia el archivo en Compute Engine y crea una imagen desde el archivo de disco virtual.

Si alojas el archivo del disco virtual en tu estación de trabajo local, la herramienta de importación de imágenes sube el archivo a un depósito de Cloud Storage y, luego, importa la imagen a Compute Engine.

Para obtener una explicación completa de la herramienta de importación de imágenes, consulta Importa discos virtuales.

gcloud

  1. Ejecuta el siguiente comando para importar tu archivo de disco virtual y crear una imagen:

    gcloud compute images import image-name  --source-file file-name  --os os
    

    Reemplaza lo siguiente:

    • image-name: El nombre para asignar a la imagen.

    • file-name: El archivo de disco virtual que se aloja de forma local o se almacena en Cloud Storage.

      • Si tu disco virtual es un archivo local: Usa una ruta absoluta o relativa. En este caso, la operación de carga puede tomar varios minutos en ejecutarse en función del tamaño del disco virtual y la velocidad de la conexión de red.

      • Si tu archivo de disco virtual está almacenado en Cloud Storage: especifica la ruta de acceso completa del archivo en el formato gs://bucket-name/object-name, y el archivo debe existir en un depósito de almacenamiento en el mismo proyecto que se usa para el proceso de importación.

    • os: El sistema operativo de source-file. Debe ser una de las siguientes opciones:

      • rhel-6-byol
      • rhel-7-byol
      • rhel-8-byol
      • sles-12-byol
      • sles-15-byol
      • windows-2012-byol
      • windows-2012r2-byol
      • windows-2016-byol
      • windows-2019-byol
      • windows-7-x64-byol
      • windows-7-x86-byol
      • windows-8-x64-byol
      • windows-8-x86-byol
      • windows-10-x64-byol
      • windows-10-x86-byol
  2. Una vez que creas la imagen, puedes compartirla con usuarios fuera de tu organización o proyecto:

    gcloud projects add-iam-policy-binding project-id  --member user:user-email  --role roles/compute.imageUser
    

    Reemplaza lo siguiente:

    • project-id: El ID del proyecto que contiene la imagen a la que se otorgará acceso.
    • user-email: El correo electrónico del usuario con quien se compartirá la imagen.

    Para obtener información sobre cómo acceder a las imágenes compartidas, consulta Accede a las imágenes compartidas.

  3. Los archivos almacenados en Cloud Storage y las imágenes de Compute Engine generan costos. Después de verificar que la imagen se importa y se inicia de forma correcta como una VM, puedes borrar el archivo de disco virtual de Cloud Storage.

Crea una plantilla de nodo de usuario único

Crea una plantilla de nodo para basar tu grupo de nodos.

gcloud

gcloud compute sole-tenancy node-templates create template-name --node-type node-type --region region --server-binding server-binding

Reemplaza lo siguiente:

  • template-name: El nombre de la plantilla de nodos que creas.
  • node-type: Tipo de nodo para esta plantilla. Por ejemplo, selecciona el tipo de nodo n2-node-80-640 para crear un nodo con 80 CPU virtuales y 624 GB de memoria.

  • region: La región en la que se crea la plantilla de nodos.

  • server-binding: La política de vinculación del servidor para los nodos que usan esta plantilla. Establece una de las siguientes opciones según tu tipo de licencia:

    • restart-node-on-any-server
    • restart-node-on-minimal-servers

API

POST https://www.googleapis.com/compute/beta/projects/project-id/regions/region/nodeTemplates

{
   "name": "template-name",
   "nodeType": "node-type"
   "nodeAffinityLabels": {
      "key": "value"
   },
   "serverBinding":
   {
     "type": "server-binding"
   }
}

Reemplaza lo siguiente:

  • project-id: El ID del proyecto.
  • template-name: El nombre de la plantilla de nodos que creas.
  • node-type: Tipo de nodo para esta plantilla. Por ejemplo, selecciona el tipo de nodo n2-node-80-640 para crear un nodo con 80 CPU virtuales y 624 GB de memoria.

  • key:value: La lista de etiquetas de afinidad separadas por comas. Ten en cuenta que las etiquetas de afinidad solo se establecen cuando se crea la plantilla de nodo.

  • region: La región en la que se crea la plantilla de nodo.

  • server-binding: La política de vinculación del servidor para los nodos que usan esta plantilla. Establece una de las siguientes opciones según tu tipo de licencia:

    • RESTART_NODE_ON_ANY_SERVER
    • RESTART_NODE_ON_MINIMAL_SERVER

Crea un grupo de nodos de una plantilla de nodos

Crea un grupo de nodos a partir de una plantilla de nodo que creaste antes y especifica la política de mantenimiento de VM.

gcloud

gcloud beta compute sole-tenancy node-groups create group-name  --node-template template-name  --target-size group-size  --zone zone  --maintenance-policy maintenance-policy

Reemplaza lo siguiente:

  • group-name: el nombre del grupo de nodos que se creará.
  • template-name: El nombre de la plantilla de nodo a partir de la que se creará el grupo de nodos.
  • group-size: El tamaño inicial del grupo de nodos.
  • zone: La zona en la que se creará el grupo de nodos.
  • maintenance-policy: La política de mantenimiento del grupo de nodos. Establécela en uno de los siguientes valores:
    • migrate-within-node-group
    • restart-in-place
    • default

API

POST https://www.googleapis.com/compute/beta/projects/project-id/zones/zone/nodeGroups?initialNodeCount=target-size

{
  "nodeTemplate": "/regions/region/nodeTemplates/template-name",
  "name": "group-name",
  "maintenancePolicy": "maintenance-policy"
}

Reemplaza lo siguiente:

  • project-id: El ID del proyecto en el que se creará el grupo de nodos.
  • zone: La zona en la que se creará el grupo de nodos. Debe estar en la misma región que la plantilla de nodo que usas.
  • target-size: La cantidad de nodos que se crearán en el grupo.
  • region: La región en la que se ubica la plantilla de nodo.
  • template-name: El nombre de la plantilla de nodo que deseas usar para crear este grupo.
  • group-name: El nombre del grupo de nodos nuevo.
  • maintenance-policy: La política de mantenimiento del grupo de nodos. Establécela en uno de los siguientes valores:
    • MIGRATE_WITHIN_NODE_GROUP
    • RESTART_IN_PLACE
    • DEFAULT

Aprovisiona una VM en el grupo de nodos

Aprovisiona una VM en el grupo de nodos y especifica el comportamiento de reinicio de la VM. Si antes especificaste que tus grupos de nodos reiniciaran las VM alojadas dentro del mismo grupo de nodos durante un evento de mantenimiento, cuando creas una instancia de VM nueva, especifica que realice una de las siguientes acciones:

  • Migrar después de un reinicio debido a un evento de mantenimiento.
  • Finalizarse y, luego, reiniciarse en el mismo host. Si el mismo host no está disponible, se aprovisiona un servidor nuevo y no se vuelve a usar el ID físico del host anterior.

gcloud

gcloud compute instances create vm-name  --custom-cpu num-cpus  --custom-memory gb-memory  --image image-name  --zone zone  --node-group group-name  restart-behavior  --maintenance-policy maintenance-policy

Reemplaza lo siguiente:

  • vm-name: El nombre de la VM que estás creando.
  • num-cpus: La cantidad de CPU en la VM nueva.
  • gb-memory: La cantidad de memoria en GB en la VM nueva.
  • image-name: El nombre de la imagen a partir de la cual se creará esta VM.
  • zone: La zona en la que se creará la VM.
  • group-name: El nombre del grupo de nodos en el que se aprovisionará la VM.
  • restart-behavior: El comportamiento de reinicio de esta VM. Especifica una de las siguientes opciones:
    • --restart-on-failure
    • --no-restart-on-failure
  • maintenance-policy: El comportamiento de la VM durante los eventos de mantenimiento. Especifica una de las siguientes opciones según tu caso:
    • MIGRATE
    • TERMINATE

API

POST https://www.googleapis.com/compute/v1/projects/project-id/zones/vm-zone/instances

{
  "machineType": "/zones/machine-type-zone/machineTypes/custom-num-cpus-mb-memory",
  "name": "vm-name",
  "scheduling": {
    "nodeAffinities": [
      {
        "key": "node-group",
        "operator": "IN",
        "values": [
        "group-name"
        ]
      }
    ],
    "onHostMaintenance": "maintenance-policy",
    "automaticRestart": "restart-behavior"
  },
  "networkInterfaces": [
    {
     "network": "/global/networks/network",
     "subnetwork": "/regions/region/subnetworks/subnetwork"
    }
  ],
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "/projects/image-project/global/images/family/image-family"
       }
    }
  ]
}

Reemplaza lo siguiente:

  • project-id: El ID del proyecto en el que se creará la VM.
  • vm-zone: La zona en la que se creará la VM.
  • machine-type-zone: La zona que contiene el tipo de máquina.
  • num-cpus: La cantidad de CPU en la VM nueva.
  • mb-memory: La cantidad de memoria en MB en la VM nueva.
  • vm-name: El nombre de la VM nueva.
  • group-name: El nombre del grupo de nodos en el que se creará esta VM.
  • maintenance-policy: El comportamiento de mantenimiento para esta VM. Selecciona una de las siguientes opciones según tu caso:
    • MIGRATE
    • TERMINATE
  • restart-behavior: El comportamiento de reinicio de esta VM. El valor predeterminado es true.
  • network: El nombre de la red a la que conectarás la VM.
  • subnetwork: El nombre de la subred a la que se conectará la VM.
  • image-project: El proyecto de imagen que contiene la imagen de origen.
  • image-family: La familia de imágenes de la imagen de origen.

Próximos pasos