Compute Engine ofrece tipos predefinidos de máquinas que puedes usar cuando creas una instancia de VM. Un tipo predefinido de máquina tiene una cantidad predeterminada de CPU virtuales y de memoria, y tiene un precio determinado. Si los tipos predefinidos de VM no satisfacen tus necesidades, puedes crear una instancia de VM con una configuración de hardware virtualizada y personalizada. Específicamente, puedes crear una instancia de VM con una cantidad personalizada de CPU virtuales y memoria mediante el uso efectivo de un tipo personalizado de máquina. Los tipos personalizados de máquinas están disponibles para lo siguiente:
- Familia de máquinas de uso general solo para las series de máquinas N y E. Puedes crear una VM personalizada en las series de máquinas N4, N4D, N4A, N2, N2D, E2 o N1.
- Familia de máquinas optimizadas para aceleradores solo para la serie de máquinas G2.
Las VM personalizadas son ideales en las siguientes situaciones:
- Las cargas de trabajo que no son adecuadas para los tipos predefinidos de máquina
- Las cargas de trabajo que requieren mayor procesamiento o memoria, pero no necesitan todas las actualizaciones que proporciona el próximo nivel de tipo de máquina.
- Cargas de trabajo que tienen costos de licencia de software por CPU, en las que puedes personalizar la cantidad de CPU virtuales para evitar los costos de licencia por la capacidad de procesamiento no utilizada o para coincidir con los recuentos de licencias de software disponibles.
Antes de comenzar
- Lee la documentación sobre las familias de máquinas.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar
código o muestras desde un entorno de desarrollo local, puedes autenticarte en
Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña según cómo planeas usar las muestras de esta página:
Console
Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud , no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI. Después de instalarla, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
- Configura una región y una zona predeterminadas.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Si usas una shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
Si se devuelve un error de autenticación y usas un proveedor de identidad externo (IdP), confirma que accediste a gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Si usas una shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
Si se devuelve un error de autenticación y usas un proveedor de identidad externo (IdP), confirma que accediste a gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Si usas una shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
Si se devuelve un error de autenticación y usas un proveedor de identidad externo (IdP), confirma que accediste a gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Si usas una shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
Si se devuelve un error de autenticación y usas un proveedor de identidad externo (IdP), confirma que accediste a gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Si usas una shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
Si se devuelve un error de autenticación y usas un proveedor de identidad externo (IdP), confirma que accediste a gcloud CLI con tu identidad federada.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para usar las muestras de Go de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para usar las muestras de Node.js de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que
necesitas para crear una VM con un tipo personalizado de máquina,
pídele a tu administrador que te otorgue el rol de IAM
Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) en el proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para crear una VM con un tipo personalizado de máquina. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Los siguientes permisos son necesarios para crear una VM con un tipo personalizado de máquina:
-
Para agregar memoria extendida a una VM existente,
ingresa
compute.instances.setMachineTypeen la VM. -
Para crear una VM con un tipo personalizado de máquina, haz lo siguiente:
compute.instances.createen el proyecto- Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos:
compute.images.useReadOnlyen la imagen - Si deseas usar una instantánea para crear la VM, sigue estos pasos:
compute.snapshots.useReadOnlyen la instantánea - Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente:
compute.instanceTemplates.useReadOnlyen la plantilla de instancias - Para asignar una red heredada a la VM:
compute.networks.useen el proyecto - Si deseas especificar una dirección IP estática para la VM;
compute.addresses.useen el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red y punto heredado;
compute.networks.useExternalIpen el proyecto - A fin de especificar una subred para la VM:
compute.subnetworks.useen el proyecto o en la subred elegida - Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIpen el proyecto o en la subred elegida - A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos:
compute.instances.setMetadataen el proyecto - A fin de configurar etiquetas para la VM y los puntos;
compute.instances.setTagsen la VM - Si deseas configurar etiquetas para la VM, haz lo siguiente:
compute.instances.setLabelsen la VM - A fin de configurar una cuenta de servicio para que la VM la use
compute.instances.setServiceAccounten la VM - Si deseas crear un disco nuevo para la VM:
compute.disks.createen el proyecto - Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente:
compute.disks.useen el disco - Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos:
compute.disks.useReadOnlyen el disco
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Limitaciones
- Si tu VM tiene discos SSD locales, no puedes cambiar la configuración de CPU virtual y memoria.
La memoria extendida está disponible en los tipos de máquinas personalizados N4, N4A, N4D, N2, N2D y N1. Para conocer los límites de la memoria extendida, consulta Agrega memoria extendida a un tipo de máquina.
Los tipos de máquinas predefinidos, así como los tipos personalizados de máquinas G2 y E2, no admiten la memoria extendida.
Los descuentos por compromiso de uso basados en recursos no se aplican a la memoria extendida.
Cada tipo de máquina tiene rangos y valores específicos para las CPU virtuales y la memoria, como se muestra en la siguiente tabla:
| Series de máquinas | Mín. de CPUs virtuales | Máx. CPU virt. | CPU virtuales permitidas | Memoria mínima por CPU virtual (GB) | Memoria máxima por CPU virtual (GB) | Tamaño del paso (MB) | Memoria extendida |
|---|---|---|---|---|---|---|---|
| N4 | 2 | 80 | Cualquier múltiplo de 2 | 2 | 8 | 256 | Sí |
| N4D | 2 | 96 | 2, 4, 8, 16, 32, 48, 64, 80, 96 | 0.5 | 8 | 256 | Sí |
| N4A | 1 | 64 | Cualquiera | 2 | 8 | 256 | Sí |
| N2 | 2 | 80 | Múltiplos de 2 (hasta 32) o 4 (de 32 a 80) | 0.5 | 8 | 256 | Sí |
| N2D | 2 | 96 | 2, 4, 8, 16, 32, 48, 64, 80, 96 | 0.5 | 8 | 256 | Sí |
| N1 | 1 | 96 | 1 o cualquier múltiplo de 2 | 0.9 (1 para 1 o 2 CPUs virtuales) | 6.5 | 256 | Sí |
| E2 | 2 | 32 | Cualquier múltiplo de 2 | 0.5 | 8 | 256 | No |
| Núcleo compartido E2 | 0.25 | 1 | 0.25, 0.5, 1 | 1 en total | 8 (2 en total para micro, 4 en total para pequeña, 8 en total para mediana) | 256 | No |
Expresa la memoria en GB o MB
Por motivos históricos, las herramientas y la documentación de Google Cloud se refieren a la memoria del tipo de máquina como megabytes (MB) y gigabytes (GB) decimales. Sin embargo, estas unidades representan gibibytes (GiB) y mebibytes (MiB) binarios, en los que 1 GB equivale a 230 bytes o 1,024 MB.
Cuando configuras la memoria para un tipo personalizado de máquina, los requisitos y las conversiones de unidades dependen de la herramienta que uses:
- En la consola de Google Cloud , debes especificar la memoria en GB. Por ejemplo, si tu sistema necesita 1,024 MB de memoria, selecciona 1 GB en la consola de Google Cloud .
- En la API de Compute Engine, debes proporcionar la memoria en MB como un múltiplo entero de 256 MB (o 1,024 MB para las VMs G2). Por ejemplo, si intentas aprovisionar 5 GB de memoria especificando 5,000 MB en una solicitud a la API, la API devuelve un error porque 5,000 no es un múltiplo de 256 (5 GB son 5,120 MB).
- En Google Cloud CLI, puedes proporcionar la memoria total para una VM en GB o
MB:
- La marca
--custom-memoryse establece de forma predeterminada en GB si omites la unidad. Para especificar la memoria en MB, debes incluir el sufijo de unidadMB. Por ejemplo, si deseas 2,048 MB (2 GB) de memoria y especificas la marca--custom-memory=2048sin una unidad, gcloud CLI solicita 2,048 GB de memoria en lugar de 2,048 MB. - Los valores sin unidades que se pasan a
--custom-memorydeben ser números enteros. Para expresar incrementos de 0.25 GB (256 MB), como 5.75 GB, convierte el valor en un número entero en MB (--custom-memory=5888MB) o incluye el sufijo de unidadGB(--custom-memory=5.75GB). - Con la marca
--machine-type, debes especificar la memoria en MB como un número entero sin un sufijo de unidad, por ejemplo,--machine-type=n2-custom-2-5120.
- La marca
Precios de los tipos personalizados de máquinas
Compute Engine cobra por las VMs personalizadas en función de la cantidad de CPUs virtuales y las horas de memoria que usa la VM. Este modelo de precios difiere de la forma en que Compute Engine cobra por los tipos predefinidos de máquinas. Los precios a pedido para los tipos personalizados de máquinas incluyen un recargo del 5% sobre los precios a pedido para los tipos predefinidos de máquinas.
Cuando usas un tipo personalizado de máquina, toda la memoria hasta la cantidad predeterminada por CPU virtual, incluida esta, se cobra según los precios de los tipos personalizados de máquinas de la familia de máquinas. Tipos personalizados de máquinas E2 y con núcleo compartido E2 comparten el mismo esquema de precios.
Si usas tus compromisos para ejecutar tipos personalizados de máquinas, Compute Engine cobra un recargo del 5% sobre los precios de compromiso. Compute Engine cobra este recargo por la parte y la duración de tu compromiso en la que ejecutas estas VMs que son un tipo personalizado de máquina.
Para ver la información de precios por serie de máquinas, consulta Precios de instancias de VM.
Las VM personalizadas están sujetas al mismo cargo mínimo de 1 minuto al que está sujeta cualquier otra instancia, pero los descuentos por uso continuo de los tipos personalizados de máquinas se calculan de manera diferente. Si deseas obtener más información, consulta los descuentos por uso continuo para VM personalizadas.
Precios de la memoria extendida
Compute Engine cobra un importe adicional por la memoria que supera el rango máximo para la cantidad de CPU virtuales configuradas como memoria extendida, según el precio de la memoria personalizada extendida de la familia de máquinas. El precio de la memoria extendida es más alto que el de la memoria por debajo del máximo del rango.
Los precios de la memoria extendida varían según la región. Las instancias que se ejecutan con memoria extendida están sujetas a la misma carga mínima de 1 minuto a la que está sujeta cualquier otra instancia. La memoria extendida no califica para los descuentos por compromiso de uso basados en recursos, pero sí para los descuentos por compromiso de uso flexibles de procesamiento y los descuentos por uso continuo.
Agrega memoria extendida a un tipo de máquina
Cada serie de tipos de máquinas personalizados tiene un máximo de RAM predeterminado por CPU virtual. Para algunas cargas de trabajo, es posible que este máximo predeterminado no sea suficiente memoria por CPU virtual. Por un costo adicional, puedes obtener más memoria por CPU virtual que supere el máximo predeterminado hasta el límite de la serie de máquinas, lo que se denomina memoria extendida. En la siguiente tabla, se enumeran los límites de CPU virtual y memoria extendida para cada serie de máquinas compatible:
| Series de máquinas | Límite de CPU virtuales | Límite de memoria |
|---|---|---|
| N4 | 80 | 640 GB |
| N4D | 96 | 768 GB |
| N4A | 64 | 512 GB |
| N2 | 80 | 864 GB |
| N2D | 96 | 768 GB |
| N1 | 96 | 624 GB |
Para obtener proporciones de RAM a CPU virtual más altas, consulta también los tipos de máquinas con optimización de memoria.
Determina si necesitas memoria extendida
Ciertas cargas de trabajo necesitan más cantidad de memoria que la predeterminada por CPU virtual para ofrecer resultados óptimos. En esta categoría, se incluyen las cargas de trabajo que se basan en bases de datos de análisis de alto rendimiento en memoria, incluidas las bases de datos relacionales y NoSQL, como Microsoft SQL Server, MongoDB y Memcached o Redis. Las licencias basadas en CPU virtuales de los sistemas operativos y las pilas de software también hacen que seleccionar una configuración óptima de la memoria de la VM sea más difícil con los tipos de máquinas predefinidos. Con la memoria extendida, puedes agregar tanta memoria como las VMs necesiten para obtener la mejor relación entre precio y rendimiento.
Crea una VM con un tipo personalizado de máquina
Antes de crear una instancia de VM personalizada, lee las especificaciones personalizadas para crear este tipo de máquina.Console
En la consola de Google Cloud , ve a la página Crear una instancia.
En el panel Configuración de la máquina, haz lo siguiente:
- Selecciona la Región y la Zona en las que deseas alojar la instancia.
- Selecciona la configuración de la máquina para tu instancia:
- Para crear una VM personalizada de uso general, selecciona Uso general y, luego, en la sección Series, selecciona N4, N4A, N4D, N2, N2D, E2 o N1.
- Para crear una VM personalizada con GPUs conectadas, selecciona GPUs y, luego,
haz lo siguiente:
- En la lista Tipo de GPU, selecciona una GPU para la serie de máquinas
que deseas usar:
- Para las VMs G2, selecciona NVIDIA L4.
- Para las VMs N1, selecciona NVIDIA T4, NVIDIA V100 o NVIDIA Tesla P4.
- En la lista Cantidad de GPU, selecciona la cantidad.
- En la lista Tipo de GPU, selecciona una GPU para la serie de máquinas
que deseas usar:
- En la sección Tipo de máquina, selecciona Personalizado.
- Para especificar la cantidad de CPU virtuales y memoria de la instancia, arrastra los controles deslizantes Núcleos y Memoria, o ingresa los valores en los campos. La consola mostrará un costo estimado para la instancia a medida que cambies la cantidad de CPU virtuales y la memoria.
Opcional: Especifica otras opciones de configuración. Para obtener más información, consulta Opciones de configuración durante la creación de instancias.
Para crear y, luego, iniciar la instancia, haz clic en Crear.
gcloud
Crea un tipo personalizado de máquina con el
comando
gcloud compute instances create y la marca
--machine-type:
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--machine-type=MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB
Reemplaza lo siguiente:
INSTANCE_NAME: El nombre de la instancia.ZONE: la zona en la que deseas crear la instancia.MACHINE_SERIES: Es la serie de máquinas en minúsculas, comon4,n4d,n4a,n2,n2d,e2og2. Para N1, omiteMACHINE_SERIES-y comienza concustom-.NUMBER_OF_VCPUS: Es la cantidad de CPU virtuales.AMOUNT_OF_MEMORY_MB: la cantidad total de memoria en MB. Este valor debe ser un múltiplo entero de 256 MB (o 1,024 MB para las VMs G2).
Para crear una VM G2 con 4 CPUs virtuales y 19 GB de memoria en la zona
us-central1-a, ejecuta el siguiente comando:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=g2-custom-4-19456 \
--maintenance-policy=TERMINATE
Para las VMs G2, la memoria debe ser un múltiplo de 1,024 MB y estar dentro del rango de memoria admitido. Para obtener más información sobre cómo crear VMs G2, consulta Crea una instancia G2 o G4.
En el siguiente ejemplo, se crea un tipo personalizado de máquina N2 con 48 CPU virtuales y
310 GB (317,440 MB) de memoria en la zona us-central1-a:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=n2-custom-48-317440
Para las series de máquinas compatibles, como N4 o N2, puedes configurar la memoria extendida, que te permite especificar una cantidad de memoria mayor que la proporción máxima
predeterminada de memoria a CPU virtuales. Para configurar la memoria extendida, aumenta el
valor de AMOUNT_OF_MEMORY_MB y agrega -ext al
nombre del tipo de máquina, por ejemplo, --machine-type=n2-custom-48-720896-ext.
Como alternativa, puedes especificar un tipo personalizado de máquina con las marcas
--custom-cpu, --custom-memory y --custom-vm-type (y
también incluir la marca --custom-extensions si configuras la memoria
extendida):
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--custom-cpu=NUMBER_OF_VCPUS \
--custom-memory=AMOUNT_OF_MEMORY \
--custom-vm-type=MACHINE_SERIES
Reemplaza lo siguiente:
INSTANCE_NAME: El nombre de la instancia.ZONE: la zona en la que deseas crear la instancia.NUMBER_OF_VCPUS: Es la cantidad de CPU virtuales.AMOUNT_OF_MEMORY: Es la cantidad total de memoria con un sufijo de unidad (MBoGB), o en GB si omites la unidad.MACHINE_SERIES: Es la serie de máquinas en minúsculas, comon4,n4d,n4a,n2,n2d,e2on1.
En el siguiente ejemplo, se crea un tipo personalizado de máquina N2 con 48 CPUs virtuales y
310 GB de memoria con las marcas --custom-cpu, --custom-memory y
--custom-vm-type:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--custom-cpu=48 \
--custom-memory=317440MB \
--custom-vm-type=n2
Cuando uses la marca --custom-memory, especifica la cantidad total de
memoria en GB o en MB. Los valores sin unidades deben ser números enteros. Para especificar
incrementos de 0.25 GB (256 MB) para la memoria, convierte la memoria total
en un número entero en MB (--custom-memory=5888MB) o incluye el sufijo de unidad
GB (--custom-memory=5.75GB).
Para los tipos personalizados de máquinas con núcleo compartido E2, usa el
comando
gcloud compute instances create y, luego, incluye el
tamaño de la máquina con núcleo compartido (micro, small o medium):
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--machine-type=e2-custom-SHARED_CORE_SIZE-AMOUNT_OF_MEMORY_MB
Reemplaza lo siguiente:
INSTANCE_NAME: El nombre de la instancia.ZONE: la zona en la que deseas crear la instancia.SHARED_CORE_SIZE: Es el tamaño del núcleo compartido de E2 (micro,smallomedium).AMOUNT_OF_MEMORY_MB: la cantidad total de memoria en MB. Este valor debe ser un múltiplo entero de 256 MB dentro del rango permitido para el tamaño con núcleo compartido.
En el siguiente ejemplo, se crea un tipo personalizado de máquina small con núcleo compartido E2
con 0.5 vCPU y 2.25 GB (2,304 MB) de memoria:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=e2-custom-small-2304
Terraform
Para generar el código de Terraform, puedes usar el componente Código equivalente en la consola de Google Cloud .- En la consola de Google Cloud , ve a la página Instancias de VM.
- Haz clic en Crear instancia.
- Especifica los parámetros que desees.
- En la parte superior o inferior de la página, haz clic en Código equivalente y, luego, en la pestaña Terraform para ver el código de Terraform.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Node.js de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
REST
Para crear una instancia con un tipo personalizado de máquina, llama al
método instances.insert
y especifica los valores
machineType personalizados
con la memoria en MB:
- Para la serie de máquinas N1, omite el prefijo de la serie y comienza con
custom-. - Para los tipos de máquinas de núcleo compartido E2, reemplaza el recuento de CPU virtuales por
micro,smallomedium. - Para habilitar la memoria extendida, agrega
-exta la cadena del tipo de máquina.
En el siguiente ejemplo, se crea un tipo personalizado de máquina N2 con 16 CPUs virtuales y 105 GB (107,520 MB) de memoria:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "example-instance",
"machineType": "zones/ZONE/machineTypes/n2-custom-16-107520",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "10",
"sourceImage": "projects/debian-cloud/global/images/family/debian-13"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto en el que deseas crear la instancia.ZONE: la zona en la que deseas crear la instancia.
De manera similar, puedes crear VMs Spot y grupos de instancias administrados (MIG) con tipos personalizados de máquinas.
Agrega memoria extendida durante la creación de la instancia
Para crear una instancia de VM con memoria extendida, haz lo siguiente:Console
En la consola de Google Cloud , ve a la página Crear una instancia.
En el panel Configuración de la máquina, haz lo siguiente:
- Selecciona la región y la zona en las que deseas alojar la VM.
- Selecciona la configuración de la máquina para tu instancia:
- Para crear una VM personalizada de uso general, selecciona Uso general y, luego, en la sección Serie, selecciona N4, N4D, N4A, N2, N2D o N1.
- Para crear una VM personalizada N1 con GPUs conectadas, selecciona GPUs y,
luego, haz lo siguiente:
- En la lista Tipo de GPU, selecciona NVIDIA T4, NVIDIA V100 o NVIDIA Tesla P4.
- En la lista Cantidad de GPU, selecciona la cantidad.
- En la sección Tipo de máquina, selecciona Personalizado.
- Para especificar la cantidad de CPU virtuales, arrastra el control deslizante Núcleos o ingresa el valor en el campo.
- Para agregar memoria extendida, selecciona Extender memoria. Para especificar la cantidad de memoria del tipo de máquina, arrastra el control deslizante Memoria o ingresa el valor en el campo. La consola mostrará un costo estimado para la VM a medida que edites la cantidad de CPU virtuales y la memoria.
Opcional: Especifica otras opciones de configuración. Para obtener más información, consulta Opciones de configuración durante la creación de instancias.
Para crear y, también, iniciar la VM, haz clic en Crear.
gcloud
Crea un tipo personalizado de máquina con memoria extendida con el
comando
gcloud compute instances create con la
marca --machine-type y el sufijo -ext:
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--machine-type=MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-ext
Reemplaza lo siguiente:
INSTANCE_NAME: El nombre de la instancia.ZONE: la zona en la que deseas crear la instancia.MACHINE_SERIES: Es la serie de máquinas en minúsculas que admite la memoria extendida, comon4,n4d,n4a,n2on2d. Para N1, omiteMACHINE_SERIES-y comienza concustom-.NUMBER_OF_VCPUS: Es la cantidad de CPU virtuales.AMOUNT_OF_MEMORY_MB: la cantidad total de memoria en MB. Este valor debe ser un múltiplo entero de 256 MB.
En el siguiente ejemplo, se crea un tipo personalizado de máquina N2 con 2 CPUs virtuales y
20 GB (20,480 MB) de memoria extendida en la zona us-central1-a:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=n2-custom-2-20480-ext
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Node.js de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
REST
Para crear una instancia con memoria extendida, llama al
método instances.insert
y agrega -ext al campo machineType para extender la memoria hasta el
límite de esa serie de máquinas:
zones/ZONE/machineTypes/MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-ext
Reemplaza lo siguiente:
ZONE: la zona en la que deseas crear la instancia.MACHINE_SERIES: Es la serie de máquinas en minúsculas, comon4,n4d,n4a,n2on2d. Para N1, omiteMACHINE_SERIES-y comienza concustom-.NUMBER_OF_VCPUS: Es la cantidad de CPU virtuales.AMOUNT_OF_MEMORY_MB: la cantidad total de memoria en MB. Este valor debe ser un múltiplo entero de 256 MB.
Por ejemplo, lo siguiente especifica un tipo de máquina N2 con 2 CPUs virtuales y 20 GB (20,480 MB) de memoria extendida:
zones/ZONE/machineTypes/n2-custom-2-20480-ext
Agrega memoria extendida a una instancia de VM existente
Para agregar más memoria a una instancia existente que usa un tipo personalizado de máquina, primero debes detener la instancia. Después de que la instancia se detenga, completa los siguientes pasos para agregar más memoria a la VM:Console
En la consola de Google Cloud , ve a la página Instancias de VM.
Haz clic en el nombre de la VM detenida que deseas modificar.
En la parte superior de la página, haz clic en Editar.
En la sección Configuración de la máquina, verifica que esté seleccionado Personalizado en Tipo de máquina.
Para agregar memoria extendida, selecciona Extender memoria y, luego, especifica la cantidad de Memoria que necesitas.
Haz clic en Guardar.
Para reiniciar la VM, en la parte superior de la página, haz clic en Iniciar/Reanudar.
gcloud
Detén la VM con el comando
gcloud compute instances stop:gcloud compute instances stop INSTANCE_NAME \ --zone=ZONEActualiza el tipo personalizado de máquina con memoria extendida ejecutando el comando
gcloud compute instances set-machine-typecon las marcas--custom-cpu,--custom-memory,--custom-vm-typey--custom-extensions:gcloud compute instances set-machine-type INSTANCE_NAME \ --zone=ZONE \ --custom-cpu=NUMBER_OF_VCPUS \ --custom-memory=AMOUNT_OF_MEMORY \ --custom-vm-type=MACHINE_SERIES \ --custom-extensionsComo alternativa, puedes pasar la cadena de tipo personalizado de máquina completa con el sufijo
-exta la marca--machine-type:gcloud compute instances set-machine-type INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-extReemplaza lo siguiente:
INSTANCE_NAME: el nombre de la VM.ZONE: la zona donde se ubica la VM.NUMBER_OF_VCPUS: Es la cantidad de CPU virtuales.AMOUNT_OF_MEMORY: Es la cantidad total de memoria con un sufijo de unidad (MBoGB), o en GB si omites la unidad.AMOUNT_OF_MEMORY_MB: Es la cantidad total de memoria en MB. Este valor debe ser un múltiplo entero de 256 MB.MACHINE_SERIES: Es la serie de máquinas en minúsculas que admite memoria extendida, comon4,n4d,n4a,n2,n2don1. Para N1 con la marca--machine-type, omiteMACHINE_SERIES-y comienza concustom-.
Reinicia la VM con el comando
gcloud compute instances start:gcloud compute instances start INSTANCE_NAME \ --zone=ZONE
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Node.js de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
REST
- Detén la VM llamando al
método
instances.stop. Actualiza los recursos de tipo de máquina llamando al método
instances.setMachineTypey especificando el sufijo-exten el campomachineType:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMachineType { "machineType": "zones/ZONE/machineTypes/MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-ext" }Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto que contiene la VM.ZONE: la zona donde se ubica la VM.INSTANCE_NAME: el nombre de la VM.MACHINE_SERIES: Es la serie de máquinas en minúsculas, comon4,n4d,n4a,n2on2d. Para N1, omiteMACHINE_SERIES-y comienza concustom-.NUMBER_OF_VCPUS: Es la cantidad de CPU virtuales.AMOUNT_OF_MEMORY_MB: Es la cantidad total de memoria en MB. Este valor debe ser un múltiplo entero de 256 MB.
Reinicia la VM llamando al método
instances.start.
¿Qué sigue?
- Obtén más información sobre las familias de máquinas.
- Después de crear una VM, completa un instructivo para comenzar a usar una instancia de VM.
- Obtén información para conectarte a tu instancia de VM.