Integrare l'ambiente del servizio app con bilanciamento del carico interno con il gateway applicazione di Azure

L'ambiente del servizio app è una distribuzione del servizio app di Azure nella subnet della rete virtuale di Azure di un cliente. Può essere distribuito con un endpoint esterno o interno per l'accesso alle app. La distribuzione dell'ambiente servizio app con un endpoint interno è detta ambiente di bilanciamento del carico interno (ILB) servizio app ambiente (A edizione Standard).

I dispositivi WAF (Web Application Firewall) consentono di proteggere le applicazioni Web controllando il traffico Web in ingresso per bloccare SQL injection, attacchi tramite script da altri siti, caricamenti di malware, DDoS di applicazioni e altri attacchi. È possibile ottenere un dispositivo WAF da Azure Marketplace oppure usare il gateway di app Azure lication.

Il gateway di app Azure lication è un'appliance virtuale che fornisce il bilanciamento del carico di livello 7, l'offload TLS/SSL e la protezione web application firewall (WAF). Può essere in ascolto su un indirizzo IP pubblico e instradare il traffico all'endpoint applicazione. Le informazioni seguenti descrivono come integrare un gateway applicazione configurato da WAF con un'app in un ambiente di servizio app il bilanciamento del carico interno.

L'integrazione del gateway applicazione con l'ambiente di servizio app il bilanciamento del carico interno è a livello di app. Quando si configura il gateway applicazione con l'ambiente di servizio app il bilanciamento del carico interno, si esegue questa operazione per app specifiche nell'ambiente di servizio app il bilanciamento del carico interno. Questa tecnica consente di ospitare applicazioni multi-tenant sicure in un singolo ambiente di bilanciamento del carico interno servizio app.

Screenshot of High level integration diagram

In questa procedura dettagliata si eseguiranno i passaggi seguenti:

  • Creare un gateway applicazione di Azure.
  • Configurare il gateway applicazione in modo che punti a un'app nell'ambiente di servizio app il bilanciamento del carico interno.
  • Modificare il nome host DNS pubblico che punta al gateway applicazione.

Prerequisiti

Per integrare il gateway applicazione con l'ambiente di servizio app il bilanciamento del carico interno, è necessario:

  • Un ambiente di servizio app il bilanciamento del carico interno.
  • Una zona DNS privata per l'ambiente di servizio app il bilanciamento del carico interno.
  • Un'app in esecuzione nell'ambiente di servizio app il bilanciamento del carico interno.
  • Nome DNS pubblico usato in un secondo momento per puntare al gateway applicazione.
  • Se è necessario usare la crittografia TLS/SSL per il gateway applicazione, è necessario un certificato pubblico valido usato per l'associazione al gateway applicazione.

Ambiente di servizio app il bilanciamento del carico interno

Per informazioni dettagliate su come creare un ambiente di servizio app il bilanciamento del carico interno, vedere Creare un ambiente A edizione Standard nella portale di Azure e Creare un edizione Standard con il modello di Resource Manager.

  • Dopo aver creato ILB A edizione Standard, il dominio predefinito è <YourAseName>.appserviceenvironment.net.

    Screenshot of ILB ASE Overview

  • Viene effettuato il provisioning di un servizio di bilanciamento del carico interno per l'accesso in ingresso. È possibile controllare l'indirizzo in ingresso negli indirizzi IP in A edizione Standard Impostazioni. È possibile creare una zona DNS privata mappata a questo indirizzo IP in un secondo momento.

    Screenshot of getting the inbound address from ILB ASE IP addresses settings.

Una zona DNS privata

È necessaria una zona DNS privata per la risoluzione dei nomi interna. Crearlo usando il nome A edizione Standard usando i set di record illustrati nella tabella seguente . Per istruzioni, vedere Avvio rapido : Creare una zona DNS privata di Azure usando il portale di Azure.

Nome Type Valore
* Un A edizione Standard indirizzo in ingresso
@ Un A edizione Standard indirizzo in ingresso
@ SOA A edizione Standard nome DNS
*.scm Un A edizione Standard indirizzo in ingresso

servizio app in ILB A edizione Standard

È necessario creare un piano di servizio app e un'app nel servizio di bilanciamento del carico interno edizione Standard. Quando si crea l'app nel portale, selezionare il servizio di bilanciamento del carico interno a edizione Standard come area.

Un nome DNS pubblico al gateway applicazione

