Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As sessões dinâmicas do Azure Container Apps fornecem acesso rápido a ambientes sandbox seguros que são ideais para executar código ou aplicações que requerem um forte isolamento de outras cargas de trabalho.
As sessões operam dentro do contexto de um pool de sessões que atenua o arranque a frio para garantir a disponibilidade imediata de uma sessão.
Com as sessões, você obtém:
Isolamento forte: as sessões são isoladas umas das outras e do ambiente host. Cada sessão é executada em sua própria área restrita do Hyper-V, fornecendo segurança e isolamento de nível empresarial. Opcionalmente, você pode habilitar o isolamento de rede para aumentar ainda mais a segurança.
Acesso simples: as sessões são acessadas por meio de uma API REST. Um identificador exclusivo marca cada sessão. Se uma sessão com um determinado identificador não existir, uma nova sessão será automaticamente alocada.
Totalmente gerenciado: o Container Apps gerencia totalmente o ciclo de vida de uma sessão. As sessões são limpas automaticamente quando não estão mais em uso.
Arranque rápido: As novas sessões são alocadas em milissegundos. O arranque rápido é conseguido através da manutenção automática de um conjunto de sessões prontas, mas não alocadas.
Escalável: as sessões podem ser executadas em alta escala. Você pode executar centenas ou milhares de sessões simultaneamente.
Acesso à API: as sessões são expostas ao seu aplicativo por meio de um único ponto de extremidade HTTP.
Sessão
Uma sessão é um ambiente em área restrita que executa código não confiável ou seu aplicativo.
Cada sessão é isolada de todas as outras sessões e do ambiente anfitrião com um sandbox do Hyper-V. Hyper-V tecnologia forma a base do isolamento de sessões, garantindo que diferentes sessões operem de forma independente com os limites de segurança necessários. Para maior segurança de rede, você pode habilitar o isolamento de rede de sessão em sua sessão.
Existem dois tipos diferentes de sessões.
Tipos de sessão
Os Aplicativos de Contêiner do Azure dão suporte a dois tipos de sessões:
| Tipo | Descrição | Modelo de faturação |
|---|---|---|
| Sessões de intérprete de código | Interpretador de código totalmente gerenciado que permite executar código em uma área restrita pré-instalada com bibliotecas populares. Ideal para executar código não confiável, como código fornecido por usuários de seu aplicativo ou código gerado por um modelo de linguagem grande (LLM). Você pode usar a sessão pronta para uso ou com uma estrutura de modelo de linguagem. |
Por sessão (consumo) |
| Sessões de contêiner personalizadas | Opção de "traga seu próprio contentor", onde executa suas próprias imagens de contentor em sandboxes seguras e isoladas. Essa abordagem é uma boa opção se você quiser executar um interpretador de código personalizado para um idioma que não é suportado imediatamente ou cargas de trabalho que exigem um isolamento forte. |
Plano Dedicado de Aplicativos de Contêiner |
Cada sessão, independentemente do tipo, é executada no contexto de um pool de sessões.
Pools de sessões
Para fornecer tempos de alocação de sessão de subsegundo, os Aplicativos de Contêiner do Azure mantêm um pool de sessões prontas, mas não alocadas. Quando seu aplicativo faz uma solicitação para uma sessão que não foi usada antes, o pool atribui automaticamente uma nova sessão para você. À medida que as sessões são alocadas, o pool é automaticamente reabastecido para manter um número constante de sessões disponíveis.
Cada pool de sessões está disponível para o seu aplicativo através de um local exclusivo de ponto de gestão de pool.
Ciclo de vida da sessão
O tempo de execução dos Aplicativos de Contêiner gerencia automaticamente o ciclo de vida de cada sessão em um pool. A vida de uma sessão começa quando a sessão começa e continua enquanto a sessão está em uso. Quando não houver mais solicitações para a sessão e o tempo de arrefecimento tiver decorrido, a sessão será destruída.
Os seguintes estados definem esse ciclo de vida:
Pendente: quando uma sessão está iniciando, ela está no estado pendente. A quantidade de tempo que uma sessão passa nesse estado depende da imagem do contêiner e das configurações especificadas para o pool de sessões. Uma sessão nesse estado não é adicionada ao pool de sessões prontas.
Não alocado: Assim que uma sessão termina de iniciar, ela é adicionada ao pool e fica disponível para alocação. Para sessões de contêiner personalizadas, você pode especificar quantas sessões prontas devem ser mantidas no pool. Esse número deve ser aumentado se as sessões forem alocadas mais rápido do que são reabastecidas.
Alocado: quando você envia uma solicitação para uma sessão não em execução, o pool fornece uma nova sessão e a coloca em um estado alocado. As solicitações subsequentes com o mesmo identificador de sessão são roteadas para a mesma sessão, permitindo uma reutilização eficiente sem arranques a frio. Cada sessão alocada é associada a um identificador de sessão.
Destruído: Se uma sessão não receber solicitações durante uma duração definida pelo parámetro
cooldownPeriodInSeconds, a sessão e seu Hyper-V sandbox serão eliminadas de forma segura. Esta configuração de limpeza automática melhora a gestão de recursos e a segurança.
O tempo de execução dos Aplicativos de Contêiner gerencia automaticamente o ciclo de vida de cada sessão em um pool de sessões.
Disponibilidade da região
As sessões dinâmicas estão disponíveis nas seguintes regiões:
| País/Região | Interpretador de código | Contentor personalizado |
|---|---|---|
| Leste da Austrália | ✔ | ✔ |
| Sul do Brasil | ✔ | ✔ |
| Canadá Central | ✔ | ✔ |
| Leste do Canadá | ✔ | ✔ |
| E.U.A. Central | ✔ | ✔ |
| Ásia Leste | ✔ | ✔ |
| E.U.A. Leste | ✔ | ✔ |
| E.U.A. Leste 2 | ✔ | ✔ |
| Centro de França | ✔ | ✔ |
| Alemanha Centro-Oeste | ✔ | ✔ |
| Norte de Itália | ✔ | ✔ |
| Leste do Japão | ✔ | ✔ |
| Coreia Central | ✔ | ✔ |
| E.U.A. Centro-Norte | ✔ | ✔ |
| Europa do Norte | ✔ | ✔ |
| Leste da Noruega | ✔ | ✔ |
| Polónia Central | ✔ | ✔ |
| Norte da África do Sul | ✔ | ✔ |
| Sul da Índia | ✔ | ✔ |
| Suécia Central | ✔ | ✔ |
| Norte da Suíça | ✔ | ✔ |
| Norte dos E.A.U. | ✔ | ✔ |
| Sul do Reino Unido | ✔ | ✔ |
| E.U.A. Centro-Oeste | ✔ | ✔ |
| Europa Ocidental | ✔ | ✔ |
| E.U.A. Oeste | ✔ | ✔ |
| E.U.A. Oeste 2 | ✔ | ✔ |
| E.U.A. Oeste 3 | ✔ | ✔ |
Faturação
As sessões de contêiner personalizadas são cobradas com base nos recursos consumidos pelo pool de sessões. Para obter mais informações, consulte Cobrança de Aplicações de Contentores do Azure.
Segurança
Use os seguintes métodos para ajudar a fortalecer a segurança de suas sessões dinâmicas.
Identificadores seguros: use identificadores de sessão seguros em todos os momentos. Gere identificadores de sessão usando métodos criptográficos para garantir valores exclusivos e imprevisíveis. Evite usar IDs sequenciais que possam ser adivinhados por um invasor.
Usar HTTPS: sempre use HTTPS para criptografar dados em trânsito. Isso protege os identificadores de sessão e quaisquer dados confidenciais trocados entre o cliente e o servidor de serem intercetados.
Limitar o tempo de vida da sessão: implemente tempos limite para sessões. Por exemplo, permita um máximo de 15 minutos de inatividade antes que a sessão seja encerrada automaticamente. Isso ajuda a mitigar os riscos devido a um dispositivo perdido ou sem supervisão.
Auditorias e monitorização regulares: Rever periodicamente as práticas e registos de gestão de sessões. Implemente ferramentas de monitoramento para alertar atividades suspeitas, como repetidas tentativas de login com falha ou durações de sessão anormais.