Créez une politique de suivi des cibles à l'aide de métriques haute résolution pour une réponse plus rapide - Amazon EC2 Auto Scaling

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éez une politique de suivi des cibles à l'aide de métriques haute résolution pour une réponse plus rapide

Le suivi des cibles prend en charge CloudWatch les métriques à haute résolution avec des points de données de second niveau publiés à des intervalles inférieurs à une minute. Configurez des politiques de suivi des cibles pour surveiller l'utilisation grâce à des CloudWatch mesures haute résolution pour les applications dont les modèles de demande sont volatils, telles que le service client, les services de diffusion en directAPIs, les sites Web de commerce électronique et le traitement des données à la demande. Pour obtenir une plus grande précision dans l'adaptation de la capacité à la demande, le suivi des cibles utilise cette surveillance fine pour détecter et répondre plus rapidement à l'évolution de la demande et à l'utilisation de vos EC2 instances.

Pour plus d'informations sur la manière de publier vos statistiques en haute résolution, consultez Publier des statistiques personnalisées dans le guide de CloudWatch l'utilisateur Amazon. Pour accéder aux EC2 métriques et les publier, telles que CPU l'utilisation en haute résolution, vous pouvez utiliser CloudWatch un agent.

Le suivi des cibles à l'aide de métriques haute résolution est disponible dans les versions suivantes : Régions AWS

Code région Nom de la région

us-east-1

USA Est (Virginie du Nord)

us-west-2

US West (Oregon)

ap-southeast-1

Asie-Pacifique (Singapour)

eu-west-1

Europe (Irlande)

Comment fonctionne la politique de suivi des cibles avec des métriques à haute résolution

Vous créez des politiques de suivi des cibles en définissant la métrique que vous souhaitez suivre et la valeur cible que vous souhaitez conserver pour la métrique. Pour effectuer une mise à l'échelle sur une métrique haute résolution, spécifiez le nom de la métrique et définissez la période pendant laquelle le suivi cible observe cette métrique à une valeur inférieure à 60 secondes. Actuellement, l'intervalle minimum pris en charge est de 10 secondes. Vous pouvez publier votre métrique à des intervalles plus courts que cela.

Note

Une période métrique supérieure à 60 n'est pas prise en charge.

Vous pouvez configurer le suivi des cibles sur une seule CloudWatch métrique ou interroger plusieurs CloudWatch métriques et utiliser des expressions mathématiques pour créer de nouvelles séries chronologiques uniques basées sur ces métriques. Les deux options vous permettent de définir la période métrique.

Exemples

Exemple 1

L'exemple suivant crée une politique de suivi des cibles basée sur une CloudWatch métrique haute résolution. La métrique est publiée à une résolution de 10 secondes. En définissant la période, vous pouvez activer le suivi des cibles pour surveiller cette métrique avec une granularité de 10 secondes. Remplacez chacun user input placeholder avec vos propres informations.

