Auto-scaling HTTP

Use este endpoint para configurar auto-scaling em aplicações HTTP pagas. O projeto mantém um mínimo de instâncias reservadas e pode aumentar instâncias automaticamente durante picos.

Headers

HeaderObrigatórioDescrição
x-api-keySimAPI Key do projeto
x-organization-idSimOrganização ativa do projeto
Content-Type: application/jsonSimNecessário no PATCH

Atualizar Auto-scaling

PATCH /project/:id/autoscaling

Body

CampoTipoObrigatórioDescrição
enabledbooleanSimtrue ativa ou atualiza; false desativa
min_instancesnumberAo ativarMínimo reservado de instâncias
max_instancesnumberAo ativarMáximo permitido durante picos
target_cpu_utilization_percentnumberNãoCPU alvo. Padrão: 70
target_memory_utilization_percentnumberNãoMemória alvo. Padrão: 80

max_instances deve ser maior ou igual a min_instances.

Ativar ou Atualizar

{
  "enabled": true,
  "min_instances": 2,
  "max_instances": 8,
  "target_cpu_utilization_percent": 70,
  "target_memory_utilization_percent": 80
}

Desativar

{
  "enabled": false
}

Resposta

{
  "status": "success",
  "message": "project autoscaling updated with success",
  "data": {
    "autoscaling": {
      "enabled": true,
      "min_instances": 2,
      "max_instances": 8,
      "target_cpu_utilization_percent": 70,
      "target_memory_utilization_percent": 80
    }
  }
}

Histórico de Eventos

GET /project/:id/autoscaling/events

Retorna o histórico paginado de scale up e scale down registrado pela Zenifra. Use esse endpoint para auditoria, suporte e análise de picos.

Query

CampoTipoObrigatórioDescrição
directionstringNãoFiltra por scale_up ou scale_down
fromISO dateNãoInício do período
toISO dateNãoFim do período
pagenumberNãoPágina. Padrão: 1
limitnumberNãoItens por página. Padrão: 50, máximo: 100

Resposta

{
  "status": "success",
  "message": "get project autoscaling events with success",
  "data": {
    "events": [
      {
        "id": "6a24f7...",
        "direction": "scale_up",
        "previous_instances": 2,
        "new_instances": 5,
        "desired_instances": 5,
        "min_instances": 2,
        "max_instances": 8,
        "trigger_metric": "cpu",
        "current_cpu_utilization_percent": 91,
        "target_cpu_utilization_percent": 70,
        "current_memory_utilization_percent": 62,
        "target_memory_utilization_percent": 80,
        "reason": "increased_capacity",
        "message": "Automatic scaling increased the project instance count.",
        "occurred_at": "2026-06-05T21:40:00.000Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 50,
      "total": 1,
      "total_pages": 1
    }
  }
}

O histórico é mantido por 13 meses.

Cobrança

Em projetos por hora, a cobrança usa as instâncias observadas no período.

Em projetos mensais ou anuais, o mínimo reservado entra no contrato principal. Instâncias acima do mínimo são cobradas como instância-hora elástica pelo preço horário do plano.

Regras

SituaçãoResultado
Projeto não é HTTPRejeitado
Projeto está paradoRejeitado
Plano não permite auto-scalingRejeitado
Alterar instâncias manualmente com auto-scaling ativoRejeitado com 409

Erros Comuns

CódigoQuando acontece
PROJECT_MUST_BE_RUNNINGO projeto precisa estar em execução para alterar auto-scaling
AUTOSCALING_UPDATE_IN_PROGRESSJá existe uma alteração de auto-scaling em andamento para o projeto
AUTOSCALING_TOGGLE_COOLDOWN_ACTIVEO auto-scaling foi ativado ou desativado recentemente
AUTOSCALING_NOT_AVAILABLE_FOR_PLANO plano atual não permite auto-scaling
AUTOSCALING_REQUIRES_SHARED_STORAGEO projeto precisa de armazenamento compartilhado para usar auto-scaling

Próximos Passos