Partilhar via


Migrando uma rede virtual personalizada

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:✅ Basic/Standard ✅ Enterprise

No Azure Spring Apps, você pode implantar seus aplicativos em uma rede virtual gerenciada. Essa configuração permite a comunicação segura entre seus aplicativos e outros recursos em sua rede virtual, como bancos de dados e outros serviços. Os Aplicativos de Contêiner do Azure oferecem funcionalidade semelhante, mas com algumas diferenças. Este artigo explora essas diferenças e fornece orientação sobre como criar e gerenciar ambientes de Aplicativos de Contêiner do Azure com redes virtuais gerenciadas.

Pré-requisitos

Criar um ambiente de Aplicativos de Contêiner do Azure com uma rede virtual

No Azure Spring Apps, você precisa configurar duas sub-redes em uma rede virtual: uma para o tempo de execução do sistema e outra para o aplicativo do usuário. Essa configuração garante isolamento e segurança para os componentes do sistema e os aplicativos do usuário. Por outro lado, os Aplicativos de Contêiner do Azure simplificam a configuração de rede exigindo apenas uma sub-rede para infraestrutura em uma rede virtual.

Nos Aplicativos de Contêiner do Azure, a rede virtual de infraestrutura é isolada da rede virtual do cliente, eliminando a necessidade de conceder a permissão de serviço à rede virtual, conforme exigido no Azure Spring Apps. Há dois tipos de ambientes suportados. Para obter mais informações, consulte a seção Tipos de ambientes de Aplicativos de Contêiner do Azure. Ao usar o ambiente de perfis de carga de trabalho, você precisa atualizar a rede virtual para delegar a sub-rede ao Microsoft.App/environments. Para obter mais informações, consulte a seção Criar um ambiente de Fornecer uma rede virtual para um ambiente de Aplicativos de Contêiner do Azure.

Além disso, os requisitos para intervalos de sub-redes menores diferem entre os dois serviços.

Para criar um ambiente de Aplicativos de Contêiner do Azure com uma rede virtual, use o seguinte comando da CLI do Azure:

az containerapp env create \
    --resource-group $RESOURCE_GROUP \
    --name $ENVIRONMENT \
    --location "$LOCATION" \
    --internal-only true \
    --infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"

A variável $INFRASTRUCTURE_SUBNET é a ID de recurso de uma sub-rede na rede virtual do cliente, que é para componentes de infraestrutura e contêineres de aplicativos de usuário. Para obter mais informações, consulte a seção Criar um ambiente de Fornecer uma rede virtual para um ambiente de Aplicativos de Contêiner do Azure.

Optar por usar uma rede virtual do cliente nos Aplicativos de Contêiner do Azure não significa que seu aplicativo de contêiner não possa aceitar solicitações públicas. Se quiser limitar completamente o acesso apenas à rede virtual do cliente, você precisará definir o --internal-only parâmetro como true. Essa configuração garante que nenhum ponto de extremidade público seja criado. Para obter mais informações, consulte a seção IP Virtual de Rede no ambiente de Aplicativos de Contêiner do Azure e Fornecer uma rede virtual a um ambiente interno de Aplicativos de Contêiner do Azure.

Migrar aplicativo para aplicativos de contêiner do Azure

Depois de criar um Ambiente de Aplicativos de Contêiner do Azure, a próxima etapa é migrar seu aplicativo para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Mapeamento conceitual. Para migrar cada Aplicativo de Contêiner do Azure, consulte Visão geral da migração de aplicativos e selecione uma imagem de contêiner ou um artefato para o processo de migração.

Alterar configuração de ingresso

Os Aplicativos de Contêiner do Azure oferecem mais opções para personalizar as configurações de entrada em comparação com os Aplicativos de primavera do Azure. Para obter mais informações, consulte Personalizar a configuração de entrada no Azure Spring Apps.

A tabela a seguir mapeia as propriedades de configuração entre os dois serviços:

Caraterística Azure Spring Apps Azure Container Apps
Afinidade de Sessão ingressSettings.sessionAffinity ingress.stickySessions.affinity
Cookie de sessão Max Age ingressSettings.sessionCookieMaxAge EasyAuthConfig.login.cookieExpiration.timeToExpiration
Protocolo de back-end ingressSettings.backendProtocol ingress.transport
Autenticação de Cliente ingressSettings.clientAuth ingress.clientCertificateMode
Tempo limite de leitura de ingresso ingressSettings.readTimeoutInSeconds 240
Tempo limite de envio de ingresso ingressSettings.sendTimeoutInSeconds 240

Os Aplicativos de Contêiner do Azure não permitem que os usuários especifiquem um valor de tempo limite personalizado. Em vez disso, ele impõe um tempo limite de solicitação interno para solicitações HTTP, que é limitado a 240 segundos. Assim, se uma solicitação exceder essa duração, a conexão será automaticamente encerrada para garantir um gerenciamento eficiente de recursos e evitar que solicitações de longa duração monopolizem o sistema.

Os Aplicativos de Contêiner do Azure não dão suporte diretamente a um item de session-max-age configuração. No entanto, você pode gerenciar durações e comportamentos de sessão por meio de outras configurações relacionadas. Por exemplo, você pode usar a configuração cookieExpiration na EasyAuth configuração para controlar quanto tempo dura uma sessão de autenticação. Esta definição permite-lhe especificar a duração durante a qual o cookie de autenticação permanece válido.

Para obter mais informações sobre as configurações de entrada fornecidas pelos Aplicativos de Contêiner do Azure, consulte Ingresso em Aplicativos de Contêiner do Azure.

