Création d’une AMI à l’aide de Windows Sysprep avec EC2Config - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d’une AMI à l’aide de Windows Sysprep avec EC2Config

Lorsque vous créez une image à partir d’une instance sur laquelle le service EC2Config est installé, EC2Config exécute des tâches spécifiques au fur et à mesure de la préparation de l’image. Cela implique notamment l’utilisation de Windows Sysprep. Pour de plus amples informations, consultez Phases de Windows Sysprep.

Actions Windows Sysprep

Windows Sysprep et le service EC2Config effectuent les actions suivantes lors de la préparation d’une image.

  1. Si vous choisissez Fermeture avec Sysprep dans la boîte de dialogue Propriétés du service EC2, le système exécute la commande ec2config.exe -sysprep.

  2. Le service EC2Config lit le contenu du fichier BundleConfig.xml. Ce fichier se trouve dans le répertoire suivant par défaut : C:\Program Files\Amazon\Ec2ConfigService\Settings.

    Le fichier BundleConfig.xml contient les paramètres suivants. Vous pouvez modifier les paramètres suivants :

    • AutoSysprep : indique si Windows Sysprep doit être utilisé automatiquement. Vous n’avez pas besoin de modifier cette valeur si vous exécutez Windows Sysprep à partir de la boîte de dialogue « Propriétés du service EC2 ». La valeur par défaut est No.

    • SetRDPCertificate : définit un certificat autosigné pour le serveur des services Bureau à distance. Cela vous permet d’utiliser en toute sécurité le protocole RDP (Remote Desktop Protocol) pour vous connecter à l’instance. Modifiez la valeur sur Yes si de nouvelles instances doivent utiliser un certificat. Ce paramètre n’est pas utilisé avec les instances Windows Server 2012 car ces systèmes d’exploitation peuvent générer leurs propres certificats. La valeur par défaut est No.

    • SetPasswordAfterSysprep : définit un mot de passe aléatoire sur une instance lancée récemment, le chiffre avec la clé de lancement de l’utilisateur et sort le mot de passe chiffré sur la console. Modifiez la valeur sur No si de nouvelles instances ne doivent pas être définies sur un mot de passe chiffré aléatoire. La valeur par défaut est Yes.

    • PreSysprepRunCmd : emplacement de la commande à exécuter. La commande se trouve dans le répertoire suivant, par défaut : C:\Program Files\Amazon\Ec2ConfigService\Scripts\BeforeSysprep.cmd

  3. Le système exécute BeforeSysprep.cmd. Cette commande crée une clé de registre comme suit :

    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f

    La clé de registre désactive les connexions RDP jusqu’à ce qu’elles soient réactivées. La désactivation des connexions RDP est une mesure de sécurité nécessaire car, lors de la première session de démarrage après l’exécution de Windows Sysprep, il y a une courte période pendant laquelle RDP autorise les connexions et le mot de passe de l’administrateur est vide.

  4. Le service EC2Config appelle Windows Sysprep en exécutant la commande suivante :

    sysprep.exe /unattend: "C:\Program Files\Amazon\Ec2ConfigService\sysprep2008.xml" /oobe /generalize /shutdown

Phase de généralisation

  • L’outil supprime les informations et les configurations spécifiques à l’image, comme le nom de l’ordinateur et le SID. Si l’instance est membre d’un domaine, elle est supprimée du domaine. Le fichier de réponses sysprep2008.xml inclut les paramètres suivants qui affectent cette phase :

    • PersistAllDeviceInstalls : ce paramètre empêche l’installation Windows de supprimer et de reconfigurer les périphériques ce qui accélère le processus de préparation de l’image, car les AMI Amazon nécessitent que certains pilotes s’exécutent et la re-détection de ces pilotes peut prendre du temps.

    • DoNotCleanUpNonPresentDevices : ce paramètre permet de conserver les informations Plug and Play des périphériques qui ne sont pas présents actuellement.

  • Windows Sysprep arrête le système d’exploitation pendant qu’il se prépare à créer l’AMI. Le système lance une nouvelle instance ou démarre l’instance originale.

Phase de spécialisation

