Criar e usar um Ambiente do Serviço de Aplicativo de Balanceador de Carga InternoCreate and use an Internal Load Balancer App Service Environment

O Ambiente do Serviço de Aplicativo do Azure é uma implantação do Serviço de Aplicativo do Azure em uma sub-rede de uma VNet (rede virtual) do Azure.The Azure App Service Environment is a deployment of Azure App Service into a subnet in an Azure virtual network (VNet). Há duas maneiras de implantar um ASE (ambiente do serviço de aplicativo):There are two ways to deploy an App Service Environment (ASE):

  • Com um VIP em um endereço IP externo, geralmente chamado de ASE externo.With a VIP on an external IP address, often called an External ASE.
  • Com um VIP em um endereço IP interno, geralmente chamado de ASE ILB devido ao ponto de extremidade interno ser um balanceador de carga interno (ILB).With a VIP on an internal IP address, often called an ILB ASE because the internal endpoint is an internal load balancer (ILB).

Este artigo mostra como criar um ASE ILB.This article shows you how to create an ILB ASE. Para obter uma visão geral do ASE, confira Introdução aos ambientes do Serviço de Aplicativo.For an overview on the ASE, see Introduction to App Service Environments. Para saber como criar um ASE externo, confira Como criar um ASE externo.To learn how to create an External ASE, see Create an External ASE.

Visão geralOverview

Um ASE pode ser implantado com um ponto de extremidade acessível pela Internet ou com um endereço IP em sua VNet.You can deploy an ASE with an internet-accessible endpoint or with an IP address in your VNet. Para definir o endereço IP como um endereço de VNet, o ASE deve ser implantado com um ILB.To set the IP address to a VNet address, the ASE must be deployed with an ILB. Quando você implanta o ASE com um ILB, você deve fornecer o nome do seu ASE.When you deploy your ASE with an ILB, you must provide the name of your ASE. O nome do ASE é usado no sufixo de domínio para os aplicativos em seu ASE.The name of your ASE is used in the domain suffix for the apps in your ASE. O sufixo de domínio do seu ILB ASE é <ASE name>.appserviceenvironment.net.The domain suffix for your ILB ASE is <ASE name>.appserviceenvironment.net. Aplicativos feitos em um ILB ASE não são colocados no DNS público.Apps that are made in an ILB ASE are not put in the public DNS.

Versões anteriores do ILB ASE exigiam que você fornecesse um sufixo de domínio e um certificado padrão para conexões HTTPS.Earlier versions of the ILB ASE required you to provide a domain suffix and a default certificate for HTTPS connections. O sufixo de domínio não é mais coletado na criação do ILB ASE, e um certificado padrão também não é mais é coletado.The domain suffix is no longer collected at ILB ASE creation and a default certificate is also no longer collected. Agora, quando você cria um ILB ASE, o certificado padrão é fornecido pela Microsoft e é de confiança do navegador.When you create an ILB ASE now, the default certificate is provided by Microsoft and is trusted by the browser. Ainda é possível definir nomes de domínio personalizados em aplicativos em seu ASE e definir certificados nesses nomes de domínio personalizados.You are still able to set custom domain names on apps in your ASE and set certificates on those custom domain names.

Com um ILB ASE, você pode fazer coisas como:With an ILB ASE, you can do things such as:

  • hospedar aplicativos de intranet com segurança na nuvem, que são acessados site a site ou por ExpressRoute.Host intranet applications securely in the cloud, which you access through a site-to-site or ExpressRoute.
  • Proteger aplicativos com um dispositivo WAFProtect apps with a WAF device
  • Hospedar aplicativos na nuvem que não estão listados em servidores DNS públicos.Host apps in the cloud that aren't listed in public DNS servers.
  • Criar aplicativos back-end isolados da Internet, que podem ser integrados com seus aplicativos front-end com segurança.Create internet-isolated back-end apps, which your front-end apps can securely integrate with.

Funcionalidade desabilitadaDisabled functionality

Há algumas coisas que você não pode fazer ao usar um ASE ILB:There are some things that you can't do when you use an ILB ASE:

  • Usar SSL baseado em IP.Use IP-based SSL.
  • Atribuir endereços IP a aplicativos específicos.Assign IP addresses to specific apps.
  • Comprar e usar um certificado com um aplicativo por meio do portal do Azure.Buy and use a certificate with an app through the Azure portal. Você pode obter certificados diretamente de uma autoridade de certificação e usá-los com seus aplicativos.You can obtain certificates directly from a certificate authority and use them with your apps. Não é possível obtê-los por meio do portal do Azure.You can't obtain them through the Azure portal.

Criar um ASE ILBCreate an ILB ASE

