

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.

# `AWSSupport-CopyEC2Instance`
<a name="automation-awssupport-copyec2instance"></a>

 **Description** 

Le `AWSSupport-CopyEC2Instance` runbook fournit une solution automatisée pour la procédure décrite dans l'article du centre de connaissances [Comment déplacer mon EC2 instance vers un autre sous-réseau, une autre zone de disponibilité ou un autre VPC](https://aws.amazon.com/premiumsupport/knowledge-center/move-ec2-instance/) ? Les branches d'automatisation dépendent des valeurs que vous spécifiez pour les `SubnetId` paramètres `Region` et.

Si vous spécifiez une valeur pour le `SubnetId` paramètre mais pas une valeur pour le `Region` paramètre, l'automatisation crée un Amazon Machine Image (AMI) de l'instance cible et lance une nouvelle instance depuis AMI dans le sous-réseau que vous avez spécifié.

Si vous spécifiez une valeur pour le `SubnetId` paramètre et le `Region` paramètre, l'automatisation crée un AMI de l'instance cible, copie le AMI à celle Région AWS que vous avez spécifiée, et lance une nouvelle instance à partir du AMI dans le sous-réseau que vous avez spécifié.

Si vous spécifiez une valeur pour le `Region` paramètre mais pas une valeur pour le `SubnetId` paramètre, l'automatisation crée un AMI de l'instance cible, copie le AMI dans la région que vous avez spécifiée, et lance une nouvelle instance à partir du AMI dans le sous-réseau par défaut de votre cloud privé virtuel (VPC) dans la région de destination.

Si aucune valeur n'est spécifiée pour les `SubnetId` paramètres `Region` ou, l'automatisation crée un AMI de l'instance cible, et lance une nouvelle instance depuis AMI dans le sous-réseau par défaut de votre VPC.

Pour copier un AMI pour une autre région, vous devez fournir une valeur pour le `AutomationAssumeRole` paramètre. Si l'automatisation expire au cours de l'`waitForAvailableDestinationAmi`étape, AMI est peut-être encore en train de copier. Dans ce cas, vous pouvez attendre que la copie soit terminée et lancer l'instance manuellement.

