Licencias adquiridas por el usuario


En este documento, se describe cómo Google Cloud admite licencias adquiridas por el usuario (BYOL) que tienen requisitos de hardware dedicado para Compute Engine. Antes de intentar usar imágenes con licencias existentes en Google Cloud, revisa los Términos y Condiciones de la licencia.

Para usar tus licencias existentes de núcleo físico o procesador físico con requisitos de hardware dedicado, debes usar tu propio contenido y ejecutarlo en opciones de configuración de hardware que cumplan con las licencias, como los nodos de usuario único. Puedes usar imágenes con licencias existentes en cualquier región que admita nodos de usuario único. Si bien no hay cargos adicionales por usar imágenes con licencias existentes, debes pagar por ellas según los contratos que tengas.

Las situaciones de licencia, como las licencias relacionadas con BYOS de Linux con RHEL o SLES, y las aplicaciones de Microsoft no requieren nodos de usuario único. Si consideras usar licencias de aplicaciones de Microsoft, como SharePoint Server y SQL Server, usa la movilidad de licencias de Microsoft.

Los nodo de usuario único son servidores físicos dedicados a alojar instancias de máquina virtual (VM) solo para tu proyecto. Puedes configurarlos a fin de admitir varios requisitos de la carga de trabajo, como los requisitos para minimizar la cantidad de servidores y núcleos físicos. Consulta el contrato de licencia a fin de determinar qué opciones de configuración son más adecuadas para las cargas de trabajo.

Con el fin de admitir licencias adquiridas por el usuario y ayudarte a administrar los requisitos de cumplimiento relacionados con ellas, Google Cloud proporciona herramientas para importar imágenes, administrar las VM en hardware dedicado mediante nodos de usuario único, minimizar el uso de núcleos físicos y realizar un seguimiento de esos núcleos a fin de generar informes.

Para usar imágenes con licencias existentes en Google Cloud, debes hacer lo siguiente:

  1. Prepara las imágenes según los contratos de licencia.

  2. Activa las licencias.

  3. Importa archivos de discos virtuales y crea imágenes a partir de esos archivos.

  4. Crea plantillas de nodos de usuario único.

  5. Crea grupos de nodos de usuario único a partir de las plantillas de nodos.

  6. Aprovisiona las VM en los grupos de nodos con los archivos de discos virtuales importados.

  7. Realiza un seguimiento del uso de licencias de las VM. Para ayudarte a generar un informe sobre el consumo de licencias, Google proporciona herramientas que te permiten realizar un seguimiento del uso de licencias y del uso de núcleos y procesadores físicos.

  8. Genera informes sobre el consumo de licencias para tu proveedor.

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. Revisa las políticas de mantenimiento del grupo de nodos: En el caso de BYOL, existen dos políticas de mantenimiento que minimizan la cantidad de servidores físicos que se usan con fines de licencias. Estas políticas son restart-in-place y migrate-within-node-group.

  2. Solicita una cuota de CPU adicional: los proyectos nuevos reciben una cuota de 72 CPU. Asegúrate de tener suficiente cuota de CPU para tu grupo de nodos. Por ejemplo, el tipo de nodo n1-node-96-624 contiene 96 CPU, y, si tu grupo de nodos usa la cantidad mínima de nodos (2), tu cuota de CPU debe ser 192 como mínimo. Según la configuración y las necesidades de tus cargas de trabajo, es posible que también debas solicitar un ajuste de cuota para las VM o las direcciones IP.

  3. 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.

  4. 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 Analiza el uso de nodo de usuario único.

Importa y crea una imagen desde un disco virtual sin conexión

Si deseas aprovisionar las VM con las licencias existentes, debes usar tu propio contenido. Las imágenes basadas en una imagen premium de Google Cloud no son aptas para BYOL porque requieren licencias prepagas de Google.

Si tienes discos virtuales (discos dorados o imágenes doradas) en tu entorno local con opciones de configuración o licencias de software que necesitas, la herramienta de importación de discos virtuales puede ayudarte con las siguientes tareas:

  1. Importación de tus discos virtuales personalizados con un sistema operativo compatible y creación de imágenes basadas en esos discos

  2. Establecimiento de la configuración de licencia adecuada

  3. Instalación de los paquetes y controladores necesarios para la compatibilidad con Google Cloud

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. Además, debido a que el software de terceros puede interferir en la instalación de los controladores de Compute Engine, Google recomienda quitar el software de terceros antes de importar la imagen.

