

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.

# Mise à l'échelle automatique plus rapide grâce à des mesures haute résolution
<a name="target-tracking-faster-auto-scaling"></a>

Par défaut, Amazon ECS publie `CPUUtilization` et `MemoryUtilization` mesure à une résolution de 60 secondes. Vous pouvez configurer une résolution de 20 secondes pour accélérer la mise à l'échelle automatique du service.

Les mesures prédéfinies à haute résolution suivantes sont disponibles pour les politiques de dimensionnement du suivi des cibles :


| PredefinedMetricType | Description | 
| --- | --- | 
| ECSServiceAverageCPUUtilizationHighResolution | Utilisation moyenne du processeur à une résolution de 20 secondes | 
| ECSServiceAverageMemoryUtilizationHighResolution | Utilisation moyenne de la mémoire à une résolution de 20 secondes | 

## Créez un nouveau service avec des métriques à haute résolution pour une mise à l'échelle automatique plus rapide
<a name="faster-auto-scaling-create-service"></a>

### Console
<a name="faster-auto-scaling-create-service-console"></a>

1. Sur la page **Clusters**, choisissez le cluster dans lequel vous souhaitez créer le service.

1. Dans la section **Services**, choisissez **Create**.

1. Dans le formulaire Créer un service, dans la section **Configuration de surveillance**, choisissez **Ajouter une configuration métrique**.

1. Dans **Nom de la métrique**, sélectionnez la métrique que vous souhaitez collecter en haute résolution. Sélectionnez `CPUUtilization` ou `MemoryUtilization`.

1. Pour **Résolution (secondes)**, sélectionnez **20**.

1. (Facultatif) Pour ajouter les deux mesures en haute résolution, choisissez à nouveau **Ajouter une configuration de métrique** et répétez les deux étapes précédentes pour l'autre métrique.

1. Dans la section **Service auto scaling**, sélectionnez **Utiliser le dimensionnement automatique du service**.

1. Pour **Nombre minimum de tâches**, saisissez la limite inférieure du nombre de tâches à utiliser pour l’autoscaling du service. Le nombre souhaité ne sera pas inférieur à ce nombre.

1. Pour **Nombre maximal de tâches**, saisissez la limite supérieure du nombre de tâches à utiliser par l’autoscaling du service. Le nombre souhaité ne sera pas supérieur à ce nombre.

