En este documento, se explica cómo crear una instancia de Compute Engine a partir de una imagen personalizada que comparte otro proyecto. Una instancia contiene un bootloader, un sistema de archivos de inicio y una imagen de SO. Puedes crear imágenes personalizadas a partir de discos de origen, imágenes, instantáneas o imágenes almacenadas en Cloud Storage y usarlas para crear instancias. De forma predeterminada, una imagen personalizada solo pertenece al proyecto en el que se creó. Si otro usuario compartió una imagen contigo, puedes usarla para crear una instancia.
Antes de comenzar
- Cuando creas instancias a partir de imágenes con Google Cloud CLI o la API de Compute Engine, hay un límite de 20 instancias por segundo. Si necesitas crear una mayor cantidad de instancias por segundo, solicita un límite de cuota más alto para el recurso Imágenes.
-
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 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:
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
compute.instances.create
en el proyecto -
Si deseas usar una imagen compartida para crear la instancia, sigue estos pasos:
compute.images.useReadOnly
en la imagen En la consola deGoogle Cloud , ve a la página Crear una instancia.
Si se te solicita, selecciona el proyecto y haz clic en Continuar.
Aparecerá la página Crear una instancia y se mostrará el panel Configuración de la máquina.
En el panel Configuración de la máquina, haz lo siguiente:
- En el campo Nombre, especifica un nombre para tu instancia. Para obtener más información, consulta Convención de nombres de recursos.
Opcional: En el campo Zona, selecciona una zona para esta instancia.
La selección predeterminada es Cualquier. Si no cambias esta selección predeterminada, Google elige automáticamente una zona por ti según el tipo de máquina y la disponibilidad.
Selecciona la familia de máquinas para tu instancia. Luego, la consola deGoogle Cloud muestra las series de máquinas que están disponibles para la familia de máquinas que seleccionaste. Están disponibles las siguientes opciones de familia de máquinas:
- Uso general
- Optimizada para procesamiento
- Con optimización de memoria
- Optimizada para el almacenamiento
- GPU
En la columna Serie, selecciona la serie de máquinas de tu instancia.
Si seleccionaste GPUs como la familia de máquinas en el paso anterior, selecciona el tipo de GPU que deseas. Luego, la serie de máquinas se selecciona automáticamente para el tipo de GPU seleccionado.
En la sección Tipo de máquina, selecciona el tipo de máquina para tu instancia.
En el menú de navegación, haz clic en SO y almacenamiento. En el panel Sistema operativo y almacenamiento que aparece, configura el disco de arranque de la siguiente manera:
- Haz clic en Cambiar. Aparecerá el panel Disco de arranque y se mostrará la pestaña Imágenes públicas.
- Haga clic en Imágenes personalizadas. Aparecerá la pestaña Imágenes personalizadas.
- Para elegir el proyecto de imagen, haz clic en Cambiar y, luego, selecciona el proyecto que contiene la imagen.
- En la lista Imagen, selecciona la imagen que deseas importar.
- En la lista Tipo de disco de arranque, selecciona el tipo de disco de arranque.
- En el campo Tamaño (GB), especifica el tamaño del disco de arranque.
- Opcional: Para ver las opciones de configuración avanzadas, expande la sección Mostrar configuraciones avanzadas.
- Para confirmar las opciones del disco de arranque y volver al panel Sistema operativo y almacenamiento, haz clic en Seleccionar.
En el menú de navegación, haz clic en Herramientas de redes. En el panel Herramientas de redes que aparece, haz lo siguiente:
- Ve a la sección Firewall.
Para permitir el tráfico HTTP o HTTPS a la instancia, selecciona Permitir tráfico HTTP o Permitir tráfico HTTPS.
Compute Engine agrega una etiqueta de red a tu instancia y crea la regla de firewall de entrada correspondiente que permite todo el tráfico entrante en
tcp:80
(HTTP) otcp:443
(HTTPS). La etiqueta de red asocia la regla de firewall con la instancia. Para obtener más información, consulta Descripción general de las reglas de firewall en la documentación del firewall de nueva generación de Cloud.
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.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Crea una instancia con el comando
gcloud compute instances create command
y usa las marcas--image
y--image-project
para especificar el nombre de la imagen y el proyecto donde esta reside:gcloud compute instances create INSTANCE_NAME \ --image=IMAGE \ --image-project=IMAGE_PROJECT
Reemplaza lo siguiente:
INSTANCE_NAME
: Es el nombre de la instancia nueva.IMAGE
: Es el nombre de la imagen.IMAGE_PROJECT
: Es el proyecto al que pertenece la imagen.
Si el comando se ejecuta correctamente,
gcloud
responde con las propiedades de la instancia nueva, como en el siguiente ejemplo:Created [https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS example-instance us-central1-b e2-standard-2 10.240.0.4 104.198.53.60 RUNNING
- 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.
PROJECT_ID
: ID del proyecto en el que se creará la VMZONE
: Zona en la que se creará la VMMACHINE_TYPE_ZONE
: Zona que contiene el tipo de máquina que se usará para la VM nuevaMACHINE_TYPE
: El tipo de máquina, predefinido o personalizado de la VM nuevaVM_NAME
: Nombre de la VM nuevaIMAGE_PROJECT
: nombre del proyecto que contiene la imagen compartidaIMAGE
: Especifica una de las siguientes opciones:IMAGE
: nombre de la imagen compartida. Por ejemplo,"sourceImage": "projects/finance-project-1234/global/images/finance-debian-image-v2"
.IMAGE_FAMILY
: si la imagen compartida se crea como parte de una familia de imágenes personalizadas, especifica esa familia de imágenes personalizada.Esto crea la VM a partir de la imagen de SO no obsoleta más reciente de tu familia de imágenes personalizadas. Por ejemplo, si especificas
"sourceImage": "projects/finance-project-1234/global/images/family/finance-debian-family"
, Compute Engine crea una VM a partir de la última versión de la imagen de SO en la familia de imágenes personalizadasfinance-debian-family
.
NETWORK_NAME
: La red de VPC que deseas usar para la VM. Puedes especificardefault
para usar tu red predeterminadaENABLE_SECURE_BOOT
: Si eliges una imagen que admite funciones de VM protegida, Compute Engine habilita de forma predeterminada el módulo virtual de plataforma de confianza (vTPM) y la supervisión de la integridad. Compute Engine no habilita el Inicio seguro de forma predeterminada.Si especificas
true
paraenableSecureBoot
, Compute Engine crea una VM con las tres funciones de VM protegida habilitadas. Después de que Compute Engine inicie la VM, debes detenerla para modificar las opciones de VM protegida.- Obtén más información sobre las imágenes personalizadas y cómo compartirlas.
- Obtén información para comprobar el estado de una instancia y saber cuándo está lista para usar.
- Obtén información para conectarte a tu instancia.
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 .
Roles obligatorios
Para obtener los permisos que necesitas para crear una instancia a partir de una imagen compartida, 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 instancia a partir de una imagen compartida. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear una instancia a partir de una imagen compartida:
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Crea una instancia a partir de una imagen compartida
Para crear una instancia a partir de una imagen compartida, sigue estos pasos:
Console
gcloud
Terraform
El proceso para crear una instancia con una imagen compartida en Terraform es el mismo que si crearas una instancia con una imagen disponible de forma pública.
REST
El proceso para crear una instancia con una imagen compartida en la API es el mismo que si crearas una instancia con una imagen disponible de forma pública.
Para crear la instancia a partir de una imagen compartida, usa el método
instances.insert
.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }Reemplaza lo siguiente:
¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-01-23 (UTC)
-