Para iniciar una VM con tu propia licencia, importa un disco virtual con el SO que desees usar. Puedes importar discos virtuales desde depósitos de Cloud Storage y estaciones de trabajo locales. Cuando importas un archivo de disco virtual desde una estación de trabajo local, la herramienta de importación de imágenes sube el archivo de imagen a Cloud Storage y, si es necesario, crea un bucket de Cloud Storage nuevo. Luego, la herramienta de importación copia el archivo en Compute Engine y crea una imagen de arranque desde el archivo de disco virtual.

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.

Console

  1. Ve a la página Images (Imágenes).

    Ir a Imágenes

  2. Haga clic en Crear imagen.

  3. Especifica un nombre para la imagen.

  4. En Origen, selecciona Disco virtual (VMDK, VHD).

  5. En Archivo de Cloud Storage, elige Explorar y selecciona la ubicación de Cloud Storage de la imagen que deseas importar.

  6. En Sistema operativo en disco virtual, elige el sistema operativo de la imagen que quieres importar.

  7. Asegúrate de que Instalar paquetes invitados esté seleccionado, de modo que se pueda iniciar la imagen que importas.

  8. Expande Opciones de clave de licencia. En Licencia de SO, elige Usa tu propia clave de licencia.

  9. Haz clic en Crear para importar la imagen.

gcloud

Ejecuta gcloud compute images import para importar un archivo de disco virtual y crear una imagen de disco a partir del archivo de disco virtual:

gcloud compute images import IMAGE_NAME \
    --source-file VMDK_NAME \
    --os OS

Reemplaza lo siguiente:

  • IMAGE_NAME: Es el nombre que se le dará a la imagen creada a partir del archivo de disco virtual.
  • VMDK_NAME: Es el nombre del disco virtual desde el que se importará y creará una imagen. Puedes importar un archivo VMDK desde las siguientes ubicaciones:

    • Un archivo local: si importas un archivo local, usa una ruta de acceso absoluta o una ruta de acceso relativa al archivo. Según el tamaño del disco virtual y la velocidad de la conexión de red, la carga puede tomar varios minutos.
    • Cloud Storage: si importas desde Cloud Storage, el bucket de Cloud Storage debe estar en el mismo proyecto que usas para importar el disco virtual. También debes especificar la ruta de acceso completa al archivo como gs://BUCKET_NAME/OBJECT_NAME y reemplazar BUCKET_NAME por el nombre del bucket de Cloud Storage y OBJECT_NAME por el nombre del objeto de Cloud Storage.
  • OS: Es el sistema operativo de la imagen de disco. Debe ser un sistema operativo compatible.

Activa licencias

Después de verificar que importas un SO compatible, eres responsable de verificar que tus contratos de licencia te permitan usar las licencias adquiridas por el usuario y que puedas usar la imagen de SO invitado y el entorno de importación de licencias que proporciona Google. También eres responsable de preparar la imagen de SO invitado para importarla según tus contratos de licencia.

Para activar una licencia, usa secuencias de comandos de inicio con tu clave de activación múltiple (MAK) o configura el acceso al servicio de administración de claves de Microsoft de tu organización. No puedes activar imágenes con licencias existentes en el servidor de licencias de Compute Engine.

Después de importar la imagen y activar la licencia, aprovisiona una VM basada en la imagen importada en un nodo de usuario único.

Crea una plantilla de nodo de usuario único

Después de importar la imagen, crea una plantilla de nodo de usuario único. Debes usar esta plantilla de nodo para crear un grupo de nodos de usuario único en el que ejecutarás tu imagen.

En la página de plantillas de nodos no se enumeran la región ni la zona de la plantilla, pero los grupos de nodos deben crearse en una zona dentro de la región donde creaste la plantilla de nodo. Para crear una plantilla, primero debes crear un grupo de nodos, pero solo debes completar los pasos hasta la elección de la región y la zona. Después, podrás crear la plantilla y no continuar con la creación del grupo de nodos si así lo deseas.

Debes establecer las etiquetas de afinidad de nodo en la plantilla de nodo de usuario único cuando crees la plantilla.

Console

  1. Ve a la página Nodos de usuario único.

    Ir a Nodos de usuario único

  2. Haz clic en Crear grupo de nodos.

  3. Completa el campo Nombre para el grupo de nodos.

  4. Selecciona las opciones de Región y Zona para el grupo de nodos.

    Toma nota de la región y la zona que usaste. Más adelante, cuando crees un grupo de nodos a partir de esta plantilla de nodo, el grupo debe estar en una zona dentro de la región en la que creaste la plantilla.

  5. En Propiedades de la plantilla de nodo, selecciona Crear plantilla de nodo.

  6. En el cuadro de diálogo Crear una plantilla de nodo, especifica un Nombre, un Tipo de nodo, un SSD local y un acelerador de GPU.

  7. En Exceso de compromiso de CPU, elige si deseas habilitar el exceso de compromiso de CPU.

  8. En Etiquetas de afinidad, haz clic en Agregar etiqueta de afinidad para agregar un par clave-valor como etiqueta de afinidad de nodo (opcional).

  9. Haz clic en Crear para terminar de crear tu plantilla de nodo.

  10. Haz clic en Cancelar para cancelar la creación de un grupo de nodos.

gcloud

Crea una plantilla de nodo de usuario único mediante gcloud compute sole-tenancy node-templates create.

gcloud compute sole-tenancy node-templates create TEMPLATE_NAME \
    --node-type NODE_TYPE \
    --region REGION

Reemplaza los siguientes valores:

  • TEMPLATE_NAME: Es el nombre de la plantilla de nodo que se creará.
  • NODE_TYPE: Es el tipo de nodo de usuario único para los nodos de un grupo de nodos. Todos los nodos de un grupo de nodos son idénticos y se crean a partir de los parámetros especificados por una plantilla de nodo.
  • REGION: Es la región en la que se creará la plantilla de nodo.

API

Crea una plantilla de nodo de usuario único mediante nodeTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/nodeTemplates