Le système génère la configuration requise spécifique au système d’exploitation, comme un nom d’ordinateur et un SID. Le système exécute également les actions suivantes en fonction des configurations que vous spécifiez dans le fichier de réponses sysprep2008.xml.

  • CopyProfile : Windows Sysprep peut être configuré pour supprimer tous les profils d’utilisateur, y compris le profil d’administrateur intégré. Ce paramètre conserve le compte d’administrateur intégré afin que les personnalisations que vous effectuez sur ce compte soient transmises à la nouvelle image. La valeur par défaut est True.

    CopyProfile remplace le profil par défaut par le profil d’administrateur local existant. Tous les comptes connectés après l’exécution de Windows Sysprep recevront une copie de ce profil et de son contenu lors de la première connexion.

    Si vous ne disposez pas de personnalisations de profil utilisateur spécifiques que vous souhaitez reporter à la nouvelle image, définissez ce paramètre sur False. Windows Sysprep supprime tous les profils d’utilisateur, ce qui permet de gagner du temps et de l’espace disque.

  • TimeZone : le fuseau horaire est défini sur Heure universelle coordonnée (UTC) par défaut.

  • Synchronous command with order 1 : le système exécute la commande suivante qui active le compte d’administrateur et spécifie l’exigence d’un mot de passe.

    net user Administrator /ACTIVE:YES /LOGONPASSWORDCHG:NO /EXPIRES:NEVER /PASSWORDREQ:YES

  • Synchronous command with order 2 : le système brouille le mot de passe administrateur. Cette mesure de sécurité est conçue pour empêcher l’instance d’être accessible après la fin de Windows Sysprep si vous n’avez pas activé le paramètre ec2setpassword.

    C:\Program Files\Amazon\Ec2ConfigService\ScramblePassword.exe" -u Administrator

  • Synchronous command with order 3 : le système exécute la commande suivante :

    C:\Program Files\Amazon\Ec2ConfigService\Scripts\SysprepSpecializePhase.cmd

    Cette commande ajoute la clé de registre suivante qui réactive le RDP :

    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Phase OOBE

  1. A l’aide du fichier de réponses du service EC2Config, le système spécifie les configurations suivantes :

    • <InputLocale>en-US</InputLocale>

    • <SystemLocale>en-US</SystemLocale>

    • <UILanguage>en-US</UILanguage>

    • <UserLocale>en-US</UserLocale>

    • <HideEULAPage>true</HideEULAPage>

    • <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>

    • <NetworkLocation>Other</NetworkLocation>

    • <ProtectYourPC>3</ProtectYourPC>

    • <BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>

    • <TimeZone>UTC</TimeZone>

    • <RegisteredOrganization>Amazon.com</RegisteredOrganization>

    • <RegisteredOwner>Amazon</RegisteredOwner>

    Note

    Pendant les phases de généralisation et de spécialisation, le service EC2Config surveille l’état du système d’exploitation. Si le service EC2Config détecte que le système d’exploitation est dans une phase Sysprep, il publie le message suivant dans le fichier journal :

    EC2ConfigMonitorState: 0 Windows is being configured. SysprepState=IMAGE_STATE_UNDEPLOYABLE

  2. Une fois la phase OOBE terminée, le système exécute SetupComplete.cmd à partir de l’emplacement suivant : C:\Windows\Setup\Scripts\SetupComplete.cmd. Avant avril 2015, dans les AMI publiques Amazon, le fichier était vide et n’exécutait rien sur l’image. Depuis avril 2015, dans les AMI publiques, le fichier comprend la valeur suivante : call "C:\Program Files\Amazon\Ec2ConfigService\Scripts\PostSysprep.cmd".

  3. Le système exécute PostSysprep.cmd, qui effectue les opérations suivantes :

    • Permet de définir que le mot de passe d’administrateur local ne doit pas expirer. Si le mot de passe expirait, les administrateurs ne pourraient pas se connecter.

    • Permet de définir le nom de la machine MSSQLServer (le cas échéant) afin que le nom soit synchronisé sur l’AMI.

Étapes post-actions Sysprep

Une fois Windows Sysprep terminé, le service EC2Config envoie le message suivant à la console :

Windows sysprep configuration complete.
			Message: Sysprep Start
			Message: Sysprep End

