Lancement d'une instance Amazon EC2; à l'aide de Windows PowerShell - AWS Tools for PowerShell

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.

Lancement d'une instance Amazon EC2; à l'aide de Windows PowerShell

Pour lancer une instance Amazon EC2, vous avez besoin de la paire de clés et du groupe de sécurité que vous avez créés dans les sections précédentes. Vous avez également besoin de l'ID d'une Amazon Machine Image (AMI). Pour plus d'informations, consultez la documentation suivante :

Important

Si vous lancez une instance non comprise dans l'offre gratuite, vous serez facturé dès le lancement de l'instance et pendant toute la durée d'exécution de l'instance, même si elle demeure inactive.

Lancement d'une instance dans EC2-Classic

Avertissement

Nous retirons EC2-Classic le 15 août 2022. Nous vous recommandons de migrer d'EC2-Classic vers un VPC. Pour plus d'informations, consultez Migrer d'EC2-Classic vers un VPC dans le Guide de l'utilisateur Amazon EC2 pour les instances Linux ou dans le Guide de l'utilisateur Amazon EC2 pour les instances Windows. Consultez également le billet de blog EC2-Classic Networking is Retiring – Here's How to Prepare (Se préparer au retrait de la mise en réseau EC2-Classic).

La commande suivante crée une instance t1.micro unique et la lance.

PS > New-EC2Instance -ImageId ami-c49c0dac ` -MinCount 1 ` -MaxCount 1 ` -KeyName myPSKeyPair ` -SecurityGroups myPSSecurityGroup ` -InstanceType t1.micro ReservationId : r-b70a0ef1 OwnerId : 123456789012 RequesterId : Groups : {myPSSecurityGroup} GroupName : {myPSSecurityGroup} Instances : {}

Au départ, votre instance est à l'état pending, mais elle passe à l'état running en quelques minutes. Pour afficher les informations sur votre instance, utilisez l'applet de commande Get-EC2Instance. Si vous avez plusieurs instances, vous pouvez filtrer les résultats sur l'ID de réservation à l'aide du paramètre Filter. Tout d'abord, créez un objet de type Amazon.EC2.Model.Filter. Ensuite, appelez Get-EC2Instance qui utilise le filtre, puis affiche la propriété Instances.

PS > $reservation = New-Object 'collections.generic.list[string]' PS > $reservation.add("r-5caa4371") PS > $filter_reservation = New-Object Amazon.EC2.Model.Filter -Property @{Name = "reservation-id"; Values = $reservation} PS > (Get-EC2Instance -Filter $filter_reservation).Instances AmiLaunchIndex : 0 Architecture : x86_64 BlockDeviceMappings : {/dev/sda1} ClientToken : EbsOptimized : False Hypervisor : xen IamInstanceProfile : ImageId : ami-c49c0dac InstanceId : i-5203422c InstanceLifecycle : InstanceType : t1.micro KernelId : KeyName : myPSKeyPair LaunchTime : 12/2/2018 3:38:52 PM Monitoring : Amazon.EC2.Model.Monitoring NetworkInterfaces : {} Placement : Amazon.EC2.Model.Placement Platform : Windows PrivateDnsName : PrivateIpAddress : 10.25.1.11 ProductCodes : {} PublicDnsName : PublicIpAddress : 198.51.100.245 RamdiskId : RootDeviceName : /dev/sda1 RootDeviceType : ebs SecurityGroups : {myPSSecurityGroup} SourceDestCheck : True SpotInstanceRequestId : SriovNetSupport : State : Amazon.EC2.Model.InstanceState StateReason : StateTransitionReason : SubnetId : Tags : {} VirtualizationType : hvm VpcId :

Lancement d'une instance dans un VPC

La commande suivante crée une seule instance m1.small dans le sous-réseau privé spécifié. Le groupe de sécurité doit être valide pour le sous-réseau spécifié.

PS > New-EC2Instance ` -ImageId ami-c49c0dac ` -MinCount 1 -MaxCount 1 ` -KeyName myPSKeyPair ` -SecurityGroupId sg-5d293231 ` -InstanceType m1.small ` -SubnetId subnet-d60013bf ReservationId : r-b70a0ef1 OwnerId : 123456789012 RequesterId : Groups : {} GroupName : {} Instances : {}

Au départ, votre instance est à l'état pending, mais elle passe à l'état running en quelques minutes. Pour afficher les informations sur votre instance, utilisez l'applet de commande Get-EC2Instance. Si vous avez plusieurs instances, vous pouvez filtrer les résultats sur l'ID de réservation à l'aide du paramètre Filter. Tout d'abord, créez un objet de type Amazon.EC2.Model.Filter. Ensuite, appelez Get-EC2Instance qui utilise le filtre, puis affiche la propriété Instances.

PS > $reservation = New-Object 'collections.generic.list[string]' PS > $reservation.add("r-b70a0ef1") PS > $filter_reservation = New-Object Amazon.EC2.Model.Filter -Property @{Name = "reservation-id"; Values = $reservation} PS > (Get-EC2Instance -Filter $filter_reservation).Instances AmiLaunchIndex : 0 Architecture : x86_64 BlockDeviceMappings : {/dev/sda1} ClientToken : EbsOptimized : False Hypervisor : xen IamInstanceProfile : ImageId : ami-c49c0dac InstanceId : i-5203422c InstanceLifecycle : InstanceType : m1.small KernelId : KeyName : myPSKeyPair LaunchTime : 12/2/2018 3:38:52 PM Monitoring : Amazon.EC2.Model.Monitoring NetworkInterfaces : {} Placement : Amazon.EC2.Model.Placement Platform : Windows PrivateDnsName : PrivateIpAddress : 10.25.1.11 ProductCodes : {} PublicDnsName : PublicIpAddress : 198.51.100.245 RamdiskId : RootDeviceName : /dev/sda1 RootDeviceType : ebs SecurityGroups : {myPSSecurityGroup} SourceDestCheck : True SpotInstanceRequestId : SriovNetSupport : State : Amazon.EC2.Model.InstanceState StateReason : StateTransitionReason : SubnetId : subnet-d60013bf Tags : {} VirtualizationType : hvm VpcId : vpc-a01106c2

Lancement d'une instance Spot dans un VPC

L'exemple de script suivant demande une instance Spot dans le sous-réseau spécifié. Le groupe de sécurité doit être un que vous avez créé pour le VPC qui contient le sous-réseau spécifié.

$interface1 = New-Object Amazon.EC2.Model.InstanceNetworkInterfaceSpecification $interface1.DeviceIndex = 0 $interface1.SubnetId = "subnet-b61f49f0" $interface1.PrivateIpAddress = "10.0.1.5" $interface1.Groups.Add("sg-5d293231") Request-EC2SpotInstance ` -SpotPrice 0.007 ` -InstanceCount 1 ` -Type one-time ` -LaunchSpecification_ImageId ami-7527031c ` -LaunchSpecification_InstanceType m1.small ` -Region us-west-2 ` -LaunchSpecification_NetworkInterfaces $interface1