{
   "name": "TEMPLATE_NAME",
   "nodeType": "NODE_TYPE"
   "nodeAffinityLabels": {
      "KEY": "VALUE"
   }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto.
  • REGION: Es la región en la que se creará la plantilla de nodo.
  • TEMPLATE_NAME: Es el nombre de la plantilla de nodo que se creará.
  • NODE_TYPE: Es el tipo de nodo de usuario único para los nodos de un grupo de nodos. Todos los nodos de un grupo de nodos son idénticos y se crean a partir de los parámetros especificados por una plantilla de nodo.
  • "KEY": "VALUE": Es la lista separada por comas de las etiquetas de afinidad representadas como pares clave-valor. Solo puedes especificar etiquetas de afinidad para una plantilla de nodo cuando la creas.

Crea un grupo de nodos de usuario único

Para crear un grupo de nodos basado en una plantilla de nodo, este debe estar en una zona dentro de la región en la que creaste la plantilla de nodo. Un grupo de nodos de usuario único hereda las propiedades especificadas por la plantilla de nodo de usuario único. El grupo de nodos de usuario único tiene valores adicionales que debes especificar. En el caso de BYOL, según los requisitos de licencia, considera las diferentes políticas de mantenimiento:

  • Si las licencias se asignan por núcleos físicos, usa la política de mantenimiento restart-in-place o migrate-within-node-group para minimizar la cantidad de servidores físicos que se usan.
  • Si las licencias se asignan según el usuario o dispositivo, un modelo que se suele usar para las licencias de escritorio virtual, usa la política de mantenimiento default. Estas licencias no se asignan por núcleos físicos y, por lo tanto, no necesitan políticas de mantenimiento especiales para limitar el uso de servidores físicos.

Console

  1. Ve a la página Nodos de usuario único.

    Ir a Nodos de usuario único

  2. Haz clic en Crear grupo de nodos.

  3. En Propiedades del grupo de nodos, ingresa un Nombre para el grupo de nodos.

  4. Selecciona las opciones de Región y Zona para el grupo de nodos.

    Si hay plantillas disponible en esa región o zona, estas se indican en Propiedades de la plantilla de nodo, después de hacer clic en Continuar.

  5. Haga clic en Continuar.

  6. En Propiedades de la plantilla de nodo, selecciona la Plantilla de nodo en la que deseas basar el grupo de nodos. Los grupos de nodos deben estar en una zona dentro de la región en la que creaste la plantilla de nodo, por lo que, cuando selecciones la plantilla para un grupo de nodos, debes seleccionar una que esté en la región que contiene la zona en la que crearás el grupo de nodos. Si no existe una plantilla de nodo, puedes crear una.

  7. Haga clic en Continuar.

  8. En Configurar ajuste de escala automático, establece el Modo de ajuste de escala automático en uno de los siguientes valores. Para obtener más información, consulta Ajuste de escala automático de grupos de nodos.

    • Activo: permite que los nodos se agreguen o quiten de forma automática del grupo de nodos.
    • Solo escalar horizontalmente: se agregan nodos al grupo de nodos cuando se requiere capacidad adicional.
    • Desactivado: se administra de forma manual el tamaño del grupo de nodos.
  9. Especifica la Cantidad mínima de nodos del grupo. Si habilitas el escalador automático de grupos de nodos, especifica un rango (cantidad mínima y máxima de nodos) para el tamaño del grupo de nodos o especifica la cantidad de nodos del grupo. Puedes cambiar de forma manual cualquiera de los valores más adelante.

  10. Haga clic en Continuar.

  11. En Establece la configuración de mantenimiento, establece la Política de mantenimiento en uno de los siguientes valores (opcional). La política de mantenimiento te permite configurar el comportamiento de las VM en el grupo de nodos durante los eventos de mantenimiento del host. Para obtener más información, consulta Políticas de mantenimiento.

    • Predeterminada
    • Reiniciar en su ubicación
    • Migrar dentro del grupo de nodos
  12. Haz clic en Crear.

gcloud

Crea un grupo de nodos de usuario único con el comando gcloud compute sole-tenancy node-groups create.

gcloud compute sole-tenancy node-groups create GROUP_NAME \
    --node-template TEMPLATE_NAME \
    --target-size GROUP_SIZE \
    --zone ZONE \
    --maintenance-policy MAINTENANCE_POLICY

Reemplaza los siguientes valores:

  • GROUP_NAME: Es el nombre del grupo de nodos de usuario único que se creará.
  • TEMPLATE_NAME: Es el nombre de la plantilla de nodo a partir de la cual se creará el grupo de nodos.
  • GROUP_SIZE: Es el tamaño inicial del grupo de nodos. El escalador automático de los grupos de nodos administra de forma automática el tamaño de los grupos de nodos de usuario único. También puedes administrar el tamaño de forma manual.
  • ZONE: Es la zona en la que se creará el grupo de nodos. Debe estar en la misma región que la plantilla de nodo.
  • MAINTENANCE_POLICY: Es la política de mantenimiento del grupo de nodos. Establece la política de mantenimiento en uno de los siguientes valores. Si no se establece ningún valor, default se usará para la política de mantenimiento.

    • default
    • migrate-within-node-group
    • restart-in-place

API

Crea un grupo de nodos de usuario único mediante nodeGroups.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups?initialNodeCount=GROUP_SIZE

{
  "nodeTemplate": "/regions/REGION/nodeTemplates/TEMPLATE_NAME",
  "name": "GROUP_NAME",
  "maintenancePolicy": "MAINTENANCE_POLICY"
}

Reemplaza los siguientes valores:

  • PROJECT_ID: Es el ID del proyecto en el que se creará el grupo de nodos.
  • ZONE: Es la zona en la que se creará el grupo de nodos. Debe estar en la misma región que la plantilla de nodo.
  • GROUP_SIZE: Es el tamaño inicial del grupo de nodos. El escalador automático de los grupos de nodos administra de forma automática el tamaño de los grupos de nodos de usuario único. También puedes administrar el tamaño de forma manual.
  • REGION: Es la región que contiene la plantilla de nodo.
  • TEMPLATE_NAME: Es el nombre de la plantilla de nodo a partir de la cual se creará el grupo de nodos.
  • GROUP_NAME: Es el nombre del grupo de nodos de usuario único que se creará.
  • MAINTENANCE_POLICY: Es la política de mantenimiento del grupo de nodos. Establece la política de mantenimiento en uno de los siguientes valores. Si no se establece ningún valor, DEFAULT se usará para la política de mantenimiento.

    • DEFAULT
    • RESTART_IN_PLACE
    • MIGRATE_WITHIN_NODE_GROUP

Aprovisiona una VM de usuario único

Aprovisiona una VM en el grupo de nodos y especifica la política de mantenimiento del host. Ten en cuenta los siguientes requisitos:

  • Para aprovisionar en grupos de nodos con la política de mantenimiento restart-in-place, asegúrate de que la VM tenga el valor TERMINATE para la política de mantenimiento del host.
  • Para aprovisionar en grupos de nodos con la política de mantenimiento migrate-within-node-group, asegúrate de que la VM se oriente a un solo grupo de nodos con la etiqueta de afinidad node-group-name y que no esté orientada a nodos individuales con la etiqueta de afinidad node-name. Cualquier tipo de política de mantenimiento del host es válido, pero se recomienda usar MIGRATE.

Console

Si usaste etiquetas de afinidad de nodo en la plantilla, puedes crear varias VM con grupos de instancias administrados (MIG) y especificar las etiquetas de afinidad de nodo en la configuración de Nodo de usuario único o crear VM individuales desde la página de detalles del grupo de nodos:

  1. Ve a la página Nodos de usuario único.

    Ir a Nodos de usuario único

  2. Haz clic en el nombre del grupo de nodos en el que se aprovisionará una VM.

  3. Crea una VM en un nodo de usuario único mediante una de las siguientes acciones:

    • Para crear una VM en cualquier lugar del grupo de nodos de usuario único, haz clic en Crear instancia.
    • Si deseas crear una VM en un nodo de usuario único específico, haz clic en el nombre de un grupo de nodos de usuario único, luego, haz clic en el nombre de un nodo y, por último, haz clic en Crear instancia.
  4. Configura la VM de usuario único. Debido a que ya seleccionaste tu grupo de nodos o un nodo específico, la Región, la Zona y las etiquetas de afinidad de nodo ya están especificadas por la plantilla.

  5. Para seleccionar una opción de Configuración de la máquina, especifica los valores de Familia de máquinas, Serie y Tipo de máquina. Elige la opción de Serie que corresponda al tipo de nodo de usuario único.

  6. Selecciona la opción de Disco de arranque para la VM de usuario único, que es la imagen de disco virtual que se importó antes.

  7. Selecciona la pestaña Administración:

    • En Política de disponibilidad >, Mantenimiento en el host, selecciona el comportamiento de reinicio de la VM.
    • En Reinicio automático, selecciona Activado (recomendado) o Desactivado.
  8. Haz clic en Crear.

gcloud

Aprovisiona una VM de usuario único en un grupo de nodos de usuario único con el comando gcloud compute instances create.

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE
    --image IMAGE_NAME \
    --zone ZONE \
    --node-group GROUP_NAME \
    RESTART_BEHAVIOR \
    --maintenance-policy MAINTENANCE_POLICY

Reemplaza los siguientes valores:

  • VM_NAME: Es el nombre de la VM que se creará.
  • MACHINE_TYPE: Es el tipo de máquina para la nueva VM.
  • IMAGE_NAME: Es la imagen a partir de la cual se creará una VM. Esta es la imagen que se crea durante el proceso de importación.
  • ZONE: Es la zona en la que se creará la VM.
  • GROUP_NAME: Es el nombre del grupo de nodos en el que se aprovisionará la VM.
  • RESTART_BEHAVIOR: El comportamiento de reinicio de esta VM. Establece el comportamiento de reinicio en uno de los siguientes valores:

    • --restart-on-failure
    • --no-restart-on-failure
  • MAINTENANCE_POLICY: El comportamiento de la VM durante los eventos de mantenimiento. Establece la política de mantenimiento en uno de los siguientes valores:

    • MIGRATE
    • TERMINATE

API

Aprovisiona una VM de usuario único en un grupo de nodos de usuario único con el método instances.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/VM_ZONE/instances

{
  "name": "VM_NAME",
  "machineType": "/zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
  "scheduling": {
    "nodeAffinities": [
      {
        "key": "node-group",
        "operator": "IN",
        "values": [
        "GROUP_NAME"
        ]
      }
    ],
    "onHostMaintenance": "MAINTENANCE_POLICY",
    "automaticRestart": "AUTOMATIC_RESTART"
  },
  "networkInterfaces": [
    {
     "network": "/global/networks/NETWORK",
     "subnetwork": "/regions/region/subnetworks/SUBNETWORK"
    }
  ],
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
       }
    }
  ]
}

Reemplaza los siguientes valores:

  • PROJECT_ID: Es el ID del proyecto en el que se creará la VM.
  • VM_ZONE: Es la zona en la que se creará la VM.
  • VM_NAME: Es el nombre de la VM nueva.
  • MACHINE_TYPE_ZONE: Es la zona que contiene el tipo de máquina.
  • MACHINE_TYPE: Es el tipo de máquina en el que se aprovisionará la VM.
  • GROUP_NAME: Es el nombre del grupo de nodos en el que se aprovisionará la VM.
  • MAINTENANCE_POLICY: Es el comportamiento de la VM durante los eventos de mantenimiento, establecido en MIGRATE o TERMINATE.
  • AUTOMATIC_RESTART: Especifica si la VM se reinicia de forma automática si Compute Engine detiene la VM. El valor predeterminado es true.
  • NETWORK: Es el nombre de la red a la que se conectará la VM.
  • SUBNETWORK: Es el nombre de la subred a la que se conectará la VM.
  • IMAGE_PROJECT: Es el proyecto de imagen que contiene la imagen de origen.
  • IMAGE_FAMILY: Es la familia de imágenes de la imagen de origen.

¿Qué sigue?