Para criar um ASE ILB:To create an ILB ASE:

  1. No portal do Azure, selecione Criar um recurso > Web > Ambiente do Serviço de Aplicativo .In the Azure portal, select Create a resource > Web > App Service Environment.

  2. Selecione sua assinatura.Select your subscription.

  3. Selecione ou crie um grupo de recursos.Select or create a resource group.

  4. Insira o nome do seu Ambiente do Serviço de Aplicativo.Enter the name of your App Service Environment.

  5. Selecione o tipo de IP virtual Interno.Select virtual IP type of Internal.

    Criação de ASE

Observação

O nome do Ambiente do Serviço de Aplicativo deve ter, no máximo, 37 caracteres.The App Service Environment name must be no more than 37 characters.

  1. Selecione RedeSelect Networking

  2. Selecione ou crie uma Rede Virtual.Select or create a Virtual Network. Se você criar uma nova VNet, ela será definida com um intervalo de endereços de 192.168.250.0/23.If you create a new VNet here, it will be defined with an address range of 192.168.250.0/23. Para criar uma VNet com um intervalo de endereços diferentes ou em um grupo de recursos diferente do ASE, use o portal de criação da Rede Virtual do Azure.To create a VNet with a different address range or in a different resource group than the ASE, use the Azure Virtual Network creation portal.

  3. Selecione ou crie uma sub-rede vazia.Select or create an empty a subnet. Se você quiser selecionar uma sub-rede, ela deverá estar vazia e não delegada.If you want to select a subnet, it must be empty and not delegated. O tamanho da sub-rede não pode ser alterado após a criação do ASE.The subnet size cannot be changed after the ASE is created. O tamanho recomendado é /24, que tem 256 endereços e é compatível com um ASE com tamanho máximo e quaisquer necessidades de dimensionamento.We recommend a size of /24, which has 256 addresses and can handle a maximum-sized ASE and any scaling needs.

    Rede do ASE

  4. Selecione Revisar e Criar e selecione Criar.Select Review and Create then select Create.

Como criar um aplicativo em uma ASE ILBCreate an app in an ILB ASE

Você pode criar um aplicativo em uma ASE ILB da mesma maneira que você cria um aplicativo em um ASE.You create an app in an ILB ASE in the same way that you create an app in an ASE normally.

  1. No portal do Azure, selecione Criar um recurso > Web > Aplicativo Web.In the Azure portal, select Create a resource > Web > Web App.

  2. Digite o nome do aplicativo.Enter the name of the app.

  3. Selecione a assinatura.Select the subscription.

  4. Selecione ou crie um grupo de recursos.Select or create a resource group.

  5. Selecione a Publicação, Pilha de Runtime e Sistema Operacional.Select your Publish, Runtime Stack, and Operating System.

  6. Selecione um local que seja um ILB ASE existente.Select a location where the location is an existing ILB ASE. Você também pode criar um novo ASE durante a criação do aplicativo, selecionando um plano do Serviço de Aplicativo Isolado.You can also create a new ASE during app creation by selecting an Isolated App Service plan. Se você quiser criar um novo ASE, selecione a região na qual você deseja criar o ASE.If you wish to create a new ASE, select the region you want the ASE to be created in.

  7. Selecione ou crie um plano do Serviço de Aplicativo.Select or create an App Service plan.

  8. Selecione Revisar e Criar e selecione Criar quando tudo estiver pronto.Select Review and Create then select Create when you are ready.

Trabalhos da Web, Funções e o ILB ASEWeb jobs, Functions and the ILB ASE

As Funções e os trabalhos da Web são suportados em um ILB ASE, mas para que o portal funcione com eles, você deve ter acesso de rede ao site SCM.Both Functions and web jobs are supported on an ILB ASE but for the portal to work with them, you must have network access to the SCM site. Isso significa que seu navegador deve estar em um host que esteja na rede virtual ou conectado a ela.This means your browser must either be on a host that is either in or connected to the virtual network. Se o ILB ASE tiver um nome de domínio que não terminam em appserviceenvironment.net, você precisará fazer seu navegador confiar no certificado HTTPS que está sendo usado por seu site do scm.If your ILB ASE has a domain name that does not end in appserviceenvironment.net, you will need to get your browser to trust the HTTPS certificate being used by your scm site.

Configuração de DNSDNS configuration

Quando você usa um ASE Externo, os aplicativos criados no ASE são registrados com o DNS do Azure.When you use an External ASE, apps made in your ASE are registered with Azure DNS. Não há etapas adicionais em um ASE Externo para os aplicativos fiquem disponíveis publicamente.There are no additional steps then in an External ASE for your apps to be publicly available. Com um ASE do ILB, você precisa gerenciar seu DNS.With an ILB ASE, you must manage your own DNS. Você pode fazer isso em seu servidor DNS ou em Zonas Privadas do DNS do Azure.You can do this in your own DNS server or with Azure DNS private zones.

Para configurar o DNS em seu servidor DNS com o ASE do ILB:To configure DNS in your own DNS server with your ILB ASE:

  1. crie uma zona para <nome do ASE>.appserviceenvironment.netcreate a zone for <ASE name>.appserviceenvironment.net
  2. crie um registro A nessa zona que aponte * para o endereço IP do ILBcreate an A record in that zone that points * to the ILB IP address
  3. crie um registro A nessa zona que aponte @ para o endereço IP do ILBcreate an A record in that zone that points @ to the ILB IP address
  4. crie uma zona em <nome do ASE>.appserviceenvironment.net chamada scmcreate a zone in <ASE name>.appserviceenvironment.net named scm
  5. crie um registro A na zona scm que aponte * para o endereço IP do ILBcreate an A record in the scm zone that points * to the ILB IP address

Para configurar o DNS em Zonas Privadas do DNS do Azure:To configure DNS in Azure DNS Private zones:

  1. crie uma zona privada de DNS do Azure chamada <ASE name>.appserviceenvironment.netcreate an Azure DNS private zone named <ASE name>.appserviceenvironment.net
  2. crie um registro A nessa zona que aponte * para o endereço IP do ILBcreate an A record in that zone that points * to the ILB IP address
  3. crie um registro A nessa zona que aponte @ para o endereço IP do ILBcreate an A record in that zone that points @ to the ILB IP address
  4. crie um registro A nessa zona que aponte *.scm para o endereço IP do ILBcreate an A record in that zone that points *.scm to the ILB IP address

As configurações de DNS do sufixo de domínio padrão do ASE não restringem seus aplicativos a serem acessados apenas por esses nomes.The DNS settings for your ASE default domain suffix do not restrict your apps to only being accessible by those names. Você pode definir um nome de domínio personalizado sem nenhuma validação em seus aplicativos em um ASE do ILB.You can set a custom domain name without any validation on your apps in an ILB ASE. Se quiser criar uma zona chamada contoso.net, você poderá fazer isso e apontá-la para o endereço IP do ILB.If you then want to create a zone named contoso.net, you could do so and point it to the ILB IP address. O nome de domínio personalizado funciona para solicitações de aplicativo, mas não para o site do scm.The custom domain name works for app requests but doesn't for the scm site. O site do scm só está disponível em <appname>.scm.<asename>.appserviceenvironment.net.The scm site is only available at <appname>.scm.<asename>.appserviceenvironment.net.

A zona chamada .<asename>.appserviceenvironment.net é globalmente exclusiva.The zone named .<asename>.appserviceenvironment.net is globally unique. Antes de maio de 2019, os usuários podiam especificar o sufixo de domínio do ASE do ILB.Before May 2019, customers were able to specify the domain suffix of the ILB ASE. Se quisesse usar .contoso.com como sufixo de domínio, você poderia fazer isso e o site do scm seria incluído.If you wanted to use .contoso.com for the domain suffix, you were able do so and that would include the scm site. Havia desafios com esse modelo, incluindo o gerenciamento do certificado SSL padrão, a falta de logon único com o site do scm e a necessidade de usar um certificado curinga.There were challenges with that model including; managing the default SSL certificate, lack of single sign-on with the scm site, and the requirement to use a wildcard certificate. O processo de atualização de certificado padrão do ASE do ILB também era problemático e causava a reinicialização do aplicativo.The ILB ASE default certificate upgrade process was also disruptive and caused application restarts. Para resolver esses problemas, o comportamento do ASE do ILB foi alterado de maneira a passar a usar um sufixo de domínio baseado no nome do ASE e com um sufixo de propriedade da Microsoft.To solve these problems, the ILB ASE behavior was changed to use a domain suffix based on the name of the ASE and with a Microsoft owned suffix. A alteração no comportamento do ASE do ILB afeta apenas o ASEs do ILB criados após maio de 2019.The change to the ILB ASE behavior only affects ILB ASEs made after May 2019. ASEs do ILB preexistente ainda precisam gerenciar o certificado padrão do ASE e sua configuração de DNS.Pre-existing ILB ASEs must still manage the default certificate of the ASE and their DNS configuration.

Publicação com um ASE ILBPublish with an ILB ASE

Para cada aplicativo criado, há dois pontos de extremidade.For every app that's created, there are two endpoints. Em um ILB ASE, você tem <nome do aplicativo>.<Domínio ILB ASE> e <nome do aplicativo>.scm.<Domínio ILB ASE> .In an ILB ASE, you have <app name>.<ILB ASE Domain> and <app name>.scm.<ILB ASE Domain>.