1. Pour **Scaling policy type** (Type de politique de mise à l'échelle), choisissez **Target tracking** (Suivi de cible).

1. Pour **Type de métrique**, sélectionnez la métrique haute résolution correspondante. Par exemple, choisissez `ECSServiceAverageCPUUtilizationHighResolution` si vous avez configuré `CPUUtilization` à une résolution de 20 secondes ou `ECSServiceAverageMemoryUtilizationHighResolution` si vous l'avez configurée `MemoryUtilization` à une résolution de 20 secondes.

1. Pour **Valeur cible**, entrez le pourcentage d'utilisation cible. Le dimensionnement automatique du service augmente votre capacité jusqu'à ce que l'utilisation moyenne atteigne la valeur cible ou jusqu'à ce qu'elle atteigne le nombre maximum de tâches que vous avez spécifié.

1. Sous **Paramètres supplémentaires**, configurez les éléments suivants :

   1. Pour la **période de Scale-out recharge**, entrez le temps en secondes pendant lequel vous devez attendre qu'une activité de mise à l'échelle précédente prenne effet.

   1. Pour le temps de **Scale-in recharge, entrez le délai** en secondes qui s'écoule entre la fin d'une activité de scale-in et le début d'une autre activité de scale-in.

1. Choisissez **Create** pour créer le service.

### AWS CLI
<a name="faster-auto-scaling-create-service-cli"></a>

1. Créez le service avec une configuration de surveillance à l'aide de la [commande create-service.](https://docs.aws.amazon.com/cli/latest/reference/ecs/create-service.html)

   ```
   aws ecs create-service --region {{us-east-1}} \
       --cluster {{my-cluster}} \
       --service-name {{my-service}} \
       --task-definition {{my-app:1}} \
       --desired-count 2 \
       --monitoring "metricConfigurations=[{metricNames=[CPUUtilization,MemoryUtilization],resolutionSeconds=20}]"
   ```

1. Enregistrez le service en tant que cible évolutive à l'aide de la commande [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html).

   ```
   aws application-autoscaling register-scalable-target \
       --service-namespace ecs \
       --resource-id service/{{my-cluster}}/{{my-service}} \
       --scalable-dimension ecs:service:DesiredCount \
       --min-capacity {{1}} \
       --max-capacity {{10}} \
       --region {{us-east-1}}
   ```

1. Créez une politique de dimensionnement du suivi des cibles avec une métrique prédéfinie haute résolution à l'aide de la commande [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html).

   ```
   aws application-autoscaling put-scaling-policy \
       --service-namespace ecs \
       --resource-id service/{{my-cluster}}/{{my-service}} \
       --scalable-dimension ecs:service:DesiredCount \
       --policy-name {{my-highres-cpu-policy}} \
       --policy-type TargetTrackingScaling \
       --target-tracking-scaling-policy-configuration '{
           "TargetValue": {{50.0}},
           "PredefinedMetricSpecification": {
               "PredefinedMetricType": "ECSServiceAverageCPUUtilizationHighResolution"
           }
       }' \
       --region {{us-east-1}}
   ```

1. Vérifiez que la politique a été créée à l'aide de la commande [describe-scaling-policies](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scaling-policies.html).

   ```
   aws application-autoscaling describe-scaling-policies \
       --service-namespace ecs \
       --resource-id service/{{my-cluster}}/{{my-service}} \
       --scalable-dimension ecs:service:DesiredCount \
       --region {{us-east-1}}
   ```

## Mettre à jour un service existant afin d'utiliser des métriques haute résolution pour une mise à l'échelle automatique plus rapide
<a name="faster-auto-scaling-update-service"></a>

La mise à jour d'un service existant afin d'utiliser des métriques haute résolution afin d'accélérer le dimensionnement automatique du service est un processus en deux étapes. Vous devez d'abord mettre à jour la résolution de surveillance, qui déclenche le déploiement d'un service. Une fois le déploiement terminé avec succès et que toutes les tâches émettent des métriques à une résolution de 20 secondes, vous pouvez configurer une politique de dimensionnement haute résolution.

**Important**  
Si votre service utilisait auparavant une résolution métrique de 60 secondes, les métriques haute résolution pour la politique de dimensionnement ne seront disponibles sur la console Amazon ECS qu'une fois que vous aurez mis à jour votre service pour utiliser une résolution métrique de 20 secondes et que le déploiement du service sera terminé.

### Console
<a name="faster-auto-scaling-update-service-console"></a>

**Étape 1 : Mettre à jour la résolution de surveillance**  


1. Sur la page **Clusters**, choisissez le cluster qui contient le service que vous souhaitez mettre à jour.

1. Dans la section **Services**, sélectionnez le service et choisissez **Mettre à jour**.

1. Dans le formulaire Update Service, dans la section **Configuration de la surveillance**, choisissez **Ajouter une configuration métrique**.

1. Dans **Nom de la métrique**, sélectionnez la métrique que vous souhaitez collecter en haute résolution. Sélectionnez `CPUUtilization` ou `MemoryUtilization`.

1. Pour **Résolution (secondes)**, sélectionnez **20**.

1. (Facultatif) Pour ajouter les deux mesures en haute résolution, choisissez à nouveau **Ajouter une configuration de métrique** et répétez les deux étapes précédentes pour l'autre métrique.

1. Choisissez **Mettre à jour** pour soumettre la modification. Cela déclenche le déploiement d'un service.

1. Attendez que le déploiement soit terminé. Vous pouvez suivre la progression sur la page des détails du service dans l'onglet **Déploiements**.
**Note**  
Les options de mesure de mise à l'échelle haute résolution sont grisées dans la section Service Auto Scaling jusqu'à ce que le déploiement réussisse et que toutes les tâches soient émises à une résolution de 20 secondes.

**Étape 2 : Configuration de la politique de dimensionnement haute résolution**  


Une fois le déploiement terminé, configurez la politique de dimensionnement à l'aide de l'une des méthodes suivantes :

Option A : page de détails du service  

1. Sur la page des détails du service, choisissez l'onglet **Service auto scaling**.

1. Choisissez **Créer une politique de dimensionnement** (ou modifiez une politique existante).

1. Pour **Scaling policy type** (Type de politique de mise à l'échelle), choisissez **Target tracking** (Suivi de cible).

1. Pour **Type de métrique**, sélectionnez la métrique haute résolution. Par exemple, `ECSServiceAverageCPUUtilizationHighResolution` ou `ECSServiceAverageMemoryUtilizationHighResolution`.

1. Pour **Valeur cible**, entrez le pourcentage d'utilisation cible.

1. Sous **Paramètres supplémentaires**, configurez les éléments suivants :

   1. Pour la **période de Scale-out recharge**, entrez le temps en secondes pendant lequel vous devez attendre qu'une activité de mise à l'échelle précédente prenne effet.

   1. Pour le temps de **Scale-in recharge, entrez le délai** en secondes qui s'écoule entre la fin d'une activité de scale-in et le début d'une autre activité de scale-in.

1. Choisissez **Créer une stratégie de mise à l’échelle**.

Option B : formulaire de mise à jour du service  

1. Sur la page des détails du service, choisissez **Mettre à jour**.

1. Dans la section **Service auto scaling**, choisissez **Utiliser le dimensionnement automatique du service** (si ce n'est pas déjà activé).

1. Pour **Nombre minimum de tâches**, entrez la limite inférieure.

1. Pour **Nombre maximum de tâches**, entrez la limite supérieure.

1. Pour **Scaling policy type** (Type de politique de mise à l'échelle), choisissez **Target tracking** (Suivi de cible).

1. Pour le **type de métrique**, sélectionnez la métrique haute résolution (désormais activée une fois le déploiement terminé).

1. Pour **Valeur cible**, entrez le pourcentage d'utilisation cible.

1. Sous **Paramètres supplémentaires**, définissez la période de **Scale-out recharge et la période** de **Scale-in recharge.**

1. Choisissez **Mettre à jour** pour soumettre la modification.

### AWS CLI
<a name="faster-auto-scaling-update-service-cli"></a>

**Étape 1 : Mettre à jour la résolution de surveillance**  


1. Mettez à jour le service avec la configuration de surveillance à l'aide de la [commande update-service.](https://docs.aws.amazon.com/cli/latest/reference/ecs/update-service.html)

   ```
   aws ecs update-service --region {{us-east-1}} \
       --cluster {{my-cluster}} \
       --service {{my-service}} \
       --monitoring "metricConfigurations=[{metricNames=[CPUUtilization,MemoryUtilization],resolutionSeconds=20}]"
   ```

1. Attendez que le déploiement soit terminé. Vous pouvez suivre la progression à l'aide de la commande [describe-services](https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-services.html) et en vérifiant l'état du déploiement.

   ```
   aws ecs describe-services --region {{us-east-1}} \
       --cluster {{my-cluster}} \
       --services {{my-service}}
   ```

1. Une fois le déploiement terminé, vérifiez que la configuration de surveillance est active en décrivant la révision du service. Obtenez l'ARN de révision du service actif à partir de la `describe-services` sortie, puis exécutez :

   ```
   aws ecs describe-service-revisions --region {{us-east-1}} \
       --service-revision-arns {{arn:aws:ecs:us-east-1:012345678910:service-revision/my-cluster/my-service/1234567890123456789}}
   ```

   Vérifiez que la configuration de surveillance apparaît dans la réponse :

   ```
   {
       "serviceRevisions": [
           {
               ...
               "monitoring": {
                   "metricConfigurations": [
                       {
                           "metricNames": ["CPUUtilization", "MemoryUtilization"],
                           "resolutionSeconds": 20
                       }
                   ]
               }
           }
       ]
   }
   ```

**Étape 2 : Configuration de la politique de dimensionnement haute résolution**  


1. Enregistrez le service en tant que cible évolutive s'il n'est pas déjà enregistré, à l'aide de la commande [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html).

   ```
   aws application-autoscaling register-scalable-target \
       --service-namespace ecs \
       --resource-id service/{{my-cluster}}/{{my-service}} \
       --scalable-dimension ecs:service:DesiredCount \
       --min-capacity {{1}} \
       --max-capacity {{10}} \
       --region {{us-east-1}}
   ```

1. Créez une politique de dimensionnement du suivi des cibles avec une métrique prédéfinie haute résolution à l'aide de la commande [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html). L'exemple suivant cible une utilisation du processeur à 50 % :

   ```
   aws application-autoscaling put-scaling-policy \
       --service-namespace ecs \
       --resource-id service/{{my-cluster}}/{{my-service}} \
       --scalable-dimension ecs:service:DesiredCount \
       --policy-name {{my-highres-cpu-policy}} \
       --policy-type TargetTrackingScaling \
       --target-tracking-scaling-policy-configuration '{
           "TargetValue": {{50.0}},
           "PredefinedMetricSpecification": {
               "PredefinedMetricType": "ECSServiceAverageCPUUtilizationHighResolution"
           }
       }' \
       --region {{us-east-1}}
   ```

1. Vérifiez que la politique a été créée :

   ```
   aws application-autoscaling describe-scaling-policies \
       --service-namespace ecs \
       --resource-id service/{{my-cluster}}/{{my-service}} \
       --scalable-dimension ecs:service:DesiredCount \
       --region {{us-east-1}}
   ```

## Validez une mise à l'échelle automatique plus rapide des services
<a name="faster-auto-scaling-validate"></a>

**Partie 1 : Vérifier que les métriques haute résolution sont publiées**  


1. Accédez à la CloudWatch console.

1. Dans le volet de navigation, choisissez **Metrics**, puis **All metrics**.

1. Choisissez l’espace de nom **AWS/ECS**.

1. Choisissez **ClusterName, ServiceName**.

1. Localisez les `MemoryUtilization` indicateurs `CPUUtilization` et indicateurs de votre service.

1. Réglez la période sur **20 secondes**. Vous devriez voir les points de données toutes les 20 secondes, pour confirmer que les métriques haute résolution sont actives.

**Partie 2 : Vérifier que la politique de dimensionnement utilise la métrique haute résolution**  


1. Sur la page des détails du service, choisissez l'onglet **Service auto scaling**.

1. Consultez vos politiques de dimensionnement existantes et confirmez que la métrique est définie sur une variante haute résolution (`ECSServiceAverageCPUUtilizationHighResolution`ou`ECSServiceAverageMemoryUtilizationHighResolution`).

1. Vous pouvez également vérifier à l'aide de la CLI :

   ```
   aws application-autoscaling describe-scaling-policies \
       --service-namespace ecs \
       --resource-id service/{{my-cluster}}/{{my-service}} \
       --scalable-dimension ecs:service:DesiredCount \
       --region {{us-east-1}}
   ```

   Vérifiez que le paramètre `PredefinedMetricType` dans la réponse est défini sur une métrique haute résolution.

## Considérations
<a name="faster-auto-scaling-considerations"></a>
+ La surveillance des modifications de configuration crée une nouvelle révision du service et nécessite un déploiement de service. La métrique de mise à l'échelle haute résolution n'est pas disponible tant que le déploiement n'est pas terminé et que toutes les tâches sont émises à une résolution de 20 secondes.
+ High-resolution les métriques sont prises en charge pour les services utilisant des équilibreurs de charge d'application et des équilibreurs de charge réseau. Les services utilisant des équilibreurs de charge classiques sans groupes cibles ne sont pas pris en charge.
+ High-resolution les métriques ne sont pas prises en charge pour les services utilisant le type `CODE_DEPLOY` ou `EXTERNAL` le contrôleur de déploiement.
+ Vous pouvez consulter la configuration de surveillance de votre service à l'aide de`DescribeServiceRevisions`. La configuration de surveillance n'est pas renvoyée dans `CreateService` `UpdateService` les réponses.