Guia de início rápido: configurar o dimensionamento automático para aplicativos no consumo padrão e plano dedicado do Azure Spring Apps
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a:✅ Consumo padrão e dedicado (Pré-visualização) ❎ Básico/Standard ❎ Enterprise
Este artigo descreve como configurar regras de dimensionamento automático para seus aplicativos no plano dedicado e de consumo padrão do Azure Spring Apps. O plano usa um ambiente de Aplicativos de Contêiner do Azure para hospedar seus aplicativos Spring e fornece o seguinte gerenciamento e suporte:
- Gerencia o dimensionamento horizontal automático por meio de um conjunto de regras de dimensionamento declarativo.
- Dá suporte a todas as regras de dimensionamento suportadas pelos Aplicativos de Contêiner do Azure.
Para obter mais informações, consulte a documentação dos Aplicativos de Contêiner do Azure.
Pré-requisitos
- Uma subscrição do Azure. Se você não tiver uma assinatura do Azure, consulte Conta gratuita do Azure antes de começar.
- Um consumo padrão do Azure Spring Apps e uma instância de serviço de plano dedicada.
- Um aplicativo Spring implantado no Azure Spring Apps.
Definição da escala
O dimensionamento é definido pela combinação de limites e regras.
Os limites são o número mínimo e máximo de instâncias que o Spring permite.
Limite de escala Default value Valor mínimo Valor máximo Número mínimo de instâncias por implantação 1 0 30 Número máximo de instâncias por implantação 10 1 30 Por padrão, a contagem mínima de instâncias do seu aplicativo Spring é definida como 1 para garantir que sua implantação esteja sempre em execução. Se quiser dimensionar para zero, você pode definir a contagem mínima de instâncias como zero.
As regras são os critérios que o dimensionamento automático segue para adicionar ou remover instâncias. As regras de escala incluem HTTP, TCP e regras personalizadas, conforme descrito na seção Regras de escala de Definir regras de dimensionamento em Aplicativos de Contêiner do Azure.
Se você definir mais de uma regra de escala, o dimensionamento automático começará quando a primeira condição de qualquer regra for atendida.
O intervalo de sondagem e o período de resfriamento são dois períodos de tempo que ocorrem durante o dimensionamento automático.
- O intervalo de sondagem define o intervalo de tempo entre cada ação de sondagem de dados em tempo real, conforme definido pelas suas regras. O intervalo de sondagem é definido como 30 segundos por padrão.
- O período de resfriamento se aplica somente quando o dimensionamento para zero - por exemplo, para aguardar cinco minutos após a última vez que o dimensionamento automático verificou a fila de mensagens e ela estava vazia.
Configurar configurações de dimensionamento automático
Você pode configurar configurações de dimensionamento automático para seu aplicativo usando o portal do Azure ou a CLI do Azure.
Use as etapas a seguir para definir configurações e regras de dimensionamento automático.
- Inicie sessão no portal do Azure.
- Selecione Azure Spring Apps em Serviços do Azure.
- Na coluna Nome, selecione a instância do Azure Spring Apps que você deseja dimensionar automaticamente.
- Na página de visão geral da sua instância do Azure Spring Apps, selecione Aplicativos no painel de navegação.
- Selecione o aplicativo que você deseja dimensionar automaticamente.
- Na página de visão geral do aplicativo selecionado, selecione Expandir no painel de navegação.
- Na página Dimensionamento (Visualização), selecione a implantação que deseja dimensionar automaticamente.
- Configure os limites de instância de sua implantação.
- Selecione Adicionar para adicionar suas regras de escala.
Regras de dimensionamento personalizadas
Para obter informações sobre como definir regras personalizadas, consulte Escaladores Keda. As seções a seguir mostram dois exemplos de definição de regras de escala no MySQL e no Cron.
Configurar regras de dimensionamento automático no banco de dados MySQL
Os comandos da CLI a seguir mostram como dimensionar automaticamente seu aplicativo Spring com base no Keda MySQL Scaler. Primeiro, crie um segredo para armazenar sua cadeia de conexão SQL. Esse segredo é usado para sua autenticação de regra de escala. Em seguida, configure uma regra que dimensione o aplicativo com base na contagem de linhas de uma tabela.
Nota
A Microsoft recomenda o uso do fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, requer um grau muito alto de confiança no aplicativo e traz riscos não presentes em outros fluxos. Use esse fluxo somente quando opções mais seguras, como identidades gerenciadas para conexões sem senha ou sem chave, não forem viáveis. Para operações de máquina local, prefira identidades de usuário para conexões sem senha ou sem chave.
az spring app update \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name <app-name> \
--secrets mysqlconnectionstring="<username>:<pwd>@tcp(<server name>:3306)/<database name>"
az spring app scale \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name <app-name> \
--scale-rule-type mysql \
--scale-rule-name <your rule name> \
--scale-rule-auth "connectionString=mysqlconnectionstring" \
--scale-rule-metadata queryValue=4 query="SELECT count(*) FROM mytable" \
--min-replicas 0 \
--max-replicas 3
Criar uma regra baseada no Linux cron
Os comandos a seguir mostram como configurar uma regra baseada no Keda Cron Scaler. As réplicas são dimensionadas para o número desejado durante o intervalo de tempo cron.
az spring app scale \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name <app-name> \
--scale-rule-type cron \
--scale-rule-name testscalerule \
--scale-rule-metadata timezone="Asia/Shanghai" \
start="10 * * * *" \
end="15 * * * *" \
desiredReplicas="3" \
--min-replicas 0 \
--max-replicas 3
Dimensionamento de eventos
Você pode encontrar os eventos de dimensionamento dos logs do sistema do seu aplicativo de contêiner subjacente e filtrar o EventSource usando , conforme KEDA
mostrado no exemplo a seguir:
ContainerAppSystemLogs_CL
| where ContainerAppName_s == 'YourAppName' and EventSource_s == 'KEDA'
Clean up resources (Limpar recursos)
Certifique-se de excluir os recursos criados neste artigo quando não precisar mais deles. Para excluir os recursos, basta excluir o grupo de recursos que os contém. Você pode excluir o grupo de recursos usando o portal do Azure. Como alternativa, para excluir o grupo de recursos usando a CLI do Azure, use os seguintes comandos:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."