Créer et gérer des instances Windows Server

Compute Engine fournit avec Windows Server des images publiques que vous pouvez utiliser pour créer des instances. Pour découvrir comment créer une instance Windows Server avec SQL Server préinstallé, consultez l'article Créer des instances SQL Server.

Pour plus d'informations générales sur les instances Windows Server et les applications Windows que vous pouvez exécuter sur Compute Engine, consultez la page Windows sur Compute Engine.

Avant de commencer

Créer une instance Windows Server

Pour créer une instance avec Windows Server, spécifiez la famille d'images correspondant à la version spécifique de Windows dont vous avez besoin. Compute Engine propose plusieurs versions de Windows Server, pour la plupart disponibles en tant qu'images standards et images de VM protégées. Les images de VM protégées offrent des fonctionnalités de sécurité telles qu'un micrologiciel compatible UEFI, le démarrage sécurisé et le démarrage mesuré protégé par vTPM. Si vous choisissez le stockage SSD pour votre instance, vous ne pouvez pas utiliser les fonctionnalités de surveillance d'intégrité de la VM protégée, ni le module vTPM pour protéger les données. Pour obtenir la liste des familles d'images disponibles, consultez la section Images publiques.

Créer une instance Windows Server utilisant une adresse IP externe pour l'activation

Cette section explique comment créer une instance Windows Server disposant d'une adresse IP externe. Votre réseau VPC doit être configuré pour autoriser l'accès à kms.windows.googlecloud.com.

Créer l'instance Windows Server

Console

Pour créer une instance Windows de base :

console a Windows image

Pour créer une instance Windows de VM protégée, procédez comme suit :

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Cliquez sur Créer une instance.
  3. Dans la section Disque de démarrage, cliquez sur Modifier pour commencer la configuration de votre disque de démarrage.
  4. Dans l'onglet Images de l'OS, choisissez une image Windows.
    Sélectionnez Afficher les images disposant des fonctionnalités des VM protégées pour n'afficher que les images de VM protégées.

  5. Cliquez sur Sélectionner.

  6. Modifiez éventuellement les paramètres de VM protégée de l'instance :

    1. Cliquez sur l'onglet Sécurité dans la section Gestion, sécurité, disques, mise en réseau.
    2. Si vous souhaitez désactiver le démarrage sécurisé, décochez la case Activer le démarrage sécurisé. Le démarrage sécurisé permet de protéger vos instances de VM contre les logiciels malveillants et les rootkits opérant au niveau des secteurs de démarrage et du noyau. Pour plus d'informations, consultez la section Démarrage sécurisé.
    3. Si vous souhaitez désactiver le module vTPM (Virtual Trusted Platform Module), décochez la case Activer vTPM. Le module vTPM active le démarrage mesuré, ce qui permet de valider l'intégrité avant et pendant le démarrage de la VM. Pour plus d'informations, consultez la section Module vTPM (Virtual Trusted Platform Module).

    4. Si vous souhaitez désactiver la surveillance de l'intégrité, décochez la case Activer la surveillance de l'intégrité. Cette fonctionnalité vous permet de surveiller l'intégrité du démarrage de vos instances de VM protégées à l'aide de Stackdriver Monitoring. Pour plus d'informations, consultez la section Surveillance de l'intégrité.

  7. Cliquez sur Créer pour créer l'instance.

gcloud

Exécutez la commande compute images list pour afficher la liste des images Windows Server disponibles :

Utilisez la commande suivante pour afficher les images Windows Server de VM non protégées qui sont disponibles :

gcloud compute images list --project windows-cloud --no-standard-images
    

Utilisez la commande suivante pour afficher la liste des images disponibles de VM protégées, y compris les images Windows :

gcloud compute images list --project gce-uefi-images --no-standard-images
    

Exécutez la commande compute instances create pour créer une instance et spécifier la famille d'images pour l'une des images publiques Windows Server.

gcloud compute instances create [INSTANCE_NAME] \
        --image-project windows-cloud \
        --image-family [IMAGE_FAMILY] \
        --machine-type [MACHINE_TYPE] \
        --boot-disk-size [BOOT_DISK_SIZE] \
        --boot-disk-type [BOOT_DISK_TYPE]
    

où :

  • [INSTANCE_NAME] est le nom de la nouvelle instance.
  • [IMAGE_FAMILY] correspond à l'une des familles d'images publiques pour les images Windows Server.
  • [MACHINE_TYPE] est l'un des types de machine disponibles.
  • [BOOT_DISK_SIZE] est la taille du disque de démarrage en Go. Les disques persistants plus volumineux présentent un débit plus élevé.
  • [BOOT_DISK_TYPE] est le type du disque de démarrage pour votre instance. Spécifiez pd-ssd pour utiliser un disque persistant SSD plus rapide ou pd-standard pour utiliser un disque persistant HDD standard.

Si vous avez choisi une image compatible avec les VM protégées, vous pouvez également modifier les paramètres de la VM protégée de l'instance en spécifiant l'un des paramètres suivants :

  • --no-shielded-secure-boot : désactive le démarrage sécurisé. Le démarrage sécurisé permet de protéger vos instances de VM contre les logiciels malveillants et les rootkits opérant au niveau des secteurs de démarrage et du noyau. Pour plus d'informations, consultez la section Démarrage sécurisé.
  • --no-shielded-vtpm : désactive le module vTPM (Virtual Trusted Platform Module). Le module vTPM active le démarrage mesuré, ce qui permet de valider l'intégrité du préamorçage et du démarrage de la VM. Pour plus d'informations, consultez la section Module vTPM (Virtual Trusted Platform Module).

  • --no-shielded-integrity-monitoring : désactive la surveillance de l'intégrité. Cette fonctionnalité vous permet de surveiller l'intégrité du démarrage de vos instances de VM protégées à l'aide de Stackdriver Monitoring. Pour plus d'informations, consultez la section Surveillance de l'intégrité.

L'exemple suivant crée une instance de VM protégée Windows 2012 avec le démarrage sécurisé désactivé :

 gcloud compute instances create my-instance \
     --image-family windows-2012-r2 --image-project gce-uefi-images \
     --no-shielded-secure-boot
    

API

Pour créer une instance avec l'API, incluez la propriété initializeParams dans votre requête de création d'instance, puis spécifiez une image Windows. Par exemple, le corps de votre demande pourrait ressembler à ceci :

instance = {
      "name": "[INSTANCE_NAME]",
      "machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
      "disks": [{
          "boot": "true",
          "type": "PERSISTENT",
          "initializeParams": {
             "diskName": "[DISK_NAME]",
             "sourceImage": "https://compute.googleapis.com/compute/v1/projects/windows-cloud/global/images/family/[IMAGE_FAMILY]",
             "diskSizeGb": "[BOOT_DISK_SIZE]",
             "diskType": "[BOOT_DISK_TYPE]",
           }
        }],
      "networkInterfaces": [{
        "accessConfigs": [{
          "type": "ONE_TO_ONE_NAT",
          "name": "External NAT"
         }],
        "network": "global/networks/default"
      }],
      "serviceAccounts": [{
           "email": DEFAULT_SERVICE_EMAIL,
           "scopes": DEFAULT_SCOPES
      }]
    }
    

où :

  • [INSTANCE_NAME] est le nom de la nouvelle instance.
  • [IMAGE_FAMILY] est l'une des familles d'images publiques pour les images Windows Server ou SQL Server.
  • [ZONE] est la zone associée à cette instance.
  • [MACHINE_TYPE] est l'un des types de machines disponibles.
  • [BOOT_DISK_SIZE] est la taille du disque de démarrage en Go. Les disques persistants plus volumineux présentent un débit plus élevé.
  • [BOOT_DISK_TYPE] est le type du disque de démarrage pour votre instance. Spécifiez pd-ssd pour utiliser un disque persistant SSD plus rapide ou pd-standard pour utiliser un disque persistant HDD standard.

Si vous avez choisi une image compatible avec les VM protégées, vous pouvez éventuellement modifier les paramètres de la VM protégée de l'instance en renseignant les éléments booléens suivants dans le corps de la requête :

  • enableSecureBoot : active ou désactive le démarrage sécurisé. Le démarrage sécurisé permet de protéger vos instances de VM contre les logiciels malveillants et les rootkits opérant au niveau des secteurs de démarrage et du noyau. Pour plus d'informations, consultez la section Démarrage sécurisé.
  • enableVtpm : active ou désactive le module vTPM (Virtual Trusted Platform Module). Le module vTPM active le démarrage mesuré, ce qui valide l'intégrité avant et pendant le démarrage de la VM. Pour plus d'informations, consultez la section Module vTPM (Virtual Trusted Platform Module).

  • enableIntegrityMonitoring : active ou désactive la surveillance de l'intégrité. Cette fonctionnalité vous permet de surveiller et de valider l'intégrité pendant le démarrage de l'environnement d'exécution de vos instances de VM protégées au moyen de rapports Stackdriver Monitoring. Pour plus d'informations, consultez la section Surveillance de l'intégrité.

Pour plus d'informations sur la création d'une instance, consultez la documentation de instances.insert().

Une fois que vous avez créé l'instance Windows ou SQL Server, définissez son mot de passe initial afin de pouvoir vous y connecter via RDP.

Créer une instance Windows Server utilisant une adresse IP interne pour l'activation

Pour créer une instance Windows Server qui ne dispose que d'une adresse IP interne, vous devez préalablement vérifier ou configurer des routes et des règles de pare-feu dans votre réseau VPC afin d'autoriser l'accès à kms.windows.googlecloud.com. En outre, vous devez activer l'accès privé à Google pour les sous-réseaux de votre réseau VPC qui contiennent des instances Windows ne disposant que d'une adresse IP interne.

Lorsque vous créez une instance à l'aide de la ligne de commande gcloud, vous pouvez spécifier l'option --no-address pour vous assurer qu'aucune adresse IP externe ne lui est attribuée :

    gcloud compute instances create [INSTANCE_NAME] --network [NETWORK_NAME] \
       --subnet [SUBNET_NAME] \
       --no-address \
       --zone [ZONE] \
       --image-project windows-cloud \
       --image-family [IMAGE_FAMILY] \
       --machine-type [MACHINE_TYPE] \
       --boot-disk-size [BOOT_DISK_SIZE] \
       --boot-disk-type [BOOT_DISK_TYPE]
    

Remplacez les espaces réservés suivants par des valeurs valides :

  • [INSTANCE_NAME] est le nom de la nouvelle instance.
  • [SUBNET_NAME] est le nom du sous-réseau du réseau VPC qui sera utilisé par l'instance. Le sous-réseau doit être situé dans la même région que la zone choisie pour l'instance.
  • [IMAGE_FAMILY] est l'une des familles d'images publiques pour les images Windows Server.
  • [MACHINE_TYPE] est l'un des types de machines disponibles.
  • [BOOT_DISK_SIZE] est la taille du disque de démarrage en Go. Les disques persistants plus volumineux présentent un débit plus élevé.
  • [BOOT_DISK_TYPE] est le type du disque de démarrage pour votre instance. Spécifiez pd-ssd pour utiliser un disque persistant SSD plus rapide ou pd-standard pour utiliser un disque persistant HDD standard.

Comme cette instance n'a pas d'adresse IP externe, vous ne pouvez pas vous y connecter directement via Internet. Vous pouvez vous connecter à l'instance depuis un autre réseau connecté à votre réseau VPC à l'aide de Cloud Interconnect ou de Cloud VPN. Vous pouvez également vous connecter dans un premier temps à une instance bastion via RDP, puis à l'instance qui ne dispose que d'une adresse IP interne.

Configurer l'accès à kms.windows.googlecloud.com

Pour permettre l'activation et le renouvellement des licences Windows, votre réseau VPC doit répondre aux exigences suivantes en termes de routage et de règles de pare-feu.

Exigences de routage

Vos instances Windows doivent pouvoir atteindre kms.windows.googlecloud.com (35.190.247.13) via un routage ayant comme saut suivant la passerelle Internet par défaut. Vous ne pouvez pas activer des instances Windows à l'aide d'une passerelle NAT ou Cloud NAT basée sur une instance, car kms.windows.googlecloud.com rejette les requêtes d'activation provenant d'adresses IP non reconnues comme étant des instances Compute Engine.

Vous pouvez utiliser la route par défaut de votre réseau VPC pour acheminer directement le trafic vers kms.windows.googlecloud.com. Si vous supprimez cette route ou si vous envisagez de le faire ultérieurement, vous devez créer une route statique personnalisée dont la destination correspond à l'adresse 35.190.247.13, et dont le saut suivant est défini sur la passerelle internet par défaut :

    gcloud compute routes create [ROUTE_NAME] \
        --destination-range=35.190.247.13/32 \
        --network=[NETWORK] \
        --next-hop-gateway=default-internet-gateway
    