O nome do site SCM leva você para o console do Kudu, que é chamado de Portal avançado no portal do Azure.The SCM site name takes you to the Kudu console, called the Advanced portal, within the Azure portal. O console do Kudu lhe permite visualizar as variáveis de ambiente, explorar o disco, usar um console e muito mais.The Kudu console lets you view environment variables, explore the disk, use a console, and much more. Para obter mais informações, confira Console do Kudu para o Serviço de Aplicativo do Azure.For more information, see Kudu console for Azure App Service.

Sistemas CI baseados na internet, como o GitHub e o Azure DevOps ainda funcionam com uma ASE ILB se o agente de build for acessível pela internet e na mesma rede como ASE ILB.Internet-based CI systems, such as GitHub and Azure DevOps, will still work with an ILB ASE if the build agent is internet accessible and on the same network as ILB ASE. Dessa forma, no caso do Azure DevOps, se o agente de build for criado na mesma VNET como ILB ASE (sub-rede diferente é adequada), poderá extrair o código do git do Azure DevOps e implantar ao ASE ILB.So in case of Azure DevOps, if the build agent is created on the same VNET as ILB ASE (different subnet is fine), it will be able to pull code from Azure DevOps git and deploy to ILB ASE. Se você não quiser criar seu próprio agente de build, você precisa usar um sistema de CI que usa um modelo de pull, como o Dropbox.If you don't want to create your own build agent, you need to use a CI system that uses a pull model, such as Dropbox.

Os pontos de extremidade de publicação para aplicativos em um ASE ILB usam o domínio com o qual o ASE ILB foi criado.The publishing endpoints for apps in an ILB ASE use the domain that the ILB ASE was created with. Este domínio é exibido no perfil de publicação do aplicativo e na folha do portal do aplicativo (Visão geral > Essentials e também Propriedades).This domain appears in the app's publishing profile and in the app's portal blade (Overview > Essentials and also Properties). Se você tiver um ILB ASE com o sufixo de domínio <nome do ASE>.appserviceenvironment.net e um aplicativo chamado mytest, use mytest.<nome do ASE>.appserviceenvironment.net para FTP e mytest.scm.contoso.net para implantação da Web.If you have an ILB ASE with the domain suffix <ASE name>.appserviceenvironment.net, and an app named mytest, use mytest.<ASE name>.appserviceenvironment.net for FTP and mytest.scm.contoso.net for web deployment.

Configurar um ILB ASE com um dispositivo WAFConfigure an ILB ASE with a WAF device

Você pode combinar um dispositivo WAF (firewall do aplicativo Web) com seu ILB ASE para expor para a internet somente os aplicativos que você quiser e manter o restante acessível apenas na VNet.You can combine a web application firewall (WAF) device with your ILB ASE to only expose the apps that you want to the internet and keep the rest only accessible from in the VNet. Isso permite que você crie aplicativos seguros de várias camadas, entre outras coisas.This enables you to build secure multi-tier applications among other things.

Para saber mais sobre como configurar o ILB ASE com um dispositivo WAF, confira Configuração de um firewall do aplicativo Web com o Ambiente do Serviço de Aplicativo.To learn more about how to configure your ILB ASE with a WAF device, see Configure a web application firewall with your App Service environment. Este artigo mostra como usar uma solução de virtualização Barracuda com o seu ASE.This article shows how to use a Barracuda virtual appliance with your ASE. Outra opção é usar o gateway de aplicativo do Azure.Another option is to use Azure Application Gateway. O gateway de aplicativo usa as regras básicas do OWASP para proteger os aplicativos colocados atrás dele.Application Gateway uses the OWASP core rules to secure any applications placed behind it. Para obter mais informações sobre o Gateway de Aplicativo do Azure, confira Introdução ao firewall de aplicativo Web do Azure.For more information about Application Gateway, see Introduction to the Azure web application firewall.

ILB ASEs criados antes de maio de 2019ILB ASEs made before May 2019

ILB ASEs criados antes de maio de 2019 exigiam a definição do sufixo de domínio durante a criação do ASE.ILB ASEs that were made before May 2019 required you to set the domain suffix during ASE creation. Também exigiam o upload de um certificado padrão baseado nesse sufixo de domínio.They also required you to upload a default certificate that was based on that domain suffix. Além disso, com um ILB ASE mais antigos, você não pode executar logon único no console do Kudu com aplicativos no ILB ASE.Also, with an older ILB ASE you can't perform single sign-on to the Kudu console with apps in that ILB ASE. Ao configurar o DNS para um ILB ASE mais antigo, você precisa definir o registro A de caractere curinga em uma zona que corresponda ao seu sufixo de domínio.When configuring DNS for an older ILB ASE, you need to set the wildcard A record in a zone that matches to your domain suffix.

IntroduçãoGet started