

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Escalar automáticamente la simultaneidad aprovisionada para un punto de conexión sin servidor
<a name="serverless-endpoints-autoscale"></a>

 Amazon SageMaker AI escala automáticamente los puntos de conexión sin servidor bajo demanda para ampliarlos o reducirlos. Para los puntos de conexión sin servidor con simultaneidad aprovisionada, puede utilizar Application Auto Scaling para aumentar o reducir la simultaneidad aprovisionada en función de su perfil de tráfico, optimizando así los costes. 

 He aquí los requisitos previos para escalar automáticamente la simultaneidad aprovisionada en los puntos de conexión sin servidor: 
+ [Registrar un modelo](#serverless-endpoints-autoscale-register)
+ [Definir una política de escalado](#serverless-endpoints-autoscale-define)
+ [Aplicar una política de escalado](#serverless-endpoints-autoscale-apply)

 Para poder utilizar el escalado automático, debe haber implementado ya un modelo en un punto de conexión sin servidor con la simultaneidad aprovisionada. Los modelos desplegados se conocen como [variantes de producción](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html). Consulte [Creación de una configuración de punto de conexión](serverless-endpoints-create-config.md) y [Crear un punto de conexión](serverless-endpoints-create-endpoint.md) para obtener más información sobre la implementación de un modelo en un punto de conexión sin servidor con la simultaneidad aprovisionada. Para especificar las métricas y los valores de destino para una política de escalado, deberá configurar una política de escalado. Para obtener más información sobre cómo definir una política de escalado, consulte [Definir una política de escalado](#serverless-endpoints-autoscale-define). Una vez registrado su modelo y definido una política de escalado, aplique la política de escalado al modelo registrado. Para obtener información sobre cómo aplicar la política de escalado, consulte [Aplicar una política de escalado](#serverless-endpoints-autoscale-apply). 

 [Para obtener más información sobre otros requisitos previos y componentes que se utilizan con el escalado automático, consulte la [Requisitos previos de escalado automático](endpoint-auto-scaling-prerequisites.md) sección de la documentación sobre el escalado automático de la SageMaker IA.](endpoint-auto-scaling.md) 

## Registrar un modelo
<a name="serverless-endpoints-autoscale-register"></a>

 Para añadir el escalado automático a un punto final sin servidor con Provisioned Concurrency, primero debe registrar su modelo (variante de producción) mediante la API Application AWS CLI Auto Scaling. 

### Registre un modelo (AWS CLI)
<a name="serverless-endpoints-autoscale-register-cli"></a>

 Para registrar el modelo, utilice el `register-scalable-target` AWS CLI comando con los siguientes parámetros: 
+  `--service-namespace`: establezca este valor en `sagemaker`. 
+  `--resource-id`: el identificador de recursos del modelo (específicamente, la variante de producción). Para este parámetro, el tipo de recurso es `endpoint` y el identificador único es el nombre de la variante de producción. Por ejemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `--scalable-dimension`: establezca este valor en `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `--min-capacity`: el número mínimo de simultaneidad aprovisionada para el modelo. Establezca `--min-capacity` en al menos 1. Debe ser igual o inferior al valor especificado para `--max-capacity`. 
+  `--max-capacity`: el número máximo de simultaneidad aprovisionada que debe habilitarse mediante Application Auto Scaling. Establezca `--max-capacity` en un mínimo de 1. Debe ser mayor o igual que el valor especificado para `--min-capacity`. 

 El siguiente ejemplo muestra cómo registrar un modelo denominado `MyVariant` que se escala dinámicamente para tener un valor de simultaneidad aprovisionada de 1 a 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
```

### Registrar un modelo (API de Application Auto Scaling)
<a name="serverless-endpoints-autoscale-register-api"></a>

 Para registrar su modelo, utilice la acción de la API de Application Auto Scaling `RegisterScalableTarget` con los siguientes parámetros: 
+  `ServiceNamespace`: establezca este valor en `sagemaker`. 
+  `ResourceId`: el identificador de recursos del modelo (específicamente, la variante de producción). Para este parámetro, el tipo de recurso es `endpoint` y el identificador único es el nombre de la variante de producción. Por ejemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `ScalableDimension`: establezca este valor en `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `MinCapacity`: el número mínimo de simultaneidad aprovisionada para el modelo. Establezca `MinCapacity` en al menos 1. Debe ser igual o inferior al valor especificado para `MaxCapacity`. 
+  `MaxCapacity`: el número máximo de simultaneidad aprovisionada que debe habilitarse mediante Application Auto Scaling. Establezca `MaxCapacity` en un mínimo de 1. Debe ser mayor o igual que el valor especificado para `MinCapacity`. 

 El siguiente ejemplo muestra cómo registrar un modelo denominado `MyVariant` que se escala dinámicamente para tener un valor de simultaneidad aprovisionada de 1 a 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
}
```

## Definir una política de escalado
<a name="serverless-endpoints-autoscale-define"></a>

 Para especificar las métricas y los valores de destino para una política de escalado, puede configurar una política de escalado de seguimiento de destino. Defina la política de escalado como un bloque JSON en un archivo de texto. A continuación, puede utilizar ese archivo de texto al invocar la API Application Auto Scaling AWS CLI o la API. Para definir rápidamente una política de escalado de seguimiento de destino para un punto de conexión sin servidor, utilice la métrica predefinida `SageMakerVariantProvisionedConcurrencyUtilization`. 

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

## Aplicar una política de escalado
<a name="serverless-endpoints-autoscale-apply"></a>

 Una vez registrado su modelo, podrá aplicar una política de escalado a su punto de conexión sin servidor con la simultaneidad aprovisionada. Consulte [Aplicar una política de escalado de seguimiento de destino](#serverless-endpoints-autoscale-apply-target) para aplicar una política de escalado de seguimiento de destino que haya definido. Si el flujo de tráfico hacia su punto de conexión sin servidor sigue una rutina predecible, en lugar de aplicar una política de escalado basada en el seguimiento de los objetivos, puede que quiera programar las acciones de escalado en momentos específicos. Para obtener más información sobre las acciones de escalado de programación, consulte [Escalado programado](#serverless-endpoints-autoscale-apply-scheduled). 

### Aplicar una política de escalado de seguimiento de destino
<a name="serverless-endpoints-autoscale-apply-target"></a>

 Puede usar la Consola de administración de AWS API Application Auto Scaling AWS CLI o la API para aplicar una política de escalado de seguimiento de objetivos a su terminal sin servidor con Provisioned Concurrency. 

#### Aplique una política de escalado de seguimiento de objetivos (AWS CLI)
<a name="serverless-endpoints-autoscale-apply-target-cli"></a>

 Para aplicar una política de escalado a su modelo, use el comando `put-scaling-policy` de la AWS CLI con los siguientes parámetros: 
+  `--policy-name`: el nombre de la política de escalado. 
+  `--policy-type`: establezca este valor en `TargetTrackingScaling`. 
+  `--resource-id`: el identificador de recurso para la variante. Para este parámetro, el tipo de recurso es `endpoint` y el identificador único es el nombre de la variante. Por ejemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `--service-namespace`: establezca este valor en `sagemaker`. 
+  `--scalable-dimension`: establezca este valor en `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `--target-tracking-scaling-policy-configuration`: configuración de la política de escalado de seguimiento de destino que se usará para el modelo. 

 El siguiente ejemplo muestra cómo aplicar una política de escalado de seguimiento de destino nombrada `MyScalingPolicy` a un modelo llamado `MyVariant`. La configuración de la política se guarda en un archivo denominado `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
```

#### Aplicar una política de escalado de seguimiento de destino (API de Application Auto Scaling)
<a name="serverless-endpoints-autoscale-apply-target-api"></a>

 Para aplicar una política de escalado a su modelo, use la acción de la API de Application Auto Scaling `PutScalingPolicy` con los siguientes parámetros. 
+  `PolicyName`: el nombre de la política de escalado. 
+  `PolicyType`: establezca este valor en `TargetTrackingScaling`. 
+  `ResourceId`: el identificador de recurso para la variante. Para este parámetro, el tipo de recurso es `endpoint` y el identificador único es el nombre de la variante. Por ejemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `ServiceNamespace`: establezca este valor en `sagemaker`. 
+  `ScalableDimension`: establezca este valor en `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `TargetTrackingScalingPolicyConfiguration`: configuración de la política de escalado de seguimiento de destino que se usará para el modelo. 

 El siguiente ejemplo muestra cómo aplicar una política de escalado de seguimiento de destino nombrada `MyScalingPolicy` a un modelo llamado `MyVariant`. La configuración de la política se guarda en un archivo denominado `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"
        }
    }
}
```

#### Aplique una política de escalado con seguimiento de objetivos (Consola de administración de AWS)
<a name="serverless-endpoints-autoscale-apply-target-console"></a>

 Para aplicar una política de escalado con seguimiento de objetivos con: Consola de administración de AWS

1.  Inicia sesión en la [consola de Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker/). 

1.  En el panel de navegación, elija **Inferencia**. 

1.  Seleccione **punto de conexión** para ver una lista de todos sus puntos de conexión. 

1.  Seleccione el punto de conexión al que quiera aplicar la política de escalado. Aparecerá una página con la configuración del punto de conexión, con los modelos (variante de producción) listados en la **sección de configuración del tiempo de ejecución del punto de conexión**. 

1.  Seleccione la variante de producción a la que quiera aplicar la política de escalado y elija **Configurar el autoescalado**. Aparecerá la página **Configurar escalado automático de variantes**.   
![Captura de pantalla del cuadro de diálogo para configurar el escalado automático de la variante en la consola.](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/serverless-endpoints-variant-autoscaling.png)

1.  Introduzca los valores mínimo y máximo de simultaneidad aprovisionada en los campos **Simultaneidad mínima aprovisionada** y **Simultaneidad máxima aprovisionada**, respectivamente, en la sección **Escalado automático de variantes**. La simultaneidad mínima aprovisionada debe ser menor o igual que la simultaneidad máxima aprovisionada. 

1.  Introduzca el valor objetivo en el campo **Valor objetivo** de la métrica de destino, `SageMakerVariantProvisionedConcurrencyUtilization`. 

1.  (Opcional) Introduzca los valores de recuperación de escalado descendente y recuperación de escalado ascendente (en segundos) en los campos **Recuperación de escalado descendente** y **Recuperación de escalado ascendente** respectivamente. 

1.  (Opcional) Seleccione **Desactivar escalado descendente** si no desea que el escalado automático elimine la instancia cuando disminuye el tráfico. 

1.  Seleccione **Guardar**. 

### Escalado programado
<a name="serverless-endpoints-autoscale-apply-scheduled"></a>

 Si el tráfico hacia su punto de conexión sin servidor con la simultaneidad aprovisionada sigue un patrón rutinario, puede programar acciones de escalado en momentos específicos, para escalar de forma descendente o ascendente la simultaneidad aprovisionada. Puede utilizar la aplicación Auto Scaling AWS CLI o la aplicación Auto Scaling para programar acciones de escalado. 

#### Escalado programado (AWS CLI)
<a name="serverless-endpoints-autoscale-apply-scheduled-cli"></a>

 Para aplicar una política de escalado al modelo, utilice el comando `put-scheduled-action` AWS CLI; con los siguientes parámetros: 
+  `--schedule-action-name`: el nombre de la acción de escalado. 
+  `--schedule`: una expresión cron que especifica las horas de inicio y finalización de la acción de escalado con una programación periódica. 
+  `--resource-id`: el identificador de recurso para la variante. Para este parámetro, el tipo de recurso es `endpoint` y el identificador único es el nombre de la variante. Por ejemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `--service-namespace`: establezca este valor en `sagemaker`. 
+  `--scalable-dimension`: establezca este valor en `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `--scalable-target-action`: el destino de la acción de escalado. 

 El siguiente ejemplo muestra cómo agregar una acción de escalado denominada `MyScalingAction` a un modelo nombrado `MyVariant` en una programación recurrente. En el momento de la programación especificada (todos los días a las 12:15 PM UTC), si la simultaneidad aprovisionada actual es inferior al valor especificado para `MinCapacity`. Application Auto Scaling escala horizontalmente la simultaneidad aprovisionada al valor especificado por `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'
```

#### Escalado programado (API de Application Auto Scaling API)
<a name="serverless-endpoints-autoscale-apply-scheduled-api"></a>

 Para aplicar una política de escalado a su modelo, utilice la acción de la API de Application Auto Scaling `PutScheduledAction` con los siguientes parámetros: 
+  `ScheduleActionName`: el nombre de la acción de escalado. 
+  `Schedule`: una expresión cron que especifica las horas de inicio y finalización de la acción de escalado con una programación periódica. 
+  `ResourceId`: el identificador de recurso para la variante. Para este parámetro, el tipo de recurso es `endpoint` y el identificador único es el nombre de la variante. Por ejemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `ServiceNamespace`: establezca este valor en `sagemaker`. 
+  `ScalableDimension`: establezca este valor en `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `ScalableTargetAction`: el destino de la acción de escalado. 

 El siguiente ejemplo muestra cómo agregar una acción de escalado denominada `MyScalingAction` a un modelo nombrado `MyVariant` en una programación recurrente. En el momento de la programación especificada (todos los días a las 12:15 PM UTC), si la simultaneidad aprovisionada actual es inferior al valor especificado para `MinCapacity`. Application Auto Scaling escala horizontalmente la simultaneidad aprovisionada al valor especificado por `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"
        }
    }
}
```