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
| Header | Obrigatório | Descrição |
|---|---|---|
x-api-key | Sim | API Key do projeto |
x-organization-id | Sim | Organização ativa do projeto |
Content-Type: application/json | Sim | Necessário no PATCH |
Atualizar Auto-scaling
PATCH /project/:id/autoscalingBody
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
enabled | boolean | Sim | true ativa ou atualiza; false desativa |
min_instances | number | Ao ativar | Mínimo reservado de instâncias |
max_instances | number | Ao ativar | Máximo permitido durante picos |
target_cpu_utilization_percent | number | Não | CPU alvo. Padrão: 70 |
target_memory_utilization_percent | number | Não | Memó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/eventsRetorna 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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
direction | string | Não | Filtra por scale_up ou scale_down |
from | ISO date | Não | Início do período |
to | ISO date | Não | Fim do período |
page | number | Não | Página. Padrão: 1 |
limit | number | Não | Itens 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ção | Resultado |
|---|---|
| Projeto não é HTTP | Rejeitado |
| Projeto está parado | Rejeitado |
| Plano não permite auto-scaling | Rejeitado |
| Alterar instâncias manualmente com auto-scaling ativo | Rejeitado com 409 |
Erros Comuns
| Código | Quando acontece |
|---|---|
PROJECT_MUST_BE_RUNNING | O projeto precisa estar em execução para alterar auto-scaling |
AUTOSCALING_UPDATE_IN_PROGRESS | Já existe uma alteração de auto-scaling em andamento para o projeto |
AUTOSCALING_TOGGLE_COOLDOWN_ACTIVE | O auto-scaling foi ativado ou desativado recentemente |
AUTOSCALING_NOT_AVAILABLE_FOR_PLAN | O plano atual não permite auto-scaling |
AUTOSCALING_REQUIRES_SHARED_STORAGE | O projeto precisa de armazenamento compartilhado para usar auto-scaling |
Próximos Passos
- Consulte Instâncias para listar instâncias atuais.
- Consulte Métricas e Logs para validar comportamento durante picos.