Per connettersi al gateway applicazione da Internet, è necessario un nome di dominio instradabile. In questo caso, ho usato un nome asabuludemo.com di dominio instradabile e ho pianificato la connessione a un servizio app con questo nome app.asabuludemo.comdi dominio . L'indirizzo IP mappato a questo nome di dominio dell'app deve essere impostato sull'indirizzo IP pubblico gateway applicazione dopo la creazione del gateway applicazione. Con un dominio pubblico mappato al gateway applicazione, non è necessario configurare un dominio personalizzato in servizio app. È possibile acquistare un nome di dominio personalizzato con domini servizio app.

Un certificato pubblico valido

Per migliorare la sicurezza, è consigliabile associare il certificato TLS/SSL per la crittografia della sessione. Per associare il certificato TLS/SSL al gateway applicazione, è necessario un certificato pubblico valido con le informazioni seguenti. Con servizio app certificati, è possibile acquistare un certificato TLS/SSL ed esportarlo in formato pfx.

Nome valore Descrizione
Nome comune <yourappname>.<yourdomainname>Per esempio: app.asabuludemo.com
o *.<yourdomainname>, ad esempio: *.asabuludemo.com
Un certificato standard o un certificato con caratteri jolly per il gateway applicazione
Nome alternativo soggetto <yourappname>.scm.<yourdomainname>Per esempio: app.scm.asabuludemo.com
o *.scm.<yourdomainname>, ad esempio: *.scm.asabuludemo.com
San che consente di connettersi al servizio kudu servizio app. Si tratta di un'impostazione facoltativa, se non si vuole pubblicare il servizio kudu servizio app su Internet.

Il file di certificato deve avere una chiave privata e salvare in formato pfx, che verrà importato nel gateway applicazione in un secondo momento.

Creare un gateway applicazione

Per la creazione del gateway applicazione di base, vedere Esercitazione: Creare un gateway applicazione con un Web Application Firewall usando il portale di Azure.

In questa esercitazione si userà portale di Azure per creare un gateway applicazione con l'ambiente di servizio app con bilanciamento del carico interno.

