

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Escalar automaticamente a simultaneidade provisionada para um endpoint de sem servidor
<a name="serverless-endpoints-autoscale"></a>

 O Amazon SageMaker AI aumenta ou reduz automaticamente a escala na horizontal de endpoints sem servidor sob demanda. Para endpoints sem servidor com simultaneidade provisionada, você pode usar o Application Auto Scaling para aumentar ou reduzir a escala horizontalmente da simultaneidade provisionada com base em seu perfil de tráfego, otimizando assim os custos. 

 A seguir estão os pré-requisitos para escalar automaticamente a simultaneidade provisionada em endpoints sem servidor: 
+ [Registrar um modelo](#serverless-endpoints-autoscale-register)
+ [Definir uma política de escalabilidade](#serverless-endpoints-autoscale-define)
+ [Aplicar uma política de escalabilidade](#serverless-endpoints-autoscale-apply)

 Antes de usar o ajuste de escala automático, você já deve ter implantado um modelo em um endpoint sem servidor com simultaneidade provisionada. Os modelos implantados são referidos como [variantes de produção](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html). Consulte [Criar uma configuração de endpoint](serverless-endpoints-create-config.md) e [Crie um endpoint do](serverless-endpoints-create-endpoint.md) para obter mais informações sobre a implantação de um modelo em um endpoint sem servidor com simultaneidade provisionada. Para especificar as métricas e os valores de destino de uma política de escalabilidade, você precisa configurar uma política de rastreamento. Para obter mais informações sobre como definir uma política de escalabilidade, consulte [Definir uma política de escalabilidade](#serverless-endpoints-autoscale-define). Depois de registrar o modelo e definir uma política de escalabilidade, aplique a política de escalabilidade ao modelo registrado. Para obter mais informações sobre como aplicar a política de escalabilidade, consulte [Aplicar uma política de escalabilidade](#serverless-endpoints-autoscale-apply). 

 Para obter detalhes sobre outros pré-requisitos e componentes usados com o ajuste de escala automático, consulte a seção [Pré-requisitos de ajuste de escala automático](endpoint-auto-scaling-prerequisites.md) na documentação de ajuste de escala automático do [SageMaker AI](endpoint-auto-scaling.md). 

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

 Para adicionar ajuste de escala automático a um endpoint sem servidor com simultaneidade provisionada, primeiro você deve registrar seu modelo (variante de produção) usando a AWS CLI ou a API do Application Auto Scaling. 

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

 Para registrar seu modelo, use o comando `register-scalable-target` da AWS CLI com os seguintes parâmetros: 
+  `--service-namespace`: defina este valor como `sagemaker`. 
+  `--resource-id`: o identificador de recurso para o modelo (especificamente, a variante de produção). Para esse parâmetro, o tipo de recurso é `endpoint` e o identificador exclusivo é o nome da variante de produção. Por exemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `--scalable-dimension`: defina este valor como `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `--min-capacity`: O número mínimo de simultaneidade provisionada para o modelo. Defina `--min-capacity` como pelo menos 1. Deve ser igual ou menor que o valor especificado para `--max-capacity`. 
+  `--max-capacity`: o número máximo de simultaneidade provisionada que deve ser ativada por meio da aplicação Auto Scaling. Defina `--max-capacity` para um mínimo de 1. Deve ser maior que ou igual ao valor especificado para `--min-capacity`. 

 O seguinte exemplo mostra como registrar um modelo chamado `MyVariant` que é dinamicamente escalado para ter de um valor simultaneamente provisionado 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
```

### Registro de um modelo (API da aplicação Auto Scaling)
<a name="serverless-endpoints-autoscale-register-api"></a>

 Para registrar seu modelo, use a ação `RegisterScalableTarget` da API da aplicação Auto Scaling com os seguintes parâmetros: 
+  `ServiceNamespace`: defina este valor como `sagemaker`. 
+  `ResourceId`: o identificador de recurso para o modelo (especificamente, a variante de produção). Para esse parâmetro, o tipo de recurso é `endpoint` e o identificador exclusivo é o nome da variante de produção. Por exemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `ScalableDimension`: defina este valor como `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `MinCapacity`: O número mínimo de simultaneidade provisionada para o modelo. Defina `MinCapacity` como pelo menos 1. Deve ser igual ou menor que o valor especificado para `MaxCapacity`. 
+  `MaxCapacity`: o número máximo de simultaneidade provisionada que deve ser ativada por meio da aplicação Auto Scaling. Defina `MaxCapacity` para um mínimo de 1. Deve ser maior que ou igual ao valor especificado para `MinCapacity`. 

 O seguinte exemplo mostra como registrar um modelo chamado `MyVariant` que é dinamicamente escalado para ter de um valor simultaneamente provisionado 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 uma política de escalabilidade
<a name="serverless-endpoints-autoscale-define"></a>

 Para especificar as métricas e os valores de destino de uma política de escalabilidade, você pode configurar uma política de escalabilidade de rastreamento de destino. Defina a política de escalabilidade como um bloco JSON em um arquivo de texto. Você pode, então, usar esse arquivo de texto ao invocar a AWS CLI ou a API da aplicação Auto Scaling. Use a métrica predefinida `SageMakerVariantProvisionedConcurrencyUtilization` para definir rapidamente a política de escalabilidade de rastreamento de destino. 

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

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

 Depois de registrar seu modelo, você pode aplicar uma política de ajuste de escala ao endpoint sem servidor com a simultaneidade provisionada. Consulte [Aplicar uma política de escalabilidade de rastreamento de destino](#serverless-endpoints-autoscale-apply-target) para aplicar uma política de escalabilidade de rastreamento de destino que você definiu. Se o fluxo de tráfego para o endpoint sem servidor tiver uma rotina previsível, em vez de aplicar uma política de ajuste de escala de rastreamento de metas, talvez você queira agendar ações de ajuste de escala em horários específicos. Para obter mais informações sobre ações de escalabilidade programada, consulte [Escalabilidade programada](#serverless-endpoints-autoscale-apply-scheduled). 

### Aplicar uma política de escalabilidade de rastreamento de destino
<a name="serverless-endpoints-autoscale-apply-target"></a>

 Você pode usar o Console de gerenciamento da AWS, a AWS CLI ou a API do Application Auto Scaling para aplicar uma política de ajuste de escala de rastreamento de destino ao endpoint sem servidor com simultaneidade provisionada. 

#### Aplicar uma política de ajuste de escala de rastreamento de destino (AWS CLI)
<a name="serverless-endpoints-autoscale-apply-target-cli"></a>

 Para aplicar uma política de ajuste de escala ao modelo, use o comando `put-scaling-policy` da AWS CLI com os seguintes parâmetros: 
+  `--policy-name`: o nome da política de ajuste de escala. 
+  `--policy-type`: defina este valor como `TargetTrackingScaling`. 
+  `--resource-id`: o identificador do recurso para a variante. Para esse parâmetro, o tipo de recurso é `endpoint` e o identificador exclusivo é o nome da variante. Por exemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `--service-namespace`: defina este valor como `sagemaker`. 
+  `--scalable-dimension`: defina este valor como `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `--target-tracking-scaling-policy-configuration`: a configuração da política de ajuste de escala de rastreamento de destino a ser usada para o modelo. 

 O exemplo a seguir mostra como aplicar a política de escalabilidade de rastreamento de destino chamada `MyScalingPolicy` para um modelo chamado `MyVariant`. A configuração de política é salva em um arquivo chamado `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
```

#### Aplique uma política de ajuste de escala de rastreamento de destino (aplicação Auto Scaling API)
<a name="serverless-endpoints-autoscale-apply-target-api"></a>

 Para aplicar uma política de escalabilidade ao seu modelo, use a ação `PutScalingPolicy` da API do aplicativo Auto Scaling com os seguintes parâmetros: 
+  `PolicyName` – o nome da política de escalabilidade. 
+  `PolicyType`: defina este valor como `TargetTrackingScaling`. 
+  `ResourceId`: o identificador do recurso para a variante. Para esse parâmetro, o tipo de recurso é `endpoint` e o identificador exclusivo é o nome da variante. Por exemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `ServiceNamespace`: defina este valor como `sagemaker`. 
+  `ScalableDimension`: defina este valor como `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `TargetTrackingScalingPolicyConfiguration`: a configuração da política de ajuste de escala de rastreamento de destino a ser usada para o modelo. 

 O exemplo a seguir mostra como aplicar a política de escalabilidade de rastreamento de destino chamada `MyScalingPolicy` para um modelo chamado `MyVariant`. A configuração de política é salva em um arquivo chamado `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"
        }
    }
}
```

#### Aplicar uma política de esc labilidade de rastreamento de destino (Console de gerenciamento da AWS)
<a name="serverless-endpoints-autoscale-apply-target-console"></a>

 Aplicar uma política de escalabilidade de rastreamento de destino com o Console de gerenciamento da AWS: 

1.  Faça login no [console do Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker/). 

1.  No painel de navegação, escolha **Inferência**. 

1.  Escolha **Endpoints** para ver uma lista de todos os seus endpoints. 

1.  Escolha o endpoint ao qual você deseja aplicar a política de escalabilidade. Uma página com as configurações do endpoint será exibida, com os modelos (variante de produção) listados na seção **Configurações de runtime do endpoint**. 

1.  Selecione a variante de produção à qual você deseja aplicar a política de ajuste de escala e escolha **Configurar ajuste de escala automático**. A caixa de diálogo **Configurar ajuste de escala automático da variante** é exibida.   
![\[Captura de tela da caixa de diálogo de configuração do ajuste de escala automático da variante no console.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/serverless-endpoints-variant-autoscaling.png)

1.  Insira os valores mínimo e máximo de simultaneidade provisionada nos campos **Simultaneidade provisionada mínima** e **Simultaneidade máxima provisionada**, respectivamente, na seção **Ajuste automático de escala variável**. A Simultaneidade Mínima Provisionada deve ser menor ou igual à Simultaneidade Provisionada Mínima. 

1.  Insira o valor alvo no campo **Valor alvo** para a métrica alvo, `SageMakerVariantProvisionedConcurrencyUtilization`. 

1.  (Opcional) Insira os valores de escala em resfriamento e redução de resfriamento (em segundos) nos campos **Escalar em resfriamento** e **Escalar em resfriamento**, respectivamente. 

1.  (Opcional) Selecione **Desabilitar a redução** se você não quiser que o ajuste de escala automático exclua a instância quando o tráfego diminuir. 

1.  Selecione **Salvar**. 

### Escalabilidade programada
<a name="serverless-endpoints-autoscale-apply-scheduled"></a>

 Se o tráfego para o endpoint sem servidor com simultaneidade provisionada seguir um padrão de rotina, talvez você queira programar ações de ajuste de escala em horários específicos, para aumentar ou reduzir a escala horizontalmente da simultaneidade provisionada. Você pode usar a AWS CLI ou o Application Auto Scaling para programar ações de ajuste de escala. 

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

 Para aplicar uma política de escalabilidade ao modelo, use o comando `put-scheduled-action` AWS CLI com os seguintes parâmetros: 
+  `--schedule-action-name`: o nome da atividade de ajuste de escala. 
+  `--schedule`: uma expressão cron que especifica os horários de início e término da ação de ajuste de escala com um cronograma recorrente. 
+  `--resource-id`: o identificador do recurso para a variante. Para esse parâmetro, o tipo de recurso é `endpoint` e o identificador exclusivo é o nome da variante. Por exemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `--service-namespace`: defina este valor como `sagemaker`. 
+  `--scalable-dimension`: defina este valor como `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `--scalable-target-action`: o alvo da ação de ajuste de escala. 

 O seguinte exemplo mostra como adicionar uma atividade de ajuste de escala nomeada `MyScalingAction` a um modelo nomeado `MyVariant` em uma programação recorrente: Na programação especificada (todo dia às 12h15 UTC), se a simultaneidade provisionada atual for inferior ao valor especificado para `MinCapacity`. A aplicação Auto Scaling expande a simultaneidade provisionada para o 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'
```

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

 Para aplicar uma política de ajuste de escala ao seu modelo, use a ação `PutScheduledAction` da API do Application Auto Scaling com os seguintes parâmetros: 
+  `ScheduleActionName`: o nome da atividade de ajuste de escala. 
+  `Schedule`: uma expressão cron que especifica os horários de início e término da ação de ajuste de escala com um cronograma recorrente. 
+  `ResourceId`: o identificador do recurso para a variante. Para esse parâmetro, o tipo de recurso é `endpoint` e o identificador exclusivo é o nome da variante. Por exemplo, `endpoint/MyEndpoint/variant/MyVariant`. 
+  `ServiceNamespace`: defina este valor como `sagemaker`. 
+  `ScalableDimension`: defina este valor como `sagemaker:variant:DesiredProvisionedConcurrency`. 
+  `ScalableTargetAction`: o alvo da ação de ajuste de escala. 

 O seguinte exemplo mostra como adicionar uma atividade de ajuste de escala nomeada `MyScalingAction` a um modelo nomeado `MyVariant` em uma programação recorrente: Na programação especificada (todo dia às 12h15 UTC), se a simultaneidade provisionada atual for inferior ao valor especificado para `MinCapacity`. A aplicação Auto Scaling expande a simultaneidade provisionada para o 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"
        }
    }
}
```