Implantar o Azure Spring Apps em uma rede virtual
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: ✔️ Java ✔️ C#
Este artigo aplica-se a:❌ Basic ✔️ Standard ✔️ Enterprise
Este tutorial explica como implantar uma instância do Azure Spring Apps em sua rede virtual. Essa implantação às vezes é chamada de injeção de VNet.
A implantação permite:
- Isolamento dos aplicativos do Azure Spring Apps e do tempo de execução do serviço da Internet em sua rede corporativa.
- Interação do Azure Spring Apps com sistemas em data centers locais ou serviços do Azure em outras redes virtuais.
- Capacitação dos clientes para controlar as comunicações de rede de entrada e saída para o Azure Spring Apps.
O vídeo a seguir descreve como proteger aplicativos Spring Boot usando redes virtuais gerenciadas.
Nota
Você pode selecionar sua rede virtual do Azure somente quando criar uma nova instância de serviço do Azure Spring Apps. Não é possível alterar para usar outra rede virtual após a criação do Azure Spring Apps.
Pré-requisitos
Registre o provedor Microsoft.AppPlatform
de recursos do Azure Spring Apps e Microsoft.ContainerService
de acordo com as instruções em Registrar provedor de recursos no portal do Azure ou executando o seguinte comando da CLI do Azure:
az provider register --namespace Microsoft.AppPlatform
az provider register --namespace Microsoft.ContainerService
Requisitos da rede virtual
A rede virtual na qual você implanta sua instância do Azure Spring Apps deve atender aos seguintes requisitos:
- Local: a rede virtual deve residir no mesmo local que a instância do Azure Spring Apps.
- Assinatura: a rede virtual deve estar na mesma assinatura que a instância do Azure Spring Apps.
- Sub-redes: a rede virtual deve incluir duas sub-redes dedicadas a uma instância do Azure Spring Apps:
- Um para o tempo de execução do serviço.
- Um para as suas aplicações Spring.
- Há uma relação um-para-um entre essas sub-redes e uma instância do Azure Spring Apps. Use uma nova sub-rede para cada instância de serviço implantada. Cada sub-rede só pode incluir uma única instância de serviço.
- Espaço de endereço: o CIDR bloqueia até /28 para a sub-rede de tempo de execução do serviço e a sub-rede de aplicativos Spring.
- Tabela de rotas: por padrão, as sub-redes não precisam de tabelas de rotas existentes associadas. Você pode trazer sua própria tabela de rotas.
Use as etapas a seguir para configurar a rede virtual para conter a instância do Azure Spring Apps.
Criar uma rede virtual
Se você já tiver uma rede virtual para hospedar uma instância do Azure Spring Apps, ignore as etapas 1, 2 e 3. Você pode começar a partir da etapa 4 para preparar sub-redes para a rede virtual.
No menu do portal do Azure, selecione Criar um recurso. No Azure Marketplace, selecione Rede virtual de rede>.
Na caixa de diálogo Criar rede virtual, insira ou selecione as seguintes informações:
Definição Value Subscrição Selecione a sua subscrição. Grupo de recursos Selecione seu grupo de recursos ou crie um novo. Nome Digite azure-spring-apps-vnet. Location Selecione E.U.A. Leste. Selecione Next: Endereços IP.
Para o espaço de endereçamento IPv4, digite 10.1.0.0/16.
Selecione Adicionar sub-rede. Em seguida, insira service-runtime-subnet para Nome da sub-rede e digite 10.1.0.0/24 para Intervalo de endereços da sub-rede. Em seguida, selecione Adicionar.
Selecione Adicionar sub-rede novamente e insira o nome da sub-rede e o intervalo de endereços da sub-rede. Por exemplo, insira apps-subnet e 10.1.1.0/24. Em seguida, selecione Adicionar.
Selecione Rever + criar. Deixe o restante como padrão e selecione Criar.
Conceder permissão de serviço à rede virtual
Esta seção mostra como conceder ao Azure Spring Apps as permissões de Administrador de Acesso de Usuário e Colaborador de Rede em sua rede virtual. Essa permissão permite que você conceda uma entidade de serviço dedicada e dinâmica na rede virtual para implantação e manutenção adicionais.
Nota
Se você estiver usando sua própria tabela de rotas ou um recurso de rota definido pelo usuário, também precisará conceder aos Aplicativos Azure Spring as mesmas atribuições de função para suas tabelas de rotas. Para obter mais informações, consulte a seção Traga sua própria tabela de rotas e Controlar o tráfego de saída para uma instância do Azure Spring Apps.
Use as seguintes etapas para conceder permissão:
Selecione a rede
azure-spring-apps-vnet
virtual que você criou anteriormente.Selecione Controle de acesso (IAM) e, em seguida, selecione Adicionar>atribuição de função.
Atribua as
Network Contributor
funções eUser Access Administrator
ao Azure Spring Cloud Resource Provider. Para obter mais informações, consulte Atribuir funções do Azure utilizando o portal do Azure.Nota
A função
User Access Administrator
está nas funções de administrador privilegiado eNetwork Contributor
está nas funções de função de trabalho.
Implantar uma instância do Azure Spring Apps
Use as seguintes etapas para implantar uma instância do Azure Spring Apps na rede virtual:
Abra o portal do Azure.
Na caixa de pesquisa superior, procure Azure Spring Apps. Selecione Azure Spring Apps no resultado.
Na página Azure Spring Apps, selecione Adicionar.
Preencha o formulário na página Criar Aplicativos do Azure Spring.
Selecione o mesmo grupo de recursos e a mesma região que a rede virtual.
Em Nome em Detalhes do Serviço, selecione azure-spring-apps-vnet.
Selecione a guia Rede e selecione os seguintes valores:
Definição Value Implante em sua própria rede virtual Selecione Yes (Sim). Rede virtual Selecione azure-spring-apps-vnet. Sub-rede de tempo de execução do serviço Selecione service-runtime-subnet. Sub-rede de aplicativos de microsserviço do Spring Boot Selecione apps-subnet. Selecione Rever e criar.
Verifique suas especificações e selecione Criar.
Após a implantação, mais dois grupos de recursos são criados em sua assinatura para hospedar os recursos de rede para a instância do Azure Spring Apps. Vá para Página Inicial e selecione Grupos de recursos nos itens de menu superior para localizar os novos grupos de recursos a seguir.
O grupo de recursos nomeado como ap-svc-rt_{service instance name}_{service instance region}
contém recursos de rede para o tempo de execução do serviço da instância de serviço.
O grupo de recursos nomeado como ap-app_{service instance name}_{service instance region}
contém recursos de rede para seus aplicativos Spring da instância de serviço.
Esses recursos de rede são conectados à sua rede virtual criada na imagem anterior.
Importante
Os grupos de recursos são totalmente gerenciados pelo serviço Azure Spring Apps. Não exclua ou modifique manualmente nenhum recurso interno.
Usando intervalos de sub-redes menores
Esta tabela mostra o número máximo de instâncias de aplicativos que o Azure Spring Apps oferece suporte usando intervalos de sub-redes menores.
Sub-rede de aplicativos CIDR | Total IPs | IPs disponíveis | Máximo de instâncias do aplicativo |
---|---|---|---|
/28 | 16 | 8 | Aplicação com 0,5 núcleo: 192 |
/27 | 32 | 24 | Aplicação com 0,5 núcleo: 456 |
/26 | 64 | 56 | App com 0,5 núcleo: 500 |
/25 | 128 | 120 | App com 0,5 núcleo: 500 |
/24 | 256 | 248 | App com 0,5 núcleo: 500 |
Para sub-redes, o Azure reserva cinco endereços IP e o Azure Spring Apps requer pelo menos três endereços IP. Pelo menos oito endereços IP são necessários, portanto, /29 e /30 não estão operacionais.
Para uma sub-rede de tempo de execução de serviço, o tamanho mínimo é /28.
Nota
Um pequeno intervalo de sub-redes afeta o recurso subjacente que você pode usar para componentes do sistema, como o controlador de entrada. O Azure Spring Apps usa um controlador de entrada subjacente para lidar com o gerenciamento de tráfego de aplicativos. O número de instâncias do controlador de entrada aumenta automaticamente à medida que o tráfego do aplicativo aumenta. Reserve um intervalo de IP de sub-rede de rede virtual maior se o tráfego do aplicativo puder aumentar no futuro. Normalmente, você reserva um endereço IP para tráfego de 10000 solicitações por segundo.
Traga a sua própria tabela de rotas
O Azure Spring Apps dá suporte ao uso de sub-redes e tabelas de rotas existentes.
Se suas sub-redes personalizadas não contiverem tabelas de rotas, o Azure Spring Apps as criará para cada uma das sub-redes e adicionará regras a elas durante todo o ciclo de vida da instância. Se suas sub-redes personalizadas contiverem tabelas de rotas, o Azure Spring Apps reconhecerá as tabelas de rotas existentes durante as operações de instância e adicionar/atualizar e/ou regras de acordo com as operações.
Aviso
As regras personalizadas podem ser adicionadas às tabelas de rotas personalizadas e atualizadas. No entanto, as regras são adicionadas pelo Azure Spring Apps e não devem ser atualizadas ou removidas. Regras como 0.0.0.0/0 devem sempre existir em uma determinada tabela de rotas e mapear para o destino do seu gateway de internet, como um NVA ou outro gateway de saída. Tenha cuidado ao atualizar regras quando apenas as regras personalizadas estiverem sendo modificadas.
Requisitos da tabela de rotas
As tabelas de rotas às quais sua rede virtual personalizada está associada devem atender aos seguintes requisitos:
- Você pode associar suas tabelas de rotas do Azure à sua rede virtual somente quando criar uma nova instância de serviço do Azure Spring Apps. Não é possível alterar para usar outra tabela de rotas depois de criar uma instância do Azure Spring Apps.
- Tanto a sub-rede do aplicativo Spring quanto a sub-rede de tempo de execução do serviço devem ser associadas a tabelas de rotas diferentes ou a nenhuma delas.
- As permissões devem ser atribuídas antes da criação da instância. Certifique-se de conceder ao Azure Spring Cloud Resource Provider as
User Access Administrator
permissões eNetwork Contributor
em suas tabelas de rotas. - Não é possível atualizar o recurso de tabela de rotas associado após a criação do cluster. Embora não seja possível atualizar o recurso da tabela de rotas, você pode modificar regras personalizadas na tabela de rotas.
- Não é possível reutilizar uma tabela de rotas com várias instâncias devido a possíveis regras de roteamento conflitantes.
Usando servidores DNS personalizados
O Azure Spring Apps dá suporte ao uso de servidores DNS personalizados em sua rede virtual.
Se você não especificar servidores DNS personalizados em sua configuração de Rede Virtual do Servidor DNS, o Azure Spring Apps usará, por padrão, o DNS do Azure para resolver endereços IP. Se sua rede virtual estiver configurada com configurações de DNS personalizadas, adicione o IP 168.63.129.16
DNS do Azure como o servidor DNS upstream no servidor DNS personalizado. O DNS do Azure pode resolver endereços IP para todos os FQDNs públicos mencionados em Responsabilidades do cliente executando o Azure Spring Apps em uma rede virtual. Ele também pode resolver o endereço IP para *.svc.private.azuremicroservices.io
em sua rede virtual.
Se o seu servidor DNS personalizado não puder adicionar o IP 168.63.129.16
DNS do Azure como o servidor DNS upstream, use as seguintes etapas:
- Certifique-se de que seu servidor DNS personalizado possa resolver endereços IP para todos os FQDNs públicos. Para obter mais informações, consulte Responsabilidades do cliente executando o Azure Spring Apps em uma rede virtual.
- Adicione o registro
*.svc.private.azuremicroservices.io
DNS ao IP do seu aplicativo. Para obter mais informações, consulte a seção Localizar o endereço IP do seu aplicativo em Acessar um aplicativo no Azure Spring Apps em uma rede virtual.