$ cat ~/config.json { "TargetValue": 100.0, "CustomizedMetricSpecification": { "MetricName": "MyHighResolutionMetric", "Namespace": "MyNamespace", "Dimensions": [ { "Name": "MyOptionalDimensionName", "Value": "MyOptionalMetricDimensionValue" } ], "Statistic": "Average", "Unit": "None" "Period": "10 } }
Exemple 2

Vous pouvez utiliser des expressions mathématiques métriques pour combiner plusieurs mesures en une seule série chronologique à des fins de mise à l'échelle. Les mathématiques métriques sont particulièrement utiles pour convertir les métriques existantes en moyenne par instance. La conversion des métriques est essentielle car le suivi des cibles suppose que la métrique est inversement proportionnelle à la capacité du groupe Auto Scaling. Ainsi, lorsque la capacité augmente, la métrique devrait diminuer presque dans la même proportion.

Supposons, par exemple, que vous disposiez d'une métrique représentant les tâches en attente devant être traitées par votre application. Vous pouvez utiliser le calcul métrique pour diviser les tâches en attente par la capacité de fonctionnement de votre groupe Auto Scaling. Auto Scaling publie la métrique de capacité avec une granularité d'une minute. Il n'y aura donc aucune valeur pour cette métrique pour les intervalles inférieurs à une minute. Si vous souhaitez utiliser une résolution plus élevée pour le dimensionnement, cela peut entraîner une inadéquation entre la période de capacité et la métrique des tâches en attente. Pour éviter cette incompatibilité, nous vous recommandons d'utiliser l'FILLexpression pour remplir les valeurs manquantes avec le nombre de capacité enregistré lors de l'horodatage des minutes précédentes.

L'exemple suivant utilise les mathématiques métriques pour diviser la métrique des tâches en attente par la capacité. Pour la période, nous fixons les deux métriques à 10 secondes. Comme la métrique est publiée à intervalles d'une minute, nous utilisons l'FILLopération sur la métrique de capacité.

Pour utiliser les mathématiques métriques pour modifier plusieurs métriques

{ "CustomizedMetricSpecification": { "Metrics": [ { "Label": "Pending jobs to be processed", "Id": "m1", "MetricStat": { "Metric": { "MetricName": "MyPendingJobsMetric", "Namespace": "Custom", }, "Stat": "Sum" "Period": 10 }, "ReturnData": false }, { "Label": "Get the running instance capacity (matching the period to that of the m1)", "Id": "m2", "MetricStat": { "Metric": { "MetricName": "GroupInService", "Namespace": "AWS/AutoScaling", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" } ] }, "Stat": "Average" "Period": 10 }, "ReturnData": false }, { "Label": "Calculate the pending job per capacity (note the use of the FILL expression)", "Id": "e1", "Expression": "m1 / FILL(m2,REPEAT)", "ReturnData": true } ] }, "TargetValue": 100 }

Considérations

Tenez compte des points suivants lorsque vous utilisez le suivi des cibles et les mesures haute résolution.

  • Pour vous assurer qu'il ne manque aucun point de données susceptible d'entraîner des résultats de mise à l'échelle automatique indésirables, votre CloudWatch métrique doit être publiée à une résolution identique ou supérieure à celle de la période que vous spécifiez.

  • Définissez la valeur cible comme étant la valeur per-instance-per-minute métrique que vous souhaitez conserver pour votre groupe Auto Scaling. Il est essentiel de définir une valeur cible appropriée si vous utilisez une métrique dont la valeur peut être multipliée en fonction de la période de la métrique. Par exemple, toutes les mesures basées sur le nombre, telles que le nombre de demandes ou les tâches en attente qui utilisent les SUM statistiques, auront une valeur de métrique différente en fonction de la période choisie. Vous devez toujours partir du principe que vous définissez un objectif par rapport à la moyenne par minute.

  • Bien que l'utilisation d'Amazon EC2 Auto Scaling soit gratuite, vous devez payer pour les ressources telles que les EC2 instances Amazon, CloudWatch les métriques et les CloudWatch alarmes. Le prix des alarmes haute résolution créées dans l'exemple précédent est différent de celui des CloudWatch alarmes standard. Pour plus d'informations sur CloudWatch les tarifs, consultez Amazon CloudWatch Pricing.

  • Le suivi des cibles nécessite que les métriques représentent l'utilisation moyenne par instance de vos EC2 instances. Pour ce faire, vous pouvez utiliser des opérations mathématiques métriques dans le cadre de la configuration de votre politique de suivi des cibles. Divisez votre métrique par la capacité de fonctionnement de votre groupe Auto Scaling. Assurez-vous que la même période de mesure est définie pour chacune des mesures que vous utilisez pour créer une série chronologique unique. Si ces mesures sont publiées à des intervalles différents, utilisez l'FILLopération sur la métrique avec l'intervalle le plus élevé pour compléter les points de données manquants.