Partilhar via


Use ingresso premium com Azure Container Apps

Neste artigo, vai aprender a usar o ingress premium com o Azure Container Apps. Com o ingresso premium, pode definir como o ingresso é escalado e configurado para lidar melhor com cargas de trabalho de alta procura.

Pré-requisitos

Criar grupo de recursos

  1. Inicie sessão no Azure.
az login
  1. Atualize o Azure CLI para a versão mais recente.
az upgrade
  1. Registe os fornecedores de recursos necessários.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
  1. Crie um grupo de recursos usando o seguinte comando:
az group create --name my-container-apps --location centralus

Criar o ambiente

Para criar o ambiente de aplicações container, execute o seguinte comando:

az containerapp env create \
  --name my-container-apps-env \
  --resource-group my-resource-group \
  --location centralus

Configurar perfil de carga de trabalho

Adicione um perfil de carga de trabalho ao ambiente (necessário para entrada premium).

az containerapp env workload-profile add \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --workload-profile-type D4 \

O seu perfil de carga de trabalho deve ter pelo menos dois nós para usar ingress premium.

Configurar ingresso premium

Adicione definições premium de entrada ao ambiente usando o seguinte comando:

az containerapp env premium-ingress add \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --termination-grace-period 500 \
  --request-idle-timeout 4 \
  --header-count-limit 100

A tabela seguinte descreve os parâmetros que pode definir ao configurar definições de entrada premium para o seu ambiente de Aplicações de Contentores.

Parâmetro Description Predefinido Mínimo Maximum
termination-grace-period O tempo (em segundos) para permitir o fecho das ligações ativas antes de terminar a entrada. não aplicável 0 60
request-idle-limit O tempo (em minutos) em que um pedido pode permanecer inativo antes de ser desligado. 4 4 30
header-count-limit O número máximo de cabeçalhos HTTP permitidos por pedido. 100 1 não aplicável

Depois de configurado, verá um resultado das definições que acabou de aplicar.

{
  "headerCountLimit": 100,
  "requestIdleTimeout": 4,
  "terminationGracePeriodSeconds": 500,
  "workloadProfileName": "Ingress-D4"
}

Atualizar e gerir o acesso premium

Para atualizar as definições premium de entrada do ambiente, execute o seguinte comando:

az containerapp env premium-ingress update \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --termination-grace-period 500 \
  --request-idle-timeout 4 \
  --header-count-limit 100

Para mostrar as definições premium de entrada do ambiente, execute o seguinte comando:

az containerapp env premium-ingress show \
  --resource-group my-resource-group \
  --name my-container-apps-env

Para remover as definições premium de entrada do ambiente, execute o seguinte comando:

az containerapp env premium-ingress remove \
  --resource-group my-resource-group \
  --name my-container-apps-env

Para remover o perfil da carga de trabalho do ambiente, execute o seguinte comando:

az containerapp env workload-profile remove \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4

Pré-requisitos

Implementar com Bicep

Crie o seguinte ficheiro Bicep e guarde como ingress.bicep.

resource containerAppsEnvironment 'Microsoft.App/managedEnvironments@2025-07-01' = {
  name: 'my-container-app-env'
  location: 'centralus'
  tags: tags
  properties: {
    workloadProfiles: [
      {
        name: 'Ingress-D4'
        workloadProfileType: 'D4'
        minimumCount: 2
        maximumCount: 4
      }
    ]
    ingressConfiguration: {
      workloadProfileName: 'Ingress-D4'
      terminationGracePeriodSeconds: 600
      headerCountLimit: 101
      requestIdleTimeout: 5
    }
  }
}              

Esta etapa implementa um ambiente Container Apps com uma configuração premium de entrada, incluindo as seguintes definições:

