Configurez un groupe de provisionnement automatique pour créer des instances ECS dans plusieurs pools de ressources, notamment pour les scénarios d'apprentissage automatique et de services web.
Configurer dans la console ECS
Exemple 1 : Mettre en œuvre l'apprentissage automatique
Vous prévoyez d'exécuter une tâche d'apprentissage automatique d'une semaine afin d'analyser les facteurs de risque liés aux prêts hypothécaires. Le cluster d'instances doit répondre aux exigences suivantes :
Région : Chine (Hangzhou).
Les instances utilisent des GPU NVIDIA V100 avec jusqu'à 32 Go de mémoire GPU par instance.
Capacité cible : 20 instances.
Pour minimiser les coûts, créez uniquement des instances spot. La taille du cluster peut être inférieure à la capacité cible.
Libérez les instances une fois la tâche terminée.
Le tableau suivant répertorie les paramètres du groupe de provisionnement automatique pour ce scénario.
|
Section |
Parameter |
Description |
|
Capacity Configuration |
Target Capacity |
Définissez la capacité cible :
|
|
Instance Configuration |
Instance Configuration |
Sélectionnez les types d'instance dotés de GPU NVIDIA V100 et disposant d'une mémoire GPU maximale de 32 Go :
Ajoutez des configurations d'instance par zone et par type d'instance :
Ces configurations génèrent les pools de ressources suivants :
|
|
Provisioning Policy |
Sélectionnez Cost Optimization Policy. Une fois le groupe de provisionnement automatique démarré, il provisionne des instances à partir du pool de ressources au coût le plus bas. |
|
|
Spot Instance Interruption Mode |
Pour privilégier la réduction des coûts, sélectionnez Release. Cette option reste acceptable même si la taille du cluster devient inférieure à la capacité cible. |
|
|
Advanced Options |
Group Type |
Pour privilégier la réduction des coûts, sélectionnez One-time Delivery. Cette option reste acceptable même si le cluster n'atteint pas sa capacité cible. |
|
Start Time et End Time |
Définissez l'heure de début et l'heure d'expiration de manière à couvrir la semaine suivante. |
|
|
Global Maximum Price for Spot Instances |
Pour minimiser les coûts, sélectionnez Set Maximum Price et spécifiez votre prix maximal pour une instance spot. |
|
|
Instance Shutdown Settings |
|
Exemple 2 : Créer un site web de billetterie
Vous souhaitez créer un site web de billetterie offrant un service fiable à toute heure, en particulier pendant les heures de pointe. Le cluster d'instances doit répondre aux exigences suivantes :
Région : Chine (Hangzhou).
Chaque instance dispose d'au maximum 8 vCPU.
Capacité cible : 80 vCPU.
Capacité minimale : 60 vCPU.
Optimisez l'expérience d'accès à moindre coût en vous basant sur la capacité minimale.
Le cluster doit prendre en charge la reprise après sinistre.
Le tableau suivant répertorie les paramètres du groupe de provisionnement automatique pour ce scénario.
|
Section |
Parameter |
Description |
|
Capacity Configuration |
Target Capacity |
Définissez la capacité cible et la capacité minimale :
|
|
Target Capacity of Pay-as-you-go Instances |
Saisissez 60 pour satisfaire l'exigence de capacité minimale. |
|
|
Instance Configuration |
Instance Configuration |
La famille d'instances c6 convient aux serveurs web frontaux. Sélectionnez des types d'instance comportant au maximum 8 vCPU :
Ajoutez des configurations d'instance par zone et par type d'instance :
Ces configurations génèrent les pools de ressources suivants :
|
|
Provisioning Policy |
Sélectionnez Balanced Distribution Policy. Une fois le groupe de provisionnement automatique démarré, il tente de répartir uniformément les instances sur plusieurs zones. Cela permet d'éviter les échecs de création d'instances dus à un stock insuffisant dans une seule zone et d'améliorer les capacités de reprise après sinistre de l'application. |
|
|
Instance Configuration |
Spot Instance Interruption Mode |
Pour garantir une expérience utilisateur cohérente, sélectionnez Economical Mode. La reprise d'une instance arrêtée est plus rapide que la création d'une nouvelle instance, ce qui permet de réduire la latence après une interruption d'instance spot. |
|
Advanced Options |
Group Type |
Pour fournir des services de billetterie en continu, sélectionnez Continuous Delivery and Capacity Maintained. |
|
Start Time et End Time |
Le groupe démarre immédiatement et s'exécute indéfiniment pour assurer un service de billetterie continu. |
|
|
Global Maximum Price for Spot Instances |
Pour optimiser l'expérience du site web en maintenant un nombre stable d'instances, sélectionnez Use Automatic Bid. |
|
|
Instance Shutdown Settings |
Pour minimiser les coûts, sélectionnez Shut Down Instances in Excess of Target Capacity. |
La capacité cible utilise des vCPU ; par conséquent, le poids de chaque type d'instance correspond à son nombre de vCPU. Le tableau suivant présente le prix pondéré de chaque type d'instance.
Les prix indiqués dans le tableau ci-dessous sont fournis à titre indicatif uniquement. Les prix réels affichés sur la page d'achat font foi.
|
Instance type |
vCPUs |
Pay-as-you-go price (USD) |
Weight |
Weighted price (USD) |
|
ecs.c6.large |
2 |
0,06 per hour |
2 |
0.03 per hour |
|
ecs.c6.xlarge |
4 |
0 121 per hour |
4 |
0.03025 per hour |
|
ecs.c6,2xlarge |
8 |
0 241 per hour |
8 |
0.030125 per hour |
Le groupe applique d'abord la politique de distribution équilibrée pour répartir uniformément les instances entre les zones, puis sélectionne les types d'instance dont le prix pondéré est le plus faible. Si les prix pondérés sont identiques, les types d'instance sont choisis aléatoirement.
Configurer en appelant une opération API
Exemple 1 : Utiliser plusieurs pools de ressources aux prix les plus bas
Pour minimiser les coûts et réduire l'impact de la récupération des instances spot depuis un seul pool de ressources, configurez le groupe de manière à utiliser plusieurs pools de ressources aux prix les plus bas.
Appelez l'opération CreateAutoProvisioningGroup en définissant le paramètre SpotAllocationStrategy sur lowest-price et en spécifiant le paramètre SpotInstancePoolsToUseCount. L'exemple suivant crée un groupe produisant les résultats suivants :
Obtenez cinq pools de ressources basés sur le modèle de lancement lt-bp1ivgo4p5now3px****.
Définissez la capacité cible sur 30 instances, toutes étant des instances spot.
Utilisez les trois pools de ressources aux prix les plus bas, en créant 10 instances spot à partir de chacun d'eux.
|
Parameter |
Example |
Description |
|
TotalTargetCapacity |
30 |
Définit la capacité cible sur 30 instances. |
|
SpotTargetCapacity |
30 |
Crée 30 instances spot. |
|
PayAsYouGoTargetCapacity |
0 |
Ne crée aucune instance à la demande. |
|
SpotAllocationStrategy |
lowest-price |
Utilise la politique d'optimisation des coûts pour les instances spot. |
|
PayAsYouGoAllocationStrategy |
lowest-price |
Utilise la politique d'optimisation des coûts pour les instances à la demande. |
|
SpotInstancePoolsToUseCount |
3 |
Utilise les trois pools de ressources aux prix les plus bas. |
|
LaunchTemplateId |
lt-bp1ivgo4p5now3px**** |
ID du modèle de lancement. |
|
LaunchTemplateConfig.1.VSwitchId |
vsw-bp1ygryo03m39xhsy**** |
ID du vSwitch de la configuration étendue 1 (pool de ressources 1). |
|
LaunchTemplateConfig.1.InstanceType |
ecs.c6e.large |
Type d'instance de la configuration étendue 1 (pool de ressources 1). |
|
LaunchTemplateConfig.1.WeightedCapacity |
1 |
Poids de la configuration étendue 1 (pool de ressources 1). |
|
LaunchTemplateConfig.2.VSwitchId |
vsw-bp16hgf8f3kvtcbyu**** |
ID du vSwitch de la configuration étendue 2 (pool de ressources 2). |
|
LaunchTemplateConfig.2.InstanceType |
ecs.c6e.xlarge |
Type d'instance de la configuration étendue 2 (pool de ressources 2). |
|
LaunchTemplateConfig.2.WeightedCapacity |
1 |
Poids de la configuration étendue 2 (pool de ressources 2). |
|
LaunchTemplateConfig.3.VSwitchId |
vsw-bp1oeawdo9tj2gvjp**** |
ID du vSwitch de la configuration étendue 3 (pool de ressources 3). |
|
LaunchTemplateConfig.3.InstanceType |
ecs.c6e.2xlarge |
Type d'instance de la configuration étendue 3 (pool de ressources 3). |
|
LaunchTemplateConfig.3.WeightedCapacity |
1 |
Poids de la configuration étendue 3 (pool de ressources 3). |
|
LaunchTemplateConfig.4.VSwitchId |
vsw-bp1oeawdo9tj2gvjp**** |
ID du vSwitch de la configuration étendue 4 (pool de ressources 4). |
|
LaunchTemplateConfig.4.InstanceType |
ecs.g6e.xlarge |
Type d'instance de la configuration étendue 4 (pool de ressources 4). |
|
LaunchTemplateConfig.4.WeightedCapacity |
1 |
Poids de la configuration étendue 4 (pool de ressources 4). |
|
LaunchTemplateConfig.5.VSwitchId |
vsw-bp1oeawdo9tj2gvjp**** |
ID du vSwitch de la configuration étendue 5 (pool de ressources 5). |
|
LaunchTemplateConfig.5.InstanceType |
ecs.g6e.2xlarge |
Type d'instance de la configuration étendue 5 (pool de ressources 5). |
|
LaunchTemplateConfig.5.WeightedCapacity |
1 |
Poids de la configuration étendue 5 (pool de ressources 5). |
Exemple 2 : Privilégier l'utilisation d'un pool de ressources spécifique
Configurez le groupe de manière à prioriser un pool de ressources spécifique. Par exemple, si vous utilisez des instances réservées applicables aux instances ecs.c6e.large, privilégiez le type ecs.c6e.large pour bénéficier des remises associées aux instances réservées.
Appelez l'opération CreateAutoProvisioningGroup en définissant le paramètre PayAsYouGoAllocationStrategy sur prioritized et en attribuant la priorité 0 (la plus élevée) au pool de ressources cible. L'exemple suivant crée un groupe produisant les résultats suivants :
Obtenez cinq pools de ressources basés sur le modèle de lancement lt-bp1ivgo4p5now3px****.
Définissez la capacité cible sur 20 instances : 10 instances spot et 10 instances à la demande.
Utilisez le pool de ressources ecs.c6e.large (LaunchTemplateConfig.1) pour les instances à la demande.
|
Parameter |
Example |
Description |
|
TotalTargetCapacity |
20 |
Définit la capacité cible sur 20 instances. |
|
SpotTargetCapacity |
10 |
Crée 10 instances spot. |
|
PayAsYouGoTargetCapacity |
10 |
Crée 10 instances à la demande. |
|
SpotAllocationStrategy |
lowest-price |
Utilise la politique d'optimisation des coûts pour les instances spot. |
|
PayAsYouGoAllocationStrategy |
prioritized |
Utilise la politique basée sur les priorités pour les instances à la demande. |
|
LaunchTemplateId |
lt-bp1ivgo4p5now3px**** |
ID du modèle de lancement. |
|
LaunchTemplateConfig.1.VSwitchId |
vsw-bp1ygryo03m39xhsy**** |
ID du vSwitch de la configuration étendue 1 (pool de ressources 1). |
|
LaunchTemplateConfig.1.InstanceType |
ecs.c6e.large |
Type d'instance de la configuration étendue 1 (pool de ressources 1). |
|
LaunchTemplateConfig.1.WeightedCapacity |
1 |
Poids de la configuration étendue 1 (pool de ressources 1). |
|
LaunchTemplateConfig.1.Priority |
0 |
Priorité de la configuration étendue 1. 0 indique la priorité la plus élevée. |
|
LaunchTemplateConfig.2.VSwitchId |
vsw-bp16hgf8f3kvtcbyu**** |
ID du vSwitch de la configuration étendue 2 (pool de ressources 2). |
|
LaunchTemplateConfig.2.InstanceType |
ecs.c6e.xlarge |
Type d'instance de la configuration étendue 2 (pool de ressources 2). |
|
LaunchTemplateConfig.2.WeightedCapacity |
1 |
Poids de la configuration étendue 2 (pool de ressources 2). |
|
LaunchTemplateConfig.3.VSwitchId |
vsw-bp1oeawdo9tj2gvjp**** |
ID du vSwitch de la configuration étendue 3 (pool de ressources 3). |
|
LaunchTemplateConfig.3.InstanceType |
ecs.c6e.2xlarge |
Type d'instance de la configuration étendue 3 (pool de ressources 3). |
|
LaunchTemplateConfig.3.WeightedCapacity |
1 |
Poids de la configuration étendue 3 (pool de ressources 3). |
|
LaunchTemplateConfig.4.VSwitchId |
vsw-bp1oeawdo9tj2gvjp**** |
ID du vSwitch de la configuration étendue 4 (pool de ressources 4). |
|
LaunchTemplateConfig.4.InstanceType |
ecs.g6e.xlarge |
Type d'instance de la configuration étendue 4 (pool de ressources 4). |
|
LaunchTemplateConfig.4.WeightedCapacity |
1 |
Poids de la configuration étendue 4 (pool de ressources 4). |
|
LaunchTemplateConfig.5.VSwitchId |
vsw-bp1oeawdo9tj2gvjp**** |
ID du vSwitch de la configuration étendue 5 (pool de ressources 5). |
|
LaunchTemplateConfig.5.InstanceType |
ecs.g6e.2xlarge |
Type d'instance de la configuration étendue 5 (pool de ressources 5). |
|
LaunchTemplateConfig.5.WeightedCapacity |
1 |
Poids de la configuration étendue 5 (pool de ressources 5). |