EC2Config effectue ensuite les actions suivantes :

  1. Permet de lire le contenu du fichier config.xml et de répertorier tous les plugins activés.

  2. Permet d’exécuter simultanément tous les plugins avant que Windows soit prêt.

    • Ec2SetPassword

    • Ec2SetComputerName

    • Ec2InitializeDrives

    • Ec2EventLog

    • Ec2ConfigureRDP

    • Ec2OutputRDPCert

    • Ec2SetDriveLetter

    • Ec2WindowsActivate

    • Ec2DynamicBootVolumeSize

  3. Une fois terminé, il envoie un message « Windows is ready » aux journaux systèmes de l’instance.

  4. Permet d’exécuter simultanément tous les plugins une fois que Windows est prêt.

    • Amazon CloudWatch Logs

    • UserData

    • AWS Systems Manager (Systems Manager)

Pour plus d’informations sur les plugins Windows, consultez Utiliser le service EC2Config pour effectuer des tâches lors du lancement de l’instance de l’ancien système d’exploitation Windows EC2.

Exécuter Windows Sysprep avec le service EC2Config

Utilisez la procédure suivante pour créer une AMI standardisée à l’aide de Windows Sysprep et du service EC2Config.

  1. Dans la console Amazon EC2, recherchez ou créez une AMI que vous souhaitez dupliquer.

  2. Lancez et connectez-vous à votre instance Windows.

  3. Personnalisez-la.

  4. Spécifiez les paramètres de configuration dans le fichier de réponses du service EC2Config :

    C:\Program Files\Amazon\Ec2ConfigService\sysprep2008.xml

  5. Dans le menu Démarrer de Windows, choisissez Tous les programmes, puis Paramètres EC2ConfigService.

  6. Choisissez l’onglet Image dans la boîte de dialogue Ec2 Service Properties. Pour plus d’informations sur les options et les paramètres de la boîte de dialogue Ec2 Service Properties, consultez Propriétés du service EC2.

  7. Sélectionnez une option pour le mot de passe de l’administrateur, puis choisissez Shutdown with Sysprep ou Shutdown without Sysprep. EC2Config modifie les fichiers de paramètres en fonction de l’option de mot de passe que vous avez sélectionnée.

    • Random : EC2Config génère un mot de passe, le chiffre avec la clé de l’utilisateur et affiche le mot de passe chiffré sur la console. Nous désactivons ce paramètre après le premier lancement afin que ce mot de passe persiste si l’instance est redémarrée, arrêtée ou démarrée.

    • Specify : le mot de passe est stocké dans le fichier de réponse de Windows Sysprep sous une forme non chiffrée (texte clair). Lors de l’exécution suivante de Windows Sysprep, le mot de passe de l’administrateur est défini. Si vous arrêtez maintenant, le mot de passe est défini immédiatement. Lorsque le service redémarre, le mot de passe d’administrateur est supprimé. Il est important de vous rappeler ce mot de passe, car vous ne pourrez pas le récupérer ultérieurement.

    • Keep Existing : le mot de passe existant pour le compte administrateur ne change pas lorsque Windows Sysprep est exécuté ou que EC2Config est redémarré. Il est important de vous rappeler ce mot de passe, car vous ne pourrez pas le récupérer ultérieurement.

  8. Choisissez OK.

Lorsque vous êtes invité à confirmer que vous souhaitez exécuter Windows Sysprep et arrêter l’instance, cliquez sur Yes (Oui). Vous remarquerez que EC2Config exécute Windows Sysprep. Ensuite, vous êtes déconnecté de l’instance, et l’instance est arrêtée. Si vous consultez la page Instances sur la console Amazon EC2, l’état de l’instance passe de Running à Stopping, puis finalement à Stopped. A ce stade, vous pouvez créer une AMI en toute sécurité à partir de cette instance.

Vous pouvez invoquer manuellement l’outil Windows Sysprep à partir de la ligne de commande en utilisant la commande suivante :

"%programfiles%\amazon\ec2configservice\"ec2config.exe -sysprep""
Note

Les guillemets dans la commande ne sont pas obligatoires si votre shell CMD est déjà dans le répertoire C:\Program Files\Amazon\EC2ConfigService\.

Toutefois, vous devez vérifier que les options de fichier XML spécifiées dans le dossier Ec2ConfigService\Settings sont correctes. Sinon, vous risquez de ne pas pouvoir vous connecter à l’instance. Pour plus d’informations sur les fichiers de paramètres, consultez Fichiers de paramètres EC2Config. Pour obtenir un exemple de configuration et d’exécution de Windows Sysprep à partir de la ligne de commande, consultez Ec2ConfigService\Scripts\InstallUpdates.ps1.