Avant d'exécuter cette automatisation, notez les points suivants :
+ AMIs sont basés sur des instantanés Amazon Elastic Block Store (Amazon EBS). Pour les systèmes de fichiers volumineux sans capture d'écran préalable, AMI la création peut prendre plusieurs heures. Pour diminuer le AMI heure de création, créez un instantané Amazon EBS avant de créer AMI.
+ Création d'un AMI ne crée pas de capture instantanée pour les volumes de stockage d'instance sur l'instance. Pour plus d'informations sur la sauvegarde des volumes de stockage d'instance sur Amazon EBS, consultez [Comment sauvegarder un volume de stockage d'instance sur mon EC2 instance Amazon sur Amazon EBS](https://aws.amazon.com/premiumsupport/knowledge-center/back-up-instance-store-ebs/) ?
+ La nouvelle EC2 instance Amazon possède une adresse IPv6 IP privée IPv4 ou publique différente. Vous devez mettre à jour toutes les références aux anciennes adresses IP (par exemple, dans les entrées DNS) avec les nouvelles adresses IP attribuées à la nouvelle instance. Si vous utilisez une adresse IP élastique sur votre instance source, veillez à l'associer à la nouvelle instance.
+ Des problèmes de conflit avec l'identifiant de sécurité du domaine (SID) peuvent survenir lorsque la copie est lancée et tente de contacter le domaine. Avant de capturer l'AMI, utilisez Sysprep ou supprimez l'instance jointe au domaine du domaine pour éviter les problèmes de conflit. Pour plus d'informations, voir [Comment utiliser Sysprep pour créer et installer des fenêtres réutilisables personnalisées ? AMIs](https://aws.amazon.com/premiumsupport/knowledge-center/sysprep-create-install-ec2-windows-amis/)

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-CopyEC2Instance) 

**Important**  
Nous vous déconseillons d'utiliser ce runbook pour copier des instances du contrôleur de domaine Microsoft Active Directory.

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

Linux, macOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : String

  Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
+ InstanceId

  Type : String

  Description : (Obligatoire) L'ID de l'instance que vous souhaitez copier.
+ KeyPair

  Type : String

  Description : (Facultatif) La paire de clés que vous souhaitez associer à la nouvelle instance copiée. Si vous copiez l'instance dans une autre région, assurez-vous que la paire de clés existe dans la région spécifiée.
+ Région

  Type : String

  Description : (Facultatif) La région dans laquelle vous souhaitez copier l'instance. Si vous spécifiez une valeur pour ce paramètre, mais que vous ne spécifiez pas de valeurs pour les `SecurityGroupIds` paramètres `SubnetId` et, l'automatisation tente de lancer l'instance dans le VPC par défaut avec le groupe de sécurité par défaut. Si EC2 -Classic est activé dans la région de destination, le lancement échouera.
+ SubnetId

  Type : String

  Description : (Facultatif) L'ID du sous-réseau dans lequel vous souhaitez copier l'instance. Si EC2 -Classic est activé dans la région de destination, vous devez fournir une valeur pour ce paramètre.
+ InstanceType

  Type : String

  Description : (Facultatif) Le type d'instance sous lequel l'instance copiée doit être lancée. Si vous ne spécifiez aucune valeur pour ce paramètre, le type d'instance source est utilisé. Si le type d'instance source n'est pas pris en charge dans la région vers laquelle l'instance est copiée, l'automatisation échoue.
+ SecurityGroupIds

  Type : String

  Description : (Facultatif) Liste séparée par des virgules des groupes de sécurité que IDs vous souhaitez associer à l'instance copiée. Si vous ne spécifiez aucune valeur pour ce paramètre et que l'instance n'est pas copiée dans une autre région, les groupes de sécurité associés à l'instance source sont utilisés. Si vous copiez l'instance vers une autre région, le groupe de sécurité par défaut pour le VPC par défaut dans la région de destination est utilisé.
+ KeepImageSourceRegion

  Type : booléen

  Valeurs valides : true \$1 false

  Valeur par défaut : true

  Description : (Facultatif) Si vous spécifiez `true` ce paramètre, l'automatisation ne supprime pas le AMI de l'instance source. Si vous spécifiez `false` ce paramètre, l'automatisation annule l'enregistrement du AMI et supprime les instantanés associés.
+ KeepImageDestinationRegion

  Type : booléen

  Valeurs valides : true \$1 false

  Valeur par défaut : true

  Description : (Facultatif) Si vous spécifiez `true` ce paramètre, l'automatisation ne supprime pas le AMI qui est copié dans la région que vous avez spécifiée. Si vous spécifiez `false` ce paramètre, l'automatisation annule l'enregistrement du AMI et supprime les instantanés associés.
+ NoRebootInstanceBeforeTakingImage

  Type : booléen

  Valeurs valides : true \$1 false

  Valeur par défaut : false

  Description : (Facultatif) Si vous spécifiez `true` ce paramètre, l'instance source ne sera pas redémarrée avant la création du AMI. Lorsque cette option est utilisée, l'intégrité du système de fichiers sur l'image créée ne peut être garantie.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+ `ec2:CreateImage`
+ `ec2:DeleteSnapshot`
+ `ec2:DeregisterImage`
+ `ec2:DescribeInstances`
+ `ec2:DescribeImages`
+ `ec2:RunInstances`

Si vous copiez l'instance dans une autre région, vous aurez également besoin des autorisations suivantes.
+ `ec2:CopyImage`

 **Étapes de document** 
+ describeOriginalInstanceDétails : rassemble les détails de l'instance à copier.
+ assertRootVolumeIsEbs - Vérifie si le type de périphérique du volume racine est`ebs`, et dans le cas contraire, met fin à l'automatisation.
+ evalInputParameters - Évalue les valeurs fournies pour les paramètres d'entrée.
+ createLocalAmi - Crée un AMI de l'instance source.
+ tagLocalAmi - Étiquète le AMI créé à l'étape précédente.
+ branchAssertRegionIsSame - Branches selon que l'instance est copiée dans la même région ou dans une autre région.
+ branchAssertSameRegionWithKeyPair - Branches basées sur le fait qu'une valeur a été fournie ou non pour le `KeyPair` paramètre d'une instance copiée dans la même région.
+ sameRegionLaunchInstanceWithKeyPair - Lance une EC2 instance Amazon depuis AMI de l'instance source dans le même sous-réseau ou du sous-réseau que vous spécifiez à l'aide de la paire de clés que vous avez spécifiée.
+ sameRegionLaunchInstanceWithoutKeyPair - Lance une EC2 instance Amazon depuis AMI de l'instance source dans le même sous-réseau ou le sous-réseau que vous spécifiez sans paire de clés.
+ copyAmiToRégion - Copie le AMI vers la région de destination.
+ waitForAvailableDestinationAmi - Attend la copie AMI État à devenir`available`.
+ destinationRegionLaunchInstance : lance une EC2 instance Amazon à l'aide de la copie AMI.
+ branchAssertDestinationAmiToDelete - Branches basées sur la valeur que vous avez fournie pour le `KeepImageDestinationRegion` paramètre.
+ deregisterDestinationAmiAndDeleteSnapshots - Désenregistre le copié AMI et supprime les instantanés associés.
+ branchAssertSourceAmiTodelete - Branches basées sur la valeur que vous avez fournie pour le `KeepImageSourceRegion` paramètre.
+ deregisterSourceAmiAndDeleteSnapshots - Désenregistre le AMI créé à partir de l'instance source et supprime les instantanés associés.
+ sleep : met en veille l'automatisation pendant 2 secondes. Il s'agit d'une étape terminale.

 **Sorties** 

sameRegionLaunchInstanceWithKeyPair.InstanceIds

sameRegionLaunchInstanceWithoutKeyPair.InstanceIds

destinationRegionLaunchInstance. DestinationInstanceId