Nella portale di Azure selezionare Nuova>rete> gateway applicazione per creare un gateway applicazione.

  1. Impostazione di base

    Nell'elenco a discesa Livello è possibile selezionare Standard V2 o WAF V2 per abilitare la funzionalità WAF nel gateway applicazione.

  2. Impostazione front-end

    Selezionare Tipo di indirizzo IP front-end su Pubblico, Privato o Entrambi . Se si imposta su Privato o Entrambi, è necessario assegnare un indirizzo IP statico nell'intervallo di subnet del gateway applicazione. In questo caso, viene impostato su Ip pubblico solo per l'endpoint pubblico.

    • Indirizzo IP pubblico: è necessario associare un indirizzo IP pubblico per l'accesso pubblico al gateway applicazione. Registrare questo indirizzo IP, è necessario aggiungere un record nel servizio DNS in un secondo momento.

      Screenshot of getting a public IP address from the application gateway frontends setting.

  3. Impostazione back-end

    Immettere un nome del pool back-end e selezionare i servizio app o l'indirizzo IP o il nome di dominio completo in Tipo di destinazione. In questo caso, si imposta su Servizi app e si seleziona servizio app nome dall'elenco a discesa di destinazione.

    Screenshot of adding a backend pool name in backends setting.

  4. Impostazione di configurazione

    In Impostazione di configurazione è necessario aggiungere una regola di routing selezionando Aggiungi un'icona della regola di routing.

    Screenshot of adding a routing rule in configuration setting.

    È necessario configurare un listener e le destinazioni back-end in una regola di routing. È possibile aggiungere un listener HTTP per la distribuzione di modelli di verifica o aggiungere un listener HTTPS per migliorare la sicurezza.

    • Per connettersi al gateway applicazione con il protocollo HTTP, è possibile creare un listener con le impostazioni seguenti:

      Parametro valore Descrizione
      Nome regola Ad esempio: http-routingrule Nome del routing
      Nome listener Ad esempio: http-listener Nome listener
      IP front-end Pubblico Per l'accesso a Internet, impostare su Pubblico
      Protocollo HTTP Non usare la crittografia TLS/SSL
      Porta 80 Porta HTTP predefinita
      Tipo di listener Multisito Consentire l'ascolto di più siti nel gateway applicazione
      Host type Più caratteri jolly Impostare su più nomi di sito Web con caratteri jolly se il tipo di listener è impostato su più siti.
      Nome host Ad esempio: app.asabuludemo.com Impostare su un nome di dominio instradabile per servizio app

      Screenshot of HTTP Listener of the application gateway Routing Rule.

    • Per connettersi al gateway applicazione con la crittografia TLS/SSL, è possibile creare un listener con le impostazioni seguenti:

      Parametro valore Descrizione
      Nome regola Ad esempio: https-routingrule Nome del routing
      Nome listener Ad esempio: https-listener Nome listener
      IP front-end Pubblico Per l'accesso a Internet, impostare su Pubblico
      Protocollo HTTPS Usare la crittografia TLS/SSL
      Porta 443 Porta HTTPS predefinita
      Impostazioni HTTPS Caricamento di un certificato Caricare un certificato contiene il nome comune e la chiave privata con formato pfx.
      Tipo di listener Multisito Consentire l'ascolto di più siti nel gateway applicazione
      Host type Più caratteri jolly Impostare su più nomi di sito Web con caratteri jolly se il tipo di listener è impostato su più siti.
      Nome host Ad esempio: app.asabuludemo.com Impostare su un nome di dominio instradabile per servizio app

      HTTPS listener of the application gateway Routing Rule.

    • È necessario configurare un pool back-end e un'impostazioneHTTP nelle destinazioni back-end. Il pool back-end è stato configurato nei passaggi precedenti. Selezionare Aggiungi nuovo collegamento per aggiungere un'impostazione HTTP.

      Screenshot of adding new link to add an H T T P setting.

    • Impostazioni HTTP elencate di seguito:

      Parametro valore Descrizione
      Nome impostazione HTTP Ad esempio: https-setting Nome impostazione HTTP
      Protocollo back-end HTTPS Usare la crittografia TLS/SSL
      Porta back-end 443 Porta HTTPS predefinita
      Usare un certificato CA noto Il nome di dominio predefinito di ILB A edizione Standard è .appserviceenvironment.net, il certificato di questo dominio viene emesso da un'autorità radice attendibile pubblica. Nell'impostazione Certificato radice attendibile è possibile impostare per l'uso di un certificato radice attendibile ca noto.
      Sovrascrivi con nuovo nome host L'intestazione del nome host verrà sovrascritta durante la connessione all'app in ILB A edizione Standard
      Override nome host Scegli nome host dalla destinazione back-end Quando si imposta il pool back-end su servizio app, è possibile selezionare l'host dalla destinazione back-end
      Crea probe personalizzati No Usare il probe di integrità predefinito

      Screenshot of **Add an H T T P setting** dialog.

Configurare l'integrazione di un gateway applicazione con ILB A edizione Standard

Per accedere al servizio di bilanciamento del carico interno A edizione Standard dal gateway applicazione, è necessario verificare se un collegamento di rete virtuale alla zona DNS privata. Se non è presente alcuna rete virtuale collegata alla rete virtuale del gateway applicazione, aggiungere un collegamento di rete virtuale seguendo questa procedura.

  • Per configurare il collegamento di rete virtuale con la zona DNS privata, passare al piano di configurazione della zona DNS privato. Selezionare i collegamenti>di rete virtuale Aggiungi

Add a virtual network link to private DNS zone.

  • Immettere il nome del collegamento e selezionare la rispettiva sottoscrizione e la rete virtuale in cui si trova il gateway applicazione.

Screenshot of input link name details to virtual network links setting in private DNS zone.

  • È possibile confermare lo stato di integrità back-end dall'integrità back-end nel piano del gateway applicazione.

Screenshot of confirm the backend health status from backend health.

Aggiungere un record DNS pubblico

È necessario configurare un mapping DNS appropriato quando si accede al gateway applicazione da Internet.

  • L'indirizzo IP pubblico del gateway applicazione è disponibile nelle configurazioni IP front-end nel piano del gateway applicazione.

Application gateway frontend IP address can be found in Frontend IP configuration.

  • Usare il servizio DNS di Azure come esempio, è possibile aggiungere un set di record per eseguire il mapping del nome di dominio dell'app all'indirizzo IP pubblico del gateway applicazione.

Screenshot of adding a record set to map the app domain name to the public IP address of the application gateway.

Convalidare la connessione

  • In un computer che accede da Internet, è possibile verificare la risoluzione dei nomi per il nome di dominio dell'app all'indirizzo IP pubblico del gateway applicazione.

validate the name resolution from a command prompt.

  • In un computer che accede da Internet, testare l'accesso Web da un browser.

Screenshot of opening a browser, access to the web.