Interrogation de l'historique de scalabilité automatique des points de terminaison - Amazon SageMaker

Interrogation de l'historique de scalabilité automatique des points de terminaison

Vous pouvez afficher le statut des activités de mise à l'échelle à partir de votre point de terminaison à l'aide de DescribeScalingActivities.DescribeScalingActivities fournit des détails sur les activités de mise à l'échelle dans l'espace de noms spécifié des six semaines précédentes.

Procédure d'interrogation des actions de scalabilité automatique des points de terminaison

Interrogez vos points de terminaison à scalabilité automatique avec DescribeScalingActivities. Pour ce faire, spécifiez le paramètre ServiceNameSpace.ServiceNameSpace est le nom du service AWS qui fournit la ressource.

Les valeurs de nom de service valides sont notamment les suivantes :

ecs | elasticmapreduce | ec2 | appstream | dynamodb | rds | sagemaker | custom-resource | comprehend | lambda | cassandra

Dans ce cas, vous devez définir ServiceNameSpace sur sagemaker.

Utilisez la commande suivante AWS CLI pour afficher des détails de tous vos points de terminaison sagemaker ayant une stratégie de mise à l'échelle :

aws application-autoscaling describe-scaling-activities \ --service-namespace sagemaker

Vous pouvez rechercher un point de terminaison spécifique à l’aide de ResourceId :

aws application-autoscaling describe-scaling-activities \ --service-namespace sagemaker \ --resource-id endpoint/<endpoint_name>/variant/<variant_name>

Lorsque vous exécutez cette commande, elle renvoie le résultat suivant :

{ "ActivityId": "activity-id", "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/<endpoint_name>/variant/<variant_name>", "ScalableDimension": "sagemaker:variant:DesiredInstanceCount", "Description": "string", "Cause": "string", "StartTime": timestamp, "EndTime": timestamp, "StatusCode": "string", "StatusMessage": "string" }

Comment identifier le blocage de la scalabilité automatique dû à des quotas d'instances

Lorsque vous montez en puissance ou ajoutez d'autres instances, vous pouvez atteindre votre quota d'instances au niveau du compte. Vous pouvez utiliser DescribeScalingActivities pour vérifier si votre quota d'instances est atteint. Si vous dépassez votre quota, la scalabilité automatique est bloquée.

Pour vérifier si vous avez atteint votre quota d'instances, utilisez la commande AWS CLI, comme illustré dans l'exemple suivant où vous avez spécifié ResourceId :

aws application-autoscaling describe-scaling-activities \ --service-namespace sagemaker \ --resource-id endpoint/<endpoint_name>/variant/<variant_name>

Dans la syntaxe de retour, cochez les cases StatusCode et StatusMessage, ainsi que leurs valeurs associées.StatusCoderenvoie Failed. StatusMessage contient un message indiquant que le quota de service au niveau du compte a été atteint. Ce message devrait ressembler à l'exemple suivant :

{ "ActivityId": "activity-id", "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/<endpoint_name>/variant/<variant_name>", "ScalableDimension": "sagemaker:variant:DesiredInstanceCount", "Description": "string", "Cause": "minimum capacity was set to 110", "StartTime": timestamp, "EndTime": timestamp, "StatusCode": "Failed", "StatusMessage": "Failed to set desired instance count to 110. Reason: The account-level service limit 'ml.xx.xxxxxx for endpoint usage' is 1000 Instances, with current utilization of 997 Instances and a request delta of 20 Instances. Please contact AWS support to request an increase for this limit. (Service: AmazonSageMaker; Status Code: 400; Error Code: ResourceLimitExceeded; Request ID: request-id)." }