Puedes crear imágenes personalizadas de Windows Server a partir de imágenes existentes de Windows Server de Compute Engine. Usa estas imágenes personalizadas para crear instancias con discos de arranque que sean iguales a las instancias existentes.
Estas imágenes personalizadas son útiles para guardar la configuración del sistema operativo de las instancias existentes y reutilizar la misma configuración a fin de crear otras.
Las siguientes tareas no se tratan en esta sección:
- Crear una instancia a partir de una imagen pública o una imagen personalizada; en su lugar, consulta la sección sobre cómo crear una nueva instancia de Windows.
- Programar una copia de seguridad de tus discos en su lugar, consulta Acerca de las programaciones de instantáneas para discos.
- Importar sistemas de Windows Server o SQL Server en su lugar, usa el servicio de migración de VM.
Antes de comenzar
-
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 que corresponda a la forma en que 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 la instalación, inicializa Google Cloud CLI con 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 (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
Si usas un 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 (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
Si usas un 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 (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
Si usas un 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 (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
Si usas un 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 (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
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 la 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 la 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 la 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 .
Para obtener los permisos que necesitas para crear una imagen personalizada de Windows Server, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
- Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1) -
Para conectarte a una instancia que tiene una cuenta de servicio adjunta:
Usuario de cuenta de servicio (v1) (
roles/iam.serviceAccountUser)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para crear una imagen personalizada de Windows Server. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear una imagen personalizada de Windows Server:
-
compute.images.create -
Para crear una imagen personalizada del disco de arranque de una instancia que tiene una cuenta de servicio adjunta, haz lo siguiente:
-
iam.serviceAccounts.actAsen la cuenta de servicio de la instancia -
compute.disks.useReadOnlyen el disco
-
-
Para crear una imagen personalizada de todos los demás discos, sigue estos pasos:
compute.disks.useReadOnlyen el disco -
Para crear una imagen personalizada a partir de una imagen existente, sigue estos pasos:
compute.images.useReadOnlyen la imagen de origen -
Para crear una imagen personalizada a partir de una instantánea estándar o de archivo, haz lo siguiente:
compute.snapshots.useReadOnlyen la instantánea de origen -
Para agregar una etiqueta a la imagen nueva, haz clic en
compute.images.setLabels.
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Prepárate para crear una imagen de Windows Server
Antes de crear la imagen, ejecuta GCESysprep en la instancia con el fin de prepararla para el proceso de creación de la imagen.
GCESysprep prepara una instancia para convertirse en una imagen de Compute Engine mediante los siguientes pasos:
- Inhabilita la tarea programada
GCEStartup. - Borra todos los archivos de la ubicación de la carpeta temporal.
- Borra todos los registros de eventos de Windows.
- Ejecuta sysprep.exe /generalize /oobe /quit /unattend
- Configura
instance_setup.ps1para que se ejecute en el primer inicio de la instancia de VM. - Borra el certificado de RDP.
- Quita la lista almacenada de discos persistentes.
- Habilita las reglas de firewall de RDP y WinRM.
- Inhabilita el servicio de configuración del SO de Google.
- Cierra la instancia.
Las operaciones GCESysprep se registran en el registro de eventos de Windows y en el puerto en serie 1.
Sysprep escribe en varios archivos de registro.
Cómo crear una imagen de Compute Engine con GCESysprep:
Ejecuta
GCESysprepcon derechos administrativos.GCESysprep
Especifica la ubicación de la imagen
Cuando creas una imagen personalizada, puedes especificar la ubicación de almacenamiento de la imagen en Cloud Storage, y excluir las ubicaciones birregionales. Si especificas la ubicación de almacenamiento de imágenes, cumplirás con las necesidades de alta disponibilidad y los requisitos de cumplimiento y regulatorios para la localidad de datos mediante la garantía de la redundancia en todas las regiones.
La función de ubicación de almacenamiento es opcional. Si no seleccionas una ubicación, Compute Engine almacenará tu imagen en la multirregión más cercana a la fuente de la imagen. Puedes crear imágenes personalizadas a partir de discos de origen, imágenes, instantáneas o imágenes almacenadas en Cloud Storage. Puedes usar estas imágenes para crear instancias de VM nuevas.
Todas las imágenes existentes antes del lanzamiento de esta característica permanecen donde están. El único cambio es que puedes ver la ubicación de imagen de todas tus imágenes. Si tienes una imagen existente que deseas mover, debes volver a crearla en la ubicación seleccionada.
Crea una imagen de Windows
Puedes crear imágenes de disco desde las siguientes fuentes:
- Un disco persistente, incluso mientras ese disco está conectado a una instancia
- Una instantánea de un disco persistente
- Otra imagen en el proyecto
- Una imagen que se comparte desde otro proyecto
Una imagen importada almacenada en Cloud Storage
Console
- En la consola de Google Cloud , ve a la página Crea una imagen nueva.
- Especifica el Nombre de la imagen.
- Elige un disco De origen con un sistema operativo Windows desde el cual deseas crear una imagen.
- Especifica la Ubicación para almacenar la imagen. Elige una ubicación de imagen del menú desplegable A partir de la ubicación del disco de origen (predeterminada). Por ejemplo, especifica
uspara almacenar la imagen en la multirregiónus, ous-central1a fin de almacenarla en la regiónus-central1. Si no realizas una selección, Compute Engine almacenará la imagen en la multirregión más cercana a la ubicación de origen de la imagen. - Especifica las propiedades de la imagen. Por ejemplo, puedes especificar un nombre de familia de imagen para organizar esta imagen como parte de una familia de imágenes.
- Haz clic en Crear.
Google Cloud CLI
Usa gcloud compute con images create y proporciona el disco persistente de origen desde el que deseas crear una imagen.
Otra opción es incluir la marca --force para crear la imagen, incluso si está adjunta a una instancia en ejecución.
gcloud compute images create example-image --source-disk DISK_NAME \
--source-disk-zone ZONE \
--storage-location LOCATION \
[--force]
Reemplaza lo siguiente:
DISK_NAME: Es el nombre del disco de origen a partir del cual se creará la imagen.ZONE: Es la zona del disco.LOCATION: Es una marca opcional que te permite designar la región o multirregión en la que se almacenará la imagen. Por ejemplo, especificauspara almacenar la imagen en la multirregiónus, ous-central1a fin de almacenarla en la regiónus-central1. Si no realizas una selección, Compute Engine almacenará la imagen en la multirregión más cercana a la ubicación de origen de la imagen.--force: Es una marca opcional que crea la imagen, incluso si el disco está conectado a una instancia en ejecución. Puede ser que esta opción comprometa la integridad de la imagen. Si es posible, detén la instancia antes de crear la imagen.
Cuando ejecutas este comando, gcloud compute crea una imagen nueva basada en el disco persistente que proporcionaste y la agrega a tu colección. Para confirmar que la imagen se creó de forma correcta, ejecuta lo siguiente:
gcloud compute images list
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
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
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
Realiza una solicitud POST al método images().insert con una URL sourceDisk en el cuerpo de la solicitud.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images?FORCE_OPTION
{
"name": "IMAGE_NAME",
"sourceDisk": "zones/ZONE/disks/DISK_NAME",
"storageLocations": "LOCATION",
}
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de esta solicitud.FORCE_OPTION: Es una marca opcional para crear la imagen, incluso si el disco de origen está conectado a una instancia en ejecución. EspecificaforceCreate=trueal final de tu línea POST para configurar esta opción. Puede ser que esta opción comprometa la integridad de la imagen. Si es posible, detén la instancia antes de crear la imagen.IMAGE_NAME: Es el nombre que se le asignará a esta imagen.ZONE: Es la zona del disco de origen desde el que se creará una imagen.DISK_NAME: el nombre del disco de origen.LOCATION: Es un parámetro opcional que te permite seleccionar la ubicación de almacenamiento de una región o varias regiones de tu imagen. Por ejemplo, especificauspara almacenar la imagen en la multirregiónus, ous-central1a fin de almacenarla en la regiónus-central1. Si no realizas una selección, Compute Engine almacenará la imagen en la multirregión más cercana a la ubicación de origen de la imagen.
Para obtener más información sobre cómo agregar imágenes, consulta la referencia de imágenes.
Actualiza los agentes y las secuencias de comandos de Windows
En ocasiones, Compute Engine publica nuevas imágenes de Windows con los agentes y las secuencias de comandos más recientes. Estos elementos ayudan a las instancias de Windows con los procesos de inicio y cierre, administración de cuentas y administración de direcciones.
Desde la versión de imagen de Windows v20160112 en adelante, el agente de Windows se actualiza por sí solo con las versiones posteriores. Para inhabilitar estas actualizaciones de agente, establece la clave de metadatos de la instancia disable-agent-updates en true. Si tienes instancias que se basan en versiones de imágenes anteriores, puedes actualizar el agente de Windows de esas instancias de forma manual.
¿Qué sigue?
- Automatiza la generación de contraseñas de Windows
- Usar licencias de aplicación de Microsoft existentes