Tanto o Azure Spring Apps quanto o Azure Container Apps oferecem maneiras de gerar pontos de extremidade acessíveis publicamente. No Azure Spring Apps, cada implantação tem uma URL exclusiva para fins de teste durante implantações azul-verde. Da mesma forma, nos Aplicativos de Contêiner do Azure, um rótulo de revisão fornece uma URL exclusiva que você pode usar para rotear o tráfego para a revisão específica à qual o rótulo está atribuído. Para obter mais informações, consulte a seção Rótulos de Atualizar e implantar alterações em Aplicativos de Contêiner do Azure.

No Azure Spring Apps, o sistema investiga automaticamente a porta 1025 para aplicativos no plano Básico/Standard e a porta 8080 para aplicativos no plano Enterprise. Esses testes ajudam a determinar se o contêiner do aplicativo está pronto para aceitar tráfego. Por outro lado, os Aplicativos de Contêiner do Azure oferecem mais flexibilidade permitindo que os próprios usuários especifiquem a porta de teste usando o --target-port parâmetro. Essa configuração dá aos usuários mais controle sobre a configuração e o comportamento de seus aplicativos.

Para atualizar a porta de entrada de destino para um aplicativo de contêiner, você pode usar o seguinte comando da CLI do Azure:

az containerapp ingress update \
    --resource-group <resource-group> \
    --name <app-name> \
    --target-port <target-port>

A lista a seguir explica cada parâmetro:

  • --name: O nome do seu aplicativo de contêiner.
  • --resource-group: O grupo de recursos que contém seu aplicativo de contêiner.
  • --target-port: A porta na qual seu aplicativo de contêiner está escutando.

Para obter mais informações, consulte a seção Habilitar entrada de Configurar entrada para seu aplicativo em Aplicativos de Contêiner do Azure.

Alterar configuração de saída (UDR)

Tanto o Azure Spring Apps quanto o Azure Container Apps oferecem maneiras de controlar o tráfego de saída por meio do recurso traga sua própria tabela de rotas - UDR (Rotas Definidas pelo Usuário) - com o Firewall do Azure. No entanto, tome nota das seguintes diferenças:

  • Não há necessidade de adicionar uma atribuição de função para um provedor de recursos de Aplicativos de Contêiner do Azure.
  • Uma sub-rede dedicada para a sub-rede de tempo de execução do serviço Aplicativos de Contêiner do Azure não é necessária.
  • Os Aplicativos de Contêiner do Azure fornecem uma maneira mais flexível de dar suporte a UDR. Nos Aplicativos de Contêiner do Azure, não há necessidade de definir explicitamente a opção --outbound-type para userDefinedRouting ao provisionar os Aplicativos de primavera do Azure.

Para obter mais informações, consulte a seção Rotas da configuração de sub-rede com CLI e Controle o tráfego de saída nos Aplicativos de Contêiner do Azure com rotas definidas pelo usuário.

Nos Aplicativos de Contêiner do Azure, somente os perfis de carga de trabalho do tipo de ambiente oferecem suporte a UDR. Além disso, os Aplicativos de Contêiner do Azure oferecem suporte à saída por meio do Gateway NAT e à criação de pontos de extremidade privados no ambiente do aplicativo de contêiner.

Para criar um ambiente de Aplicativos de Contêiner do Azure que ofereça suporte a UDR, use o seguinte comando:

az containerapp env create \
    --resource-group $RESOURCE_GROUP \
    --name $ENVIRONMENT \
    --location "$LOCATION" \
    --enable-workload-profiles \
    --infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"

Defina o parâmetro --enable-workload-profiles como true para habilitar perfis de carga de trabalho.

Proteja redes virtuais com Grupos de Segurança de Rede

Tanto o Azure Spring Apps quanto o Azure Container Apps oferecem suporte robusto, permitindo que você gerencie e proteja o tráfego de saída de forma eficaz usando NSG (Network Security Groups). As principais diferenças residem nas configurações específicas.

Para obter mais informações, consulte Protegendo uma VNET personalizada em aplicativos de contêiner do Azure com grupos de segurança de rede.

Alterar configurações de DNS

Tanto o Azure Spring Apps quanto o Azure Container Apps dão suporte ao uso de servidores DNS personalizados em uma rede virtual do cliente. Recomendamos adicionar o IP 168.63.129.16 DNS do Azure como o servidor DNS upstream no servidor DNS personalizado.

Para obter mais informações, consulte a seção DNS de Rede no ambiente de Aplicativos de Contêiner do Azure.

Atualmente, os Aplicativos de Contêiner do Azure em um tipo de ambiente somente consumo não oferecem suporte à liberação de alterações de configurações de DNS como o Azure Spring Apps. Para obter mais informações, consulte Liberar alterações nas configurações de DNS no Azure Spring Apps. No entanto, o tipo de ambiente de perfil de carga de trabalho atualiza automaticamente as configurações de DNS a cada 5 minutos.

Os Aplicativos de Contêiner do Azure dão suporte à implantação com uma zona DNS privada. Para obter mais informações, consulte a seção Implantar com um DNS privado de Fornecer uma rede virtual para um ambiente de Aplicativos de Contêiner do Azure. Essa abordagem fornece uma maneira mais flexível de dar suporte à vinculação de uma zona DNS privada do que usar o Azure Spring Apps. Para obter mais informações, consulte a seção Vincular a zona DNS privada com o Azure Spring Apps de Acessar um aplicativo no Azure Spring Apps em uma rede virtual.

Aceder a uma aplicação nas Aplicações de Contentor do Azure numa rede virtual do cliente

Os Aplicativos de Contêiner do Azure fornecem acesso à rede Pública e recursos de ponto de extremidade Privado para expor aplicativos à Internet ou protegê-los em uma rede privada. Da mesma forma, o Azure Spring Apps dá suporte a esses recursos, conforme descrito nos seguintes artigos: