

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 de la simultanéité provisionnée pour un point de terminaison sans serveur
<a name="serverless-endpoints-autoscale"></a>

 Amazon SageMaker AI effectue automatiquement une mise à l’échelle horizontale ou une montée en puissance des points de terminaison sans serveur à la demande. Pour les points de terminaison sans serveur dotés d’une simultanéité provisionnée, vous pouvez utiliser Application Auto Scaling pour augmenter ou réduire la simultanéité provisionnée en fonction de votre profil de trafic, optimisant ainsi les coûts. 

 Les conditions préalables requises pour automatiquement mettre à l’échelle la simultanéité provisionnée sur les points de terminaison sans serveur sont les suivantes : 
+ [Enregistrement d’un modèle](#serverless-endpoints-autoscale-register)
+ [Définition d’une stratégie de mise à l’échelle](#serverless-endpoints-autoscale-define)
+ [Application d’une stratégie de mise à l’échelle](#serverless-endpoints-autoscale-apply)

 Avant de pouvoir utiliser la mise à l’échelle automatique, vous devez avoir déjà déployé un modèle vers un point de terminaison sans serveur avec la simultanéité provisionnée. Les modèles déployés sont appelés [variante de production](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html). Consultez [Créer une configuration de point de terminaison](serverless-endpoints-create-config.md) et [Créer un point de terminaison](serverless-endpoints-create-endpoint.md) pour plus d’informations sur le déploiement d’un modèle sur un point de terminaison sans serveur avec la simultanéité provisionnée. Pour spécifier les métriques et les valeurs cibles d’une stratégie de mise à l’échelle, vous devez configurer une stratégie de mise à l’échelle. Pour plus d’informations sur comment définir une stratégie de mise à l’échelle, consultez [Définition d’une stratégie de mise à l’échelle](#serverless-endpoints-autoscale-define). Après avoir enregistré votre modèle et défini une stratégie de mise à l’échelle, appliquez cette stratégie au modèle enregistré. Pour en savoir plus sur comment appliquer la stratégie de mise à l’échelle, consultez [Application d’une stratégie de mise à l’échelle](#serverless-endpoints-autoscale-apply). 

 Pour plus d’informations sur les autres conditions préalables et les composants utilisés avec l’autoscalling, consultez la section [Conditions préalables à l’autoscaling](endpoint-auto-scaling-prerequisites.md) dans la [documentation sur l’autoscaling SageMaker AI](endpoint-auto-scaling.md). 

## Enregistrement d’un modèle
<a name="serverless-endpoints-autoscale-register"></a>

 Pour ajouter la mise à l’échelle automatique à un point de terminaison sans serveur avec la simultanéité provisionnée, vous devez d’abord enregistrer votre modèle (variante de production) à l’aide d’AWS CLI ou de l’API Application Auto Scaling. 

### Enregistrement d’un modèle (AWS CLI)
<a name="serverless-endpoints-autoscale-register-cli"></a>

 Pour enregistrer votre modèle, utilisez la commande `register-scalable-target` d’AWS CLI avec les paramètres suivants : 
+  `--service-namespace` : définissez cette valeur sur `sagemaker`. 
+  `--resource-id` : l’identifiant de la ressource pour le modèle (plus précisément, la variante de production). Pour ce paramètre, le type de ressource est `endpoint` et l’identifiant unique est le nom de la variante de production. Par exemple `endpoint/MyEndpoint/variant/MyVariant`. 
+  `--scalable-dimension` : définissez cette valeur sur `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `--min-capacity` : le nombre minimum de simultanéité provisionnée pour le modèle. Définissez `--min-capacity` sur au moins 1. La valeur doit être inférieure ou égale à celle spécifiée pour `--max-capacity`. 
+  `--max-capacity` : le nombre maximum de simultanéité provisionnée qui doit être activée via Application Auto Scaling. Définissez `--max-capacity` sur 1 au minimum. Cette valeur doit être supérieure ou égale à la valeur spécifiée pour `--min-capacity`. 

 L’exemple suivant montre comment enregistrer un modèle nommé `MyVariant` qui est mis à l’échelle de façon dynamique pour avoir une valeur de simultanéité provisionnée de 1 à 10 : 

```
aws application-autoscaling register-scalable-target \
    --service-namespace sagemaker \
    --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \
    --resource-id endpoint/MyEndpoint/variant/MyVariant \
    --min-capacity 1 \
    --max-capacity 10
```

### Enregistrement d’un modèle (API Application Auto Scaling)
<a name="serverless-endpoints-autoscale-register-api"></a>

 Pour enregistrer votre modèle, utilisez l’action d’API Application Auto Scaling `RegisterScalableTarget` avec les paramètres suivants : 
+  `ServiceNamespace` : définissez cette valeur sur `sagemaker`. 
+  `ResourceId` : l’identifiant de la ressource pour le modèle (plus précisément, la variante de production). Pour ce paramètre, le type de ressource est `endpoint` et l’identifiant unique est le nom de la variante de production. Par exemple `endpoint/MyEndpoint/variant/MyVariant`. 
+  `ScalableDimension` : définissez cette valeur sur `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `MinCapacity` : le nombre minimum de simultanéité provisionnée pour le modèle. Définissez `MinCapacity` sur au moins 1. La valeur doit être inférieure ou égale à celle spécifiée pour `MaxCapacity`. 
+  `MaxCapacity` : le nombre maximum de simultanéité provisionnée qui doit être activée via Application Auto Scaling. Définissez `MaxCapacity` sur 1 au minimum. Cette valeur doit être supérieure ou égale à la valeur spécifiée pour `MinCapacity`. 

 L’exemple suivant montre comment enregistrer un modèle nommé `MyVariant` qui est mis à l’échelle de façon dynamique pour avoir une valeur de simultanéité provisionnée de 1 à 10 : 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS

{
    "ServiceNamespace": "sagemaker",
    "ResourceId": "endpoint/MyEndPoint/variant/MyVariant",
    "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency",
    "MinCapacity": 1,
    "MaxCapacity": 10
}
```

## Définition d’une stratégie de mise à l’échelle
<a name="serverless-endpoints-autoscale-define"></a>

 Pour spécifier les métriques et les valeurs cibles d’une stratégie de mise à l’échelle automatique, vous configurez une stratégie de mise à l’échelle automatique avec suivi de cible. Définissez la stratégie de mise à l’échelle sous forme de bloc JSON dans un fichier texte. Vous pouvez ensuite utiliser ce fichier texte pour appeler l’AWS CLI ou l’API Application Auto Scaling. Pour définir rapidement la stratégie de mise à l’échelle avec suivi de cible pour un point de terminaison sans serveur, utilisez la métrique `SageMakerVariantProvisionedConcurrencyUtilization` prédéfinie. 

```
{
    "TargetValue": 0.5,
    "PredefinedMetricSpecification": 
    {
        "PredefinedMetricType": "SageMakerVariantProvisionedConcurrencyUtilization"
    },
    "ScaleOutCooldown": 1,
    "ScaleInCooldown": 1
}
```

## Application d’une stratégie de mise à l’échelle
<a name="serverless-endpoints-autoscale-apply"></a>

 Après avoir enregistré votre modèle, vous pouvez appliquer une stratégie de mise à l’échelle à votre point de terminaison sans serveur avec la simultanéité provisionnée. Consultez [Application d’une stratégie de mise à l’échelle avec suivi de cible](#serverless-endpoints-autoscale-apply-target) pour appliquer une stratégie de mise à l’échelle avec suivi de cible que vous avez définie. Si le flux de trafic vers votre point de terminaison sans serveur suit une routine prévisible, au lieu d’appliquer une stratégie de mise à l’échelle avec suivi de cible, vous souhaiterez peut-être planifier des actions de mise à l’échelle à des moments précis. Pour plus d’informations sur la planification d’actions de mise à l’échelle, consultez [Mise à l’échelle planifiée](#serverless-endpoints-autoscale-apply-scheduled). 

### Application d’une stratégie de mise à l’échelle avec suivi de cible
<a name="serverless-endpoints-autoscale-apply-target"></a>

 Vous pouvez utiliser la AWS Management Console, l’AWS CLI ou l’API Application Auto Scaling pour appliquer une stratégie de mise à l’échelle avec suivi de cible à votre point de terminaison sans serveur avec la simultanéité provisionnée. 

#### Application d’une stratégie de mise à l’échelle avec suivi de cible (AWS CLI)
<a name="serverless-endpoints-autoscale-apply-target-cli"></a>

 Pour appliquer une stratégie de mise à l’échelle à votre modèle, utilisez la commande `put-scaling-policy` de l’AWS CLI avec les paramètres suivants : 
+  `--policy-name` : nom de la stratégie de mise à l’échelle. 
+  `--policy-type` : définissez cette valeur sur `TargetTrackingScaling`. 
+  `--resource-id` : identifiant de la ressource pour la variante. Pour ce paramètre, le type de ressource est `endpoint` et l’identifiant unique est le nom de la variante. Par exemple `endpoint/MyEndpoint/variant/MyVariant`. 
+  `--service-namespace` : définissez cette valeur sur `sagemaker`. 
+  `--scalable-dimension` : définissez cette valeur sur `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `--target-tracking-scaling-policy-configuration` : la configuration de la stratégie de mise à l’échelle du suivi des cibles à utiliser pour le modèle. 

 L’exemple suivant montre comment appliquer une stratégie de mise à l’échelle avec suivi de cible nommée `MyScalingPolicy` à une variante nommée `MyVariant`. La configuration de stratégie est enregistrée dans un fichier nommé `scaling-policy.json`. 

```
aws application-autoscaling put-scaling-policy \
    --policy-name MyScalingPolicy \
    --policy-type TargetTrackingScaling \
    --service-namespace sagemaker \
    --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \
    --resource-id endpoint/MyEndpoint/variant/MyVariant \
    --target-tracking-scaling-policy-configuration file://[file-localtion]/scaling-policy.json
```

#### Application d’une stratégie de mise à l’échelle avec suivi de cible (API Application Auto Scaling)
<a name="serverless-endpoints-autoscale-apply-target-api"></a>

 Pour appliquer une stratégie de mise à l’échelle à votre modèle, utilisez l’action `PutScalingPolicy` de l’API Application Auto Scaling avec les paramètres suivants : 
+  `PolicyName` : nom de la stratégie de mise à l’échelle. 
+  `PolicyType` : définissez cette valeur sur `TargetTrackingScaling`. 
+  `ResourceId` : identifiant de la ressource pour la variante. Pour ce paramètre, le type de ressource est `endpoint` et l’identifiant unique est le nom de la variante. Par exemple `endpoint/MyEndpoint/variant/MyVariant`. 
+  `ServiceNamespace` : définissez cette valeur sur `sagemaker`. 
+  `ScalableDimension` : définissez cette valeur sur `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `TargetTrackingScalingPolicyConfiguration` : la configuration de la stratégie de mise à l’échelle du suivi des cibles à utiliser pour le modèle. 

 L’exemple suivant montre comment appliquer une stratégie de mise à l’échelle avec suivi de cible nommée `MyScalingPolicy` à une variante nommée `MyVariant`. La configuration de stratégie est enregistrée dans un fichier nommé `scaling-policy.json`. 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS

{
    "PolicyName": "MyScalingPolicy",
    "ServiceNamespace": "sagemaker",
    "ResourceId": "endpoint/MyEndpoint/variant/MyVariant",
    "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency",
    "PolicyType": "TargetTrackingScaling",
    "TargetTrackingScalingPolicyConfiguration": 
    {
        "TargetValue": 0.5,
        "PredefinedMetricSpecification": 
        {
            "PredefinedMetricType": "SageMakerVariantProvisionedConcurrencyUtilization"
        }
    }
}
```

#### Application d’une stratégie de mise à l’échelle avec suivi de cible (AWS Management Console)
<a name="serverless-endpoints-autoscale-apply-target-console"></a>

 Pour appliquer une stratégie de mise à l’échelle avec suivi de cible avec la AWS Management Console : 

1.  Connectez-vous à la [console Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker/). 

1.  Sous le volet de navigation, sélectionnez **Inference** (Inférence). 

1.  Choisissez **Points de terminaison** pour afficher la liste de tous vos points de terminaison. 

1.  Choisissez le point de terminaison auquel vous souhaitez appliquer la stratégie de mise à l’échelle. Une page contenant les paramètres du point de terminaison apparaîtra, avec les modèles (variante de production) répertoriés dans la section **Paramètres d’exécution de point de terminaison**. 

1.  Sélectionnez la variante de production à laquelle vous souhaitez appliquer la stratégie de mise à l’échelle, puis choisissez **Configurer Auto Scaling**. La boîte de dialogue **Configurer la scalabilité automatique d’une variante** s’affiche.   
![Capture d’écran de la boîte de dialogue de configuration de la mise à l’échelle automatique d’une variante dans la console.](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/serverless-endpoints-variant-autoscaling.png)

1.  Entrez les valeurs de simultanéité provisionnée minimale et maximale dans les champs **Simultanéité provisionnée minimale** et **Simultanéité provisionnée maximale** dans la section **Scalabilité automatique d’une variante**. La simultanéité provisionnée minimale doit être inférieure ou égale à la simultanéité provisionnée maximale. 

1.  Entrez la valeur cible dans le champ **Valeur cible** pour la métrique cible, `SageMakerVariantProvisionedConcurrencyUtilization`. 

1.  (Facultatif) Entrez les valeurs de stabilisation de la diminution en charge et de la montée en charge (en secondes) dans les champs **Stabilisation de la diminution en charge** et **Stabilisation de la montée en charge** respectivement. 

1.  (Facultatif) Sélectionnez **Désactiver la diminution en charge** si vous ne souhaitez pas que l’autoscaling supprime l’instance lorsque le trafic diminue. 

1.  Sélectionnez **Save**. 

### Mise à l’échelle planifiée
<a name="serverless-endpoints-autoscale-apply-scheduled"></a>

 Si le trafic vers votre point de terminaison sans serveur avec la simultanéité provisionnée suit un schéma de routine, vous souhaiterez peut-être planifier des actions de mise à l’échelle à des moments précis, afin de réduire horizontalement ou d’augmenter horizontalement la simultanéité provisionnée. Vous pouvez utiliser l’AWS CLI ou l’API Application Auto Scaling pour planifier des actions de mise à l’échelle. 

#### Mise à l’échelle planifiée (AWS CLI)
<a name="serverless-endpoints-autoscale-apply-scheduled-cli"></a>

 Pour appliquer une stratégie de mise à l’échelle à votre modèle, utilisez la commande `put-scheduled-action` de l’AWS CLI avec les paramètres suivants : 
+  `--schedule-action-name` : nom de l’action de mise à l’échelle. 
+  `--schedule` : expression cron qui spécifie les heures de début et de fin de l’action de mise à l’échelle selon un calendrier récurrent. 
+  `--resource-id` : identifiant de la ressource pour la variante. Pour ce paramètre, le type de ressource est `endpoint` et l’identifiant unique est le nom de la variante. Par exemple `endpoint/MyEndpoint/variant/MyVariant`. 
+  `--service-namespace` : définissez cette valeur sur `sagemaker`. 
+  `--scalable-dimension` : définissez cette valeur sur `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `--scalable-target-action` : cible de l’action de mise à l’échelle. 

 L’exemple suivant montre comment ajouter une action de mise à l’échelle nommée `MyScalingAction` vers un modèle nommé `MyVariant` selon un calendrier récurrent. Selon le calendrier spécifié (tous les jours à 12 h 15 UTC), si la simultanéité provisionnée actuelle est inférieure à la valeur spécifiée pour `MinCapacity`. Application Auto Scaling faire monter en puissance la simultanéité provisionnée à la valeur spécifiée par `MinCapacity`. 

```
aws application-autoscaling put-scheduled-action \
    --scheduled-action-name 'MyScalingAction' \
    --schedule 'cron(15 12 * * ? *)' \
    --service-namespace sagemaker \
    --resource-id endpoint/MyEndpoint/variant/MyVariant \
    --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \
    --scalable-target-action 'MinCapacity=10'
```

#### Mise à l’échelle planifiée (API Application Auto Scaling)
<a name="serverless-endpoints-autoscale-apply-scheduled-api"></a>

 Pour appliquer une stratégie de mise à l’échelle à votre modèle, utilisez l’action `PutScheduledAction` de l’API Application Auto Scaling avec les paramètres suivants : 
+  `ScheduleActionName` : nom de l’action de mise à l’échelle. 
+  `Schedule` : expression cron qui spécifie les heures de début et de fin de l’action de mise à l’échelle selon un calendrier récurrent. 
+  `ResourceId` : identifiant de la ressource pour la variante. Pour ce paramètre, le type de ressource est `endpoint` et l’identifiant unique est le nom de la variante. Par exemple `endpoint/MyEndpoint/variant/MyVariant`. 
+  `ServiceNamespace` : définissez cette valeur sur `sagemaker`. 
+  `ScalableDimension` : définissez cette valeur sur `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `ScalableTargetAction` : cible de l’action de mise à l’échelle. 

 L’exemple suivant montre comment ajouter une action de mise à l’échelle nommée `MyScalingAction` vers un modèle nommé `MyVariant` selon un calendrier récurrent. Selon le calendrier spécifié (tous les jours à 12 h 15 UTC), si la simultanéité provisionnée actuelle est inférieure à la valeur spécifiée pour `MinCapacity`. Application Auto Scaling faire monter en puissance la simultanéité provisionnée à la valeur spécifiée par `MinCapacity`. 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
X-Amz-Target: AnyScaleFrontendService.PutScheduledAction
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS

{
    "ScheduledActionName": "MyScalingAction",
    "Schedule": "cron(15 12 * * ? *)",
    "ServiceNamespace": "sagemaker",
    "ResourceId": "endpoint/MyEndpoint/variant/MyVariant",
    "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency",
    "ScalableTargetAction": "MinCapacity=10"
        }
    }
}
```