Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Além do interpretador de código interno que as sessões dinâmicas dos Aplicativos de Contêiner do Azure fornecem, você também pode usar contêineres personalizados para definir suas próprias áreas restritas de sessão.
Observação
Este artigo se aplica somente a pools de sessão de contêiner personalizados. A menos que indicado de outra forma, os recursos descritos aqui não estão disponíveis para pools de sessão de interpretador de código.
Usos para sessões de contêiner personalizadas
Os contêineres personalizados permitem que você crie soluções adaptadas às suas necessidades. Elas permitem que você execute códigos ou aplicativos em ambientes rápidos e efêmeros. Eles oferecem espaços computacionais seguros e isolados com o Hyper-V. Além disso, eles podem ser configurados com isolamento de rede opcional. Alguns exemplos incluem:
Interpretadores de código: use se você executar código não confiável em sandboxes seguras por uma linguagem não suportada no interpretador interno, ou caso você precise de controle total sobre o ambiente do interpretador de código.
Execução isolada: ao executar aplicativos em cenários hostis e multilocatários em que cada locatário ou usuário tenha seu próprio ambiente sandbox. Esses ambientes são isolados uns dos outros e do aplicativo host. Alguns exemplos incluem aplicativos que executam código fornecido pelo usuário, código que concede ao usuário final acesso a um shell baseado em nuvem, agentes de IA e ambientes de desenvolvimento.
Usando sessões de contêiner personalizadas
Para usar sessões de contêiner personalizadas, crie um pool de sessão com uma imagem de contêiner personalizada. Os Aplicativos de Contêiner do Azure iniciam contêineres automaticamente em suas próprias áreas restritas do Hyper-V usando a imagem fornecida. Depois que o contêiner for iniciado, ele estará disponível para o pool de sessões.
Quando o aplicativo solicita uma sessão, uma instância é alocada instantaneamente do pool. A sessão permanece ativa até entrar em um estado ocioso, que é interrompido e destruído automaticamente.
Sondas de contêiner para pools de sessões
Use sondas de contêiner para configurar verificações de integridade para pools de sessões de contêiner personalizados e manter instâncias de sessão íntegras.
Observação
Sondas de contêineres exigem a versão da API 2025-02-02-preview ou mais recente.
As sondas de contêiner permitem definir verificações de integridade para contêineres de sessão, semelhantes às sondas de integridade nos Aplicativos de Contêiner do Azure. Quando configurado, o pool de sessões monitora cada instância de sessão e remove instâncias com problemas.
O pool de sessões:
- Garante que as instâncias de sessão prontas estejam íntegras com base nas sondas.
- Remove automaticamente instâncias de sessão degradadas.
- Escala para manter a contagem de
readySessionInstancesconfigurada sessões íntegras.
Os pools de sessões aceitam os tipos de sonda Atividade e Inicialização. Para obter mais informações sobre como as sondas funcionam, consulte Sondas de integridade no Azure Container Apps.
Configuração
Ao criar ou atualizar um pool de sessões, especifique as sondas na seção properties.customContainerTemplate.containers da carga útil da sua solicitação.
Para obter a especificação completa da API, consulte a API SessionPools.
Exemplo
{
"properties": {
"customContainerTemplate": {
"containers": [
{
"name": "my-session-container",
"image": "myregistry.azurecr.io/my-session-image:latest",
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080
},
"periodSeconds": 10,
"failureThreshold": 3
},
{
"type": "Startup",
"httpGet": {
"path": "/ready",
"port": 8080
},
"periodSeconds": 5,
"failureThreshold": 30
}
]
}
]
},
"dynamicPoolConfiguration": {
"readySessionInstances": 5
}
}
}
Solução de problemas
Se o pool de sessões não estiver mantendo o número esperado de sessões saudáveis readySessionInstances, considere as seguintes correções:
- Verifique os logs de contêiner. Revise os logs dos contêineres de sessão para identificar problemas com pontos de verificação ou inicialização dos contêineres. Consulte Exibir logs para pools de sessões de contêineres personalizados.
- Verifique a configuração da sonda. Verifique se os caminhos, portas e limites da sonda estão configurados corretamente para seu aplicativo.
- Examine a integridade do contêiner. Verifique se há problemas dentro do contêiner que impedem que os endereços de sondagem respondam com êxito.
Parar uma sessão
Use a API Parar Sessão para encerrar uma sessão em um pool de sessão de contêiner personalizado.
Os pools de sessões dão suporte ao gerenciamento automático de sessão por meio de lifecycleConfiguration, que manipula o ciclo de vida da sessão com base em sua configuração. No entanto, há cenários em que você pode precisar de mais controle.
Depois de alocar uma sessão, você pode chamar essa API para encerrá-la manualmente a qualquer momento. Essa abordagem é útil quando:
- É necessário liberar recursos antes que uma sessão atinja seu tempo de vida útil.
- O pool de sessões atinge o limite máximo de sessões simultâneas e você precisa liberar a capacidade para novas sessões.
- Uma sessão conclui seu trabalho e você deseja liberar recursos imediatamente.
Referência de API
Solicitação
POST {PoolManagementEndpoint}/.management/stopSession?api-version=2025-10-02-preview&identifier={SessionIdentifier}
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
api-version |
cadeia | Sim | A versão da API a ser usada (por exemplo, 2025-10-02-preview). |
identifier |
cadeia | Sim | O identificador exclusivo da sessão a ser interrompida. |
Exemplos
Solicitação
POST https://{PoolManagementEndpoint}/.management/stopSession?api-version=2025-10-02-preview&identifier=testSessionIdentifier
Resposta
HTTP/1.1 200 OK
Content-Type: text/plain
Session testSessionIdentifier in session pool testSessionPool stopped.
Registro
Os pools de sessão de contêiner personalizados se integram ao Azure Monitor e ao Log Analytics. Os registros de aplicativo são capturados somente se o seu contêiner gravar a saída em stdout ou stderr. Portanto, verifique se o aplicativo emite logs para o console.
Pré-requisitos
- Um ambiente do Aplicativos de Contêiner do Azure com um pool de sessões de contêineres personalizado.
- Um workspace do Log Analytics ou crie um durante a instalação
Configurar o registro em log
Habilitar o registro em log do Azure Monitor
- No portal do Azure, navegue até seu Ambiente de Aplicativos de Contêiner.
- Em Monitoramento, selecione Opções de Registro em Log.
- Defina destino de logs para Azure Monitor.
Definir as configurações de diagnóstico
- Em seu Ambiente de Aplicativos de Contêiner, em Monitoramento, selecione Configurações de diagnóstico.
- Selecione + Adicionar configuração de diagnóstico.
- Forneça um nome para a configuração de diagnóstico.
- Em Logs, selecione as categorias de log relacionadas à sessão que você deseja capturar.
- Em Detalhes do destino, selecione Enviar para o workspace do Log Analytics.
- Escolha seu workspace do Log Analytics ou crie um novo.
- Clique em Salvar.
Tabelas do Log Analytics
| Categoria do log | Tabela do Log Analytics | Descrição |
|---|---|---|
| Logs de aplicação | AppEnvSessionConsoleLogs |
Saída padrão (stdout) e erro padrão (stderr) emitidos pelo aplicativo containerizado. |
| Logs de plataforma |
AppEnvSessionLifecycleLogs, AppEnvSessionPoolEvents |
Eventos gerados pela plataforma relacionados à alocação, ciclo de vida e estado operacional do pool de sessões. |
Se os logs forem enviados diretamente para o Log Analytics, as tabelas usarão o sufixo _CL, por exemplo, AppEnvSessionConsoleLogs_CL. Quando os logs são roteados através das configurações de diagnóstico do Azure Monitor, os nomes de tabela não incluem o sufixo _CL.
Exibir logs de sessão
Depois que as configurações de diagnóstico são configuradas, os logs são enviados para o workspace do Log Analytics.
Logs de consulta no Log Analytics
- No portal do Azure, navegue até o espaço de trabalho do Log Analytics.
- No menu à esquerda, selecione Logs.
- Se a consulta estiver no modo Simples, selecione o modo KQL.
- Use Kusto Query Language (KQL) para consultar logs de sessão.
Consultas de exemplo
Exibir logs recentes do console de sessões:
AppEnvSessionConsoleLogs
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
| take 100
Exibir eventos de ciclo de vida da sessão:
AppEnvSessionLifecycleLogs
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
Exibir eventos do pool de sessões:
AppEnvSessionPoolEvents
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
Métricas
Os Aplicativos de Contêiner do Azure emitem métricas do Azure Monitor para pools de sessões de contêineres personalizados. Use essas métricas para acompanhar a capacidade e a atividade do pool ao longo do tempo.
Métricas com suporte
Para obter a lista completa, consulte métricas com suporte – Microsoft.App/sessionpools – Azure Monitor.
| Métrica | Nome na API REST | Unidade | Agregação | Dimensões | Intervalos de Tempo | Exportação de DS |
|---|---|---|---|---|---|---|
|
Executando a contagem de sessões Número de pods de sessão em execução no pool de sessões. |
PoolExecutingPodCount |
Count | Total (Soma), Média, Máximo, Mínimo | poolName |
PT1M | Sim |
|
Criando contagem de sessões Número de pods de sessão em criação no pool de sessões. |
PoolPendingPodCount |
Count | Total (Soma), Média, Máximo, Mínimo | poolName |
PT1M | Sim |
|
Contagem de sessões ativas Número de pods de sessão prontos no pool de sessões. |
PoolReadyPodCount |
Count | Total (Soma), Média, Máximo, Mínimo | poolName |
PT1M | Sim |
Exibir métricas de sessão
Você pode usar as métricas de ambiente do Azure Monitor ou dos Aplicativos de Contêiner para exibir métricas baseadas em sessão.
Métricas de Azure Monitor
- Abra a página Métricas do Azure Monitor.
- Use Escopo para selecionar seu pool de sessões de contêineres personalizado.
- Escolha uma métrica e uma agregação para exibir.
Métricas de ambiente de Aplicativos de Contêiner
- No portal do Azure, abra o Ambiente de Aplicativos de Contêiner.
- Em Monitoramento, selecione Métricas.
- Use Escopo para selecionar seu pool de sessões de contêineres personalizado.
- Escolha uma métrica e uma agregação para exibir.