Nome Description
name O nome do perfil de carga de trabalho usado para ingresso premium.
workloadProfileType O tipo/tamanho do perfil de carga de trabalho (por exemplo, D4) para escalabilidade e alocação de recursos.
minimumCount O número mínimo de instâncias para o perfil de carga de trabalho. Mínimo: 2.
maximumCount O número máximo de instâncias para o perfil de carga de trabalho. Máximo: 50.
workloadProfileName O nome do perfil da carga de trabalho associado à configuração de entrada.
terminationGracePeriodSeconds O tempo (em segundos) para permitir o fecho das ligações ativas antes de terminar a entrada. Mínimo: 0, Máximo: 60.
headerCountLimit O número máximo de cabeçalhos HTTP permitidos por pedido. Padrão: 100, Mínimo: 1.
requestIdleTimeout O tempo (em minutos) em que um pedido pode permanecer inativo antes de ser desligado. Padrão: 4, Mínimo: 4, Máximo: 30.

Publicar no Azure

Navegue até à pasta onde guardou o ficheiro ingress.bicep e execute o seguinte comando para implantar o ficheiro Bicep:

# Login to Azure (if not already logged in)
azd auth login

# Provision and deploy the infrastructure
azd up

Gerir a implantação

Use o comando seguinte para visualizar o estado e os registos da sua aplicação container.

# Check deployment status
azd show

# Clean up all resources
azd down

# View deployment logs
azd logs

Você pode configurar a entrada para seu ambiente depois de criá-lo.

  1. Vai ao teu ambiente Container Apps no portal Azure.

  2. Em Configurações, selecione Rede.

  3. Selecione o separador Definições de Ingress.

  4. Configure as suas definições de entrada de acordo com as seguintes definições.

    Configuração Valor
    Modo de Ingresso Selecione Premium.
    Tamanho do perfil da carga de trabalho Selecione um tamanho de D4 a D32.
    Instâncias mínimas de nó Introduza as instâncias do nó do perfil mínimo de carga de trabalho.
    Número máximo de instâncias de nó Introduza as instâncias do nó do perfil de carga máxima de trabalho.
    Período de carência de rescisão Introduza o tempo de carência para terminação em minutos.
    Tempo limite para inatividade da solicitação Introduza o tempo limite do pedido em inatividade em minutos.
    Contagem de cabeçalhos de solicitação Introduza a contagem de cabeçalhos do pedido.
  5. Selecione Aplicar.

Monitoramento e métricas

As métricas de entrada estão disponíveis por meio do portal do Azure na instância do ambiente de aplicações de contentores Container Apps. Em Monitorização, selecione Métricas. Estas métricas estão disponíveis com Ingress Padrão ou Premium ativado. Métricas adicionais estão em progresso.

  • Utilização da CPU Ingress
  • Utilização de Memória de Entrada em Bytes

Os benchmarks mostram que o ponto de entrada consegue lidar com cerca de 3000 pedidos por segundo por núcleo de CPU, mas essa capacidade varia dependendo dos padrões de utilização da aplicação. A memória só tende a tornar-se um gargalo se a aplicação receber pedidos mais rapidamente do que o ambiente consegue gerir e os pedidos forem colocados em fila na camada de entrada.

Os recursos alocados para o ingresso em cada modo são:

Mode Instances CPU Memory Limiar de Dimensionamento da CPU Limiar da Escala de Memória
Predefinição 2-10 1 núcleo 2 GB 75% 50%
Prémio Um por nó (mínimo 2) 90% dos núcleos dos nós 90% da memória dos nós 50% de núcleos de nós 50% da memória dos nós

Limpeza de recursos

Se você não vai continuar a usar este aplicativo, execute o seguinte comando para excluir o grupo de recursos junto com todos os recursos criados neste início rápido.

Atenção

O comando a seguir exclui o grupo de recursos especificado e todos os recursos contidos nele. Se existirem recursos fora do escopo deste início rápido no grupo de recursos especificado, eles também serão excluídos.

az group delete --name my-container-apps