Remplacez [ROUTE_NAME] par le nom que vous souhaitez donner à cette route et [NETWORK] par le nom de votre réseau VPC.

Soit la route par défaut, soit la route statique personnalisée tel que décrit ci-dessus, peuvent permettre aux instances avec des adresses IP externes de communiquer avec kms.windows.googlecloud.com. Si certaines instances Windows ne possèdent pas d'adresse IP externe, vous devez également activer l'accès privé à Google. Cela permet aux instances ne disposant que d'une adresse IP interne d'envoyer du trafic à l'adresse IP associée à kms.windows.googlecloud.com. Cette adresse IP (35.190.247.13) est incluse dans la liste des adresses IP associées aux API et aux services Google.

Exigences relatives aux règles de pare-feu

La règle de pare-feu implicite d'autorisation du trafic sortant permet aux instances d'effectuer des requêtes sortantes et de recevoir les réponses renvoyées. Vos instances Windows peuvent donc communiquer avec kms.windows.googlecloud.com, sous réserve que vous n'ayez pas créé une règle de pare-feu personnalisée interdisant le trafic sortant.

Si vous souhaitez créer des règles de pare-feu personnalisées, nous vous conseillons fortement de créer une règle d'autorisation du trafic sortant de priorité élevée autorisant explicitement la communication avec l'adresse 35.190.247.13. Cela vous permet d'éviter de bloquer accidentellement les activations de Windows lorsque vous modifiez des règles de pare-feu.

Les exemples gcloud suivants créent la règle de sortie autorisée recommandée avec la priorité la plus élevée :

    gcloud compute firewall-rules create [RULE_NAME] \
        --direction=EGRESS \
        --network=[NETWORK] \
        --action=ALLOW \
        --rules=tcp:1688 \
        --destination-ranges=35.190.247.13/32 \
        --priority=0
    

Remplacez [RULE_NAME] par le nom que vous souhaitez donner à cette règle de pare-feu et [NETWORK] par le nom de votre réseau VPC.

Vérifier qu'une instance a démarré correctement

Les instances Windows nécessitent un temps de démarrage plus long en raison du processus sysprep. Il est possible que Cloud Console indique que l'instance est en cours d'exécution alors que le processus sysprep n'est pas encore terminé. Pour vérifier si l'instance a bien démarré et qu'elle est prête à être utilisée, vérifiez la sortie du port série avec la commande suivante :

gcloud compute instances get-serial-port-output [INSTANCE_NAME]
    

[INSTANCE_NAME] correspond au nom de l'instance à vérifier.

    ...[snip]...
    Running schtasks with arguments /run /tn GCEStartup
    -->  SUCCESS: Attempted to run the scheduled task "GCEStartup".
    -------------------------------------------------------------
    Instance setup finished. [INSTANCE_NAME] is ready to use.
    -------------------------------------------------------------
    

Désactiver les mises à jour de composants fournies par Google

Si vous possédez des instances Windows avec une version d'image v20170509 ou ultérieure, ou une version de l'agent 4.1.0 ou ultérieure, les composants fournis par Google, tels que les scripts d'agent, de métadonnées et de sysprep sont mis à jour automatiquement via une tâche planifiée. La tâche planifiée est configurée par le package google-compute-engine-auto-updater.

Si vous souhaitez gérer les mises à jour manuellement ou à l'aide d'un autre système, vous pouvez désactiver les mises à jour automatiques en supprimant le package google-compute-engine-auto-updater :

  1. Dans l'instance Windows Server, ouvrez un terminal PowerShell en tant qu'administrateur.
  2. Exécutez la commande googet remove pour supprimer le package :

        PS C:\\> googet remove google-compute-engine-auto-updater
        

Vous pouvez éventuellement réinstaller le package pour activer les mises à jour automatiques des composants :

  1. Dans l'instance Windows Server, ouvrez un terminal PowerShell en tant qu'administrateur.
  2. Exécutez la commande googet install pour installer le package :

        PS C:\\> googet install google-compute-engine-auto-updater
        

Vous pouvez également désactiver les mises à jour en définissant la valeur disable-agent-updates sur true dans les métadonnées personnalisées de projet ou d'instance. La valeur de la métadonnée désactive les mises à jour sans supprimer le package ou la tâche.

Activer et désactiver les fonctionnalités d'instance Windows

Si vous possédez des instances Windows avec une version d'image v20170509 ou ultérieure, ou une version de l'agent 4.1.0 ou ultérieure, vous pouvez définir la configuration de l'instance dans un fichier de configuration, ou dans des métadonnées personnalisées de l'instance ou du projet. Le fichier de configuration est au format INI et se trouve à l'emplacement suivant :

C:\Program Files\Google\Compute Engine\instance_configs.cfg
    

Le système ignore les paramètres de configuration en appliquant l'ordre de priorité suivant, qui part de la priorité la plus élevée pour aller à la priorité la plus basse :

  1. Paramètres de configuration définis dans le fichier de configuration
  2. Paramètres de configuration définis dans les métadonnées personnalisées au niveau de l'instance
  3. Paramètres de configuration définis dans les métadonnées personnalisées au niveau du projet

Par exemple, si vous pouvez activer la fonctionnalité accountManager dans un fichier de configuration, votre instance ignore les paramètres de l'instance que vous définissez dans les métadonnées personnalisées pour désactiver cette fonctionnalité.

L'un des avantages de la définition de ces paramètres dans le fichier de configuration est qu'ils persistent lorsque vous créez une image personnalisée pour une instance Windows Server. Les métadonnées personnalisées au niveau de l'instance ne persistent pas au-delà de la durée de vie de l'instance.

Vous pouvez désactiver différentes fonctionnalités d'instance Windows à l'aide des exemples suivants :

Désactivez le gestionnaire de comptes, ce qui a pour effet de désactiver également la réinitialisation des mots de passe à l'aide de l'outil de ligne de commande gcloud ou Cloud Console :

  • Fichier de configuration :

    [accountManager]
        disable=true
        
  • Dans les métadonnées personnalisées, définissez disable-account-manager sur true.

Désactiver le gestionnaire d'adresses :

  • Entrée du fichier de configuration :

    [addressManager]
        disable=true
        
  • Dans les métadonnées personnalisées, définissez disable-address-manager sur true.

Clustering de basculement Windows Server

Activer l'agent de clustering de basculement Windows Server :

  • Entrée du fichier de configuration :

    [wsfc]
        enable=true
        
  • Dans les métadonnées personnalisées, définissez enable-wsfc sur true.

Utiliser plusieurs équilibreurs de charge internes

Indiquez l'adresse IP de l'instance d'équilibrage de charge interne pour le clustering de basculement. Il s'agit d'une configuration avancée ; il n'est pas nécessaire de la définir pour un cluster de basculement dédié.

Normalement, une instance d'équilibrage de charge interne est utilisée pour diriger le trafic réseau vers une instance de VM à la fois. Si vous ajoutez une deuxième instance d'équilibrage de charge interne qui utilise les instances de VM en clustering de basculement dans le cadre d'un backend de site Web avec équilibrage de charge, vous disposez de deux adresses IP d'équilibrage de charge interne. Si le clustering de basculement utilise l'adresse IP 10.0.0.10 et que l'équilibreur de charge du site Web utilise 10.0.0.11, vous devez spécifier l'adresse IP de l'équilibreur de charge que vous utilisez pour le clustering de basculement. Cela clarifiera l'adresse utilisée pour le cluster.

  • Entrée du fichier de configuration :

    [wsfc]
        addresses=10.0.0.10
        
  • Dans les métadonnées personnalisées, définissez wsfc-addrs sur 10.0.0.10.

Modifier le port de l'agent de clustering

Définissez le port de l'agent de clustering de basculement. Le port par défaut est 59998. Vous ne devez spécifier un port que si vous souhaitez utiliser un port différent :

  • Entrée du fichier de configuration :

    [wsfc]
        port=12345
        
  • Dans les métadonnées personnalisées, définissez wsfc-agent-port sur le numéro de port.

Notes sur la version de l'image

Les anciennes images n'utilisent pas de fichier de configuration et ne comportent qu'un sous-ensemble de fonctionnalités. Les versions d'image entre la version v20160112 et la version v20170509 ou la version de l'agent Windows entre 3.2.1.0 et 4.0.0 nécessitent l'utilisation des valeurs de métadonnées personnalisées suivantes :

  • Définissez disable-account-manager sur true dans les métadonnées de l'instance pour désactiver le gestionnaire de comptes.
  • Définissez disable-address-manager sur true dans les métadonnées de l'instance pour désactiver le gestionnaire d'adresses.

Étapes suivantes