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éer une flotte EC2
Pour créer une flotte EC2, définissez la configuration de la flotte dans un fichier JSON et référencez le fichier à l’aide de la commande create-fleet. Dans le fichier JSON, vous devez spécifier la capacité cible totale de la flotte, des capacités cibles distinctes pour les Instances Spot et les Instances à la demande, et un modèle de lancement paramétrant la configuration des instances du parc d’instances, par exemple une AMI, un type d’instance, un sous-réseau ou une zone de disponibilité, et un ou plusieurs groupes de sécurité. Vous pouvez éventuellement spécifier des configurations supplémentaires, telles que des paramètres pour remplacer la configuration du modèle de lancement, des stratégies d’allocation pour sélectionner des instances ponctuelles et des instances à la demande dans les pools de capacités EC2, et le montant maximum que vous êtes prêt à payer pour le parc. Pour de plus amples informations, veuillez consulter Options de configuration pour votre Flotte EC2 ou parc d’instances Spot.
La flotte EC2 lance des instances à la demande lorsque la capacité requise est disponible, et il lance des instances Spot lorsque votre prix maximum dépasse le prix spot et que la capacité est disponible.
Si votre flotte inclut des instances Spot et qu’elle est de type maintain, alors Amazon EC2 tente de maintenir la capacité cible de votre flotte en cas d’interruption de vos instances Spot.
Limites flotte EC2
Les limites suivantes s’appliquent à une flotte EC2 :
-
La création d'une flotte EC2 est uniquement disponible via l'API Amazon EC2 AWS CLI,, AWS SDKs, et. CloudFormation
-
Une demande de flotte EC2 ne peut pas couvrir plusieurs AWS régions. Vous devez créer une flotte EC2 distinct pour chaque région.
-
Une demande de flotte EC2 ne peut pas couvrir différents sous-réseaux d’une même zone de disponibilité.
Créer une flotte EC2
Pour lancer un parc d’instances à l’aide d’EC2 Fleet, il vous suffit de spécifier les paramètres suivants dans votre demande de parc, et le parc utilisera les valeurs par défaut pour les autres paramètres :
-
LaunchTemplateIdouLaunchTemplateName: spécifie le modèle de lancement à utiliser (qui contient les paramètres des instances à lancer, tels que le type d’instance et la zone de disponibilité) -
TotalTargetCapacity: spécifie la capacité cible totale de la flotte -
DefaultTargetCapacityType: indique si l’option d’achat par défaut est à la demande ou Spot
Pour remplacer les paramètres spécifiés dans le modèle de lancement, vous pouvez spécifier un ou plusieurs remplacements. Chaque dérogation peut varier en fonction du type d’instance, de la zone de disponibilité, du sous-réseau et du prix maximum, et peut inclure une capacité pondérée différente. Au lieu de spécifier manuellement les types d’instance, vous pouvez spécifier les attributs qu’une instance doit posséder, et Amazon EC2 identifiera tous les types d’instance avec ces attributs. Pour plus d'informations, consultez Spécifiez des attributs pour la sélection de type d’instance pour la flotte EC2.
Pour les Flotte EC2 de typeinstant, vous pouvez spécifier un paramètre Systems Manager au lieu de l’ID AMI. Vous pouvez spécifier le paramètre Systems Manager dans l’override ou dans le modèle de lancement. Pour de plus amples informations, veuillez consulter Utilisation d’un paramètre Systems Manager au lieu d’un ID d’AMI.
Vous pouvez spécifier les paramètres de la flotte dans un fichier JSON. Pour plus d’informations sur tous les paramètres possibles que vous pouvez spécifier, consultez Afficher toutes les options de configuration d’une flotte EC2.
Pour accéder à des exemples de configuration de Flotte, consultez Exemple de configurations CLI pour la flotte EC2.
Il n’existe actuellement aucune console compatible avec la création d’une flotte EC2.
Pour créer une flotte EC2
Utilisez la commande create-fleet pour créer une flotte et spécifier le fichier JSON qui contient les paramètres de configuration de la flotte.
aws ec2 create-fleet --cli-input-json file://file_name.json
Voici un exemple de sortie d’un parc d’instances du type request ou maintain.
{
"FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE"
}
Voici un exemple de sortie d’un parc d’instances du type instant qui a lancé la capacité cible.
{
"FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
"Errors": [],
"Instances": [
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c5.large",
"AvailabilityZone": "us-east-1a"
}
},
"Lifecycle": "on-demand",
"InstanceIds": [
"i-1234567890abcdef0",
"i-9876543210abcdef9"
],
"InstanceType": "c5.large",
"Platform": null
},
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c4.large",
"AvailabilityZone": "us-east-1a"
}
},
"Lifecycle": "on-demand",
"InstanceIds": [
"i-5678901234abcdef0",
"i-5432109876abcdef9"
]
]
}
Voici un exemple de sortie d’un parc d’instances du type instant qui a lancé une partie de la capacité cible avec les erreurs liées aux instances qui n’ont pas été lancées.
{
"FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
"Errors": [
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c4.xlarge",
"AvailabilityZone": "us-east-1a",
}
},
"Lifecycle": "on-demand",
"ErrorCode": "InsufficientInstanceCapacity",
"ErrorMessage": ""
},
],
"Instances": [
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c5.large",
"AvailabilityZone": "us-east-1a"
}
},
"Lifecycle": "on-demand",
"InstanceIds": [
"i-1234567890abcdef0",
"i-9876543210abcdef9"
]
]
}
Voici un exemple de sortie d’un parc d’instances du type instant qui n’a lancé aucune instance.
{
"FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
"Errors": [
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c4.xlarge",
"AvailabilityZone": "us-east-1a",
}
},
"Lifecycle": "on-demand",
"ErrorCode": "InsufficientCapacity",
"ErrorMessage": ""
},
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c5.large",
"AvailabilityZone": "us-east-1a",
}
},
"Lifecycle": "on-demand",
"ErrorCode": "InsufficientCapacity",
"ErrorMessage": ""
},
],
"Instances": []
}
Créer une flotte EC2 qui remplace les instances Spot non saines
La flotte EC2 vérifie l’état de santé des instances de la flotte toutes les deux minutes. Le statut de l’état d’une instance est healthy ou unhealthy.
La flotte EC2 détermine le statut d’intégrité d’une instance en utilisant les contrôles de statut fournis par Amazon EC2. Une instance est déterminée comme unhealthy lorsque le contrôle du statut de l’instance ou de celui du système est impaired pendant trois vérifications consécutives de l’état d’intégrité. Pour de plus amples informations, veuillez consulter Contrôles du statut des instances Amazon EC2.
Vous pouvez configurer votre flotte pour qu’il remplace les instances Spot non saine. Après avoir paramétré ReplaceUnhealthyInstances sur true, une instance Spot est remplacée lorsqu’elle est signalée comme unhealthy. Notez que la taille de la flotte peut être inférieure à sa capacité cible pendant quelques minutes pendant le remplacement d’une instance Spot non saine.
Exigences
-
Le remplacement de la vérification de l’état est pris en charge uniquement pour les Flottes EC2 qui maintiennent une capacité cible (flottes de type
maintain), pas avec des flottes de typerequestouinstant. -
Le remplacement de la vérification de l’état n’est pris en charge que pour instances Spot. Cette fonctionnalité n’est pas prise en charge pour instances à la demande.
-
Vous pouvez configurer votre flotte EC2 pour qu’il remplace les instances non saines au moment de sa création uniquement.
-
Les utilisateurs peuvent utiliser le remplacement lié à la surveillance de l’état seulement s’ils sont autorisés à appeler l’action
ec2:DescribeInstanceStatus.
Pour configurer une flotte EC2 pour remplacer une instances Spot non saine
-
Utilisez les informations permettant de créer une flotte EC2 dans Créer une flotte EC2.
-
Pour configurer la flotte de manière à remplacer les instances Spot non saines, dans le fichier JSON, pour
ReplaceUnhealthyInstances, spécifieztrue.
Afficher toutes les options de configuration d’une flotte EC2
Pour afficher la liste complète des paramètres de configuration de la flotte EC2, vous pouvez générer un fichier JSON. Pour obtenir une description de chaque paramètre, consultez la section create-fleet.
Pour générer un fichier JSON avec tous les paramètres de la flotte EC2 possibles
Utilisez la commande create-fleet (AWS CLI) et le paramètre --generate-cli-skeleton pour générer un fichier JSON de flotte EC2 et rediriger la sortie vers un fichier de sauvegarde.
aws ec2 create-fleet \ --generate-cli-skeleton input >ec2createfleet.json
Voici un exemple de sortie.
{
"DryRun": true,
"ClientToken": "",
"SpotOptions": {
"AllocationStrategy": "price-capacity-optimized",
"MaintenanceStrategies": {
"CapacityRebalance": {
"ReplacementStrategy": "launch"
}
},
"InstanceInterruptionBehavior": "hibernate",
"InstancePoolsToUseCount": 0,
"SingleInstanceType": true,
"SingleAvailabilityZone": true,
"MinTargetCapacity": 0,
"MaxTotalPrice": ""
},
"OnDemandOptions": {
"AllocationStrategy": "prioritized",
"CapacityReservationOptions": {
"UsageStrategy": "use-capacity-reservations-first"
},
"SingleInstanceType": true,
"SingleAvailabilityZone": true,
"MinTargetCapacity": 0,
"MaxTotalPrice": ""
},
"ExcessCapacityTerminationPolicy": "termination",
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateId": "",
"LaunchTemplateName": "",
"Version": ""
},
"Overrides": [
{
"InstanceType": "r5.metal",
"MaxPrice": "",
"SubnetId": "",
"AvailabilityZone": "",
"WeightedCapacity": 0.0,
"Priority": 0.0,
"Placement": {
"AvailabilityZone": "",
"Affinity": "",
"GroupName": "",
"PartitionNumber": 0,
"HostId": "",
"Tenancy": "dedicated",
"SpreadDomain": "",
"HostResourceGroupArn": ""
},
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 0
},
"MemoryMiB": {
"Min": 0,
"Max": 0
},
"CpuManufacturers": [
"amd"
],
"MemoryGiBPerVCpu": {
"Min": 0.0,
"Max": 0.0
},
"ExcludedInstanceTypes": [
""
],
"InstanceGenerations": [
"previous"
],
"SpotMaxPricePercentageOverLowestPrice": 0,
"OnDemandMaxPricePercentageOverLowestPrice": 0,
"BareMetal": "included",
"BurstablePerformance": "required",
"RequireHibernateSupport": true,
"NetworkInterfaceCount": {
"Min": 0,
"Max": 0
},
"LocalStorage": "excluded",
"LocalStorageTypes": [
"ssd"
],
"TotalLocalStorageGB": {
"Min": 0.0,
"Max": 0.0
},
"BaselineEbsBandwidthMbps": {
"Min": 0,
"Max": 0
},
"AcceleratorTypes": [
"inference"
],
"AcceleratorCount": {
"Min": 0,
"Max": 0
},
"AcceleratorManufacturers": [
"amd"
],
"AcceleratorNames": [
"a100"
],
"AcceleratorTotalMemoryMiB": {
"Min": 0,
"Max": 0
}
}
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 0,
"OnDemandTargetCapacity": 0,
"SpotTargetCapacity": 0,
"DefaultTargetCapacityType": "on-demand",
"TargetCapacityUnitType": "memory-mib"
},
"TerminateInstancesWithExpiration": true,
"Type": "instant",
"ValidFrom": "1970-01-01T00:00:00",
"ValidUntil": "1970-01-01T00:00:00",
"ReplaceUnhealthyInstances": true,
"TagSpecifications": [
{
"ResourceType": "fleet",
"Tags": [
{
"Key": "",
"Value": ""
}
]
}
],
"Context": ""
}