Configurare il ripristino di emergenza per un'applicazione Web basata su IIS multilivello
Il software applicativo è il motore della produttività aziendale di un'organizzazione. Le diverse applicazioni Web possono essere usate per scopi diversi in un'organizzazione. Alcune applicazioni, ad esempio quelle usate per l'elaborazione delle retribuzioni, le applicazioni finanziarie e i siti Web orientati ai clienti, possono avere un ruolo critico in un'organizzazione. Per evitare perdite di produttività, è importante per l'organizzazione che queste applicazioni siano costantemente operative. La costante disponibilità di queste applicazioni deve soprattutto aiutare a evitare danni al marchio o all'immagine o dell'organizzazione.
Le applicazioni Web critiche vengono in genere configurate come applicazioni multilivello in cui Web, database e applicazione risiedono in livelli diversi. Oltre a essere distribuite in vari livelli, le applicazioni possono usare più server in ogni livello per bilanciare il carico del traffico. I mapping tra i vari livelli e nel server Web, inoltre, possono essere basati su indirizzi IP statici. In caso di failover, alcuni di questi mapping devono essere aggiornati, in particolare se sono stati configurati più siti Web nel server Web. Se le applicazioni Web usano TLS, è necessario aggiornare le associazioni di certificati.
I metodi di ripristino tradizionali senza replica prevedono il backup di diversi file di configurazione, delle impostazioni del registro, dei binding, dei componenti personalizzati (COM o .NET), dei contenuti e dei certificati. I file vengono ripristinati attraverso una procedura manuale. I metodi di ripristino tradizionali di backup e il ripristino manuale dei file sono complessi, soggetti a errori e non scalabili. Ci si potrebbe, ad esempio, dimenticare facilmente di eseguire il backup dei certificati. A quel punto, dopo failover, l'unica soluzione sarebbe quella di acquistare nuovi certificati per il server.
Una buona soluzione di ripristino di emergenza supporta la modellazione di piani di ripristino per le architetture di applicazione complesse. Deve anche permettere di aggiungere passaggi personalizzati nel piano di ripristino per gestire i mapping delle applicazioni tra i livelli. In una situazione di emergenza, i mapping delle applicazioni offrono una soluzione semplice e sicura che consente di abbassare l'obiettivo RTO.
Questo articolo descrive come proteggere un'applicazione Web basata su Internet Information Services (IIS) usando Azure Site Recovery. L'articolo illustra le procedure consigliate per la replica di un'applicazione Web a tre livelli basata su IIS in Azure. Spiega anche come eseguire un'analisi di ripristino di emergenza e come effettuare il failover dell'applicazione in Azure.
Prerequisiti
Prima di iniziare, assicurarsi di conoscere le procedure per eseguire le attività seguenti:
- Replicare una macchina virtuale in Azure
- Progettare una rete di ripristino
- Eseguire un failover di test in Azure
- Eseguire un failover in Azure
- Replicare un controller di dominio
- Replicare SQL Server
Modelli di distribuzione
Un'applicazione Web basata su IIS segue in genere uno dei modelli di distribuzione descritti di seguito:
Modello di distribuzione 1
Web farm basata su IIS con Application Request Routing (ARR), server IIS e Microsoft SQL Server.
Modello di distribuzione 2
Web farm basata su IIS con Application Request Routing (ARR), server IIS, server applicazioni e Microsoft SQL Server.
Supporto di Site Recovery
Ai fini di questo articolo sono state usate macchine virtuali VMware con IIS 7.5 su Windows Server 2012 R2 Enterprise. Poiché la replica di Site Recovery non è specifica dell'applicazione, i consigli riportati in questo articolo si applicano negli scenari elencati nella tabella seguente e per versioni diverse di IIS.
Origine e destinazione
Scenario | In un sito secondario | In Azure |
---|---|---|
Hyper-V | Sì | Sì |
VMware | Sì | Sì |
Server fisico | No | Sì |
Azure | N/D | Sì |
Replicare le macchine virtuali
Per avviare la replica di tutte le macchine virtuali Web farm basate su IIS in Azure, seguire le istruzioni descritte in Esecuzione di un failover di test in Azure con Site Recovery.
Se si usa un indirizzo IP statico, è possibile specificare l'indirizzo IP che dovrà essere usato dalla macchina virtuale. Per impostare l'indirizzo IP, passare a Impostazioni di rete>IP DI DESTINAZIONE.
Creare un piano di ripristino
Un piano di ripristino supporta la sequenziazione di vari livelli in un'applicazione multilivello durante un failover. La sequenziazione aiuta a mantenere la coerenza delle applicazioni. Quando si crea un piano di ripristino per un'applicazione Web multilivello, completare la procedura descritta in Creare un piano di ripristino con Site Recovery.
Aggiungere macchine virtuali a gruppi di failover
Una tipica applicazione Web IIS multilivello include i componenti seguenti:
- Un livello database che dispone di macchine virtuali SQL.
- Il livello Web, che è costituito da un server IIS e un livello applicazione.
Aggiungere macchine virtuali in gruppi diversi in base al livello:
- Creare un piano di ripristino. Aggiungere le macchine virtuali del livello database nel Gruppo 1. In questo modo si assicura che le macchine virtuali del livello database vengano arrestate per ultime e avviate per prime.
- Aggiungere le macchine virtuali del livello applicazione nel Gruppo 2. Si assicura così che le macchine virtuali del livello applicazione vengano avviate dopo quelle del livello database.
- Aggiungere le macchine virtuali del livello Web nel Gruppo 3. Si assicura così che le macchine virtuali del livello Web vengano avviate dopo quelle del livello applicazione.
- Aggiungere le macchine virtuali del bilanciamento del carico nel Gruppo 4. In questo modo si assicura che le macchine virtuali del livello bilanciamento del carico vengano avviate dopo quelle del livello Web.
Per altre informazioni, vedere Personalizzare il piano di ripristino.
Aggiungere uno script al piano di ripristino
Per far sì che la Web farm IIS funzioni correttamente, potrebbe essere necessario eseguire alcune operazioni nelle macchine virtuali di Azure dopo il failover o il failover di test. È possibile automatizzare alcune operazioni successive al failover. È, ad esempio, possibile aggiornare la voce DNS, modificare un'associazione del sito o modificare una stringa di connessione aggiungendo gli script corrispondenti al piano di ripristino. L'articolo Add a VMM script to a recovery plan (Aggiungere uno script VMM a un piano di ripristino) illustra come impostare le attività automatizzate tramite uno script.
Aggiornamento del DNS
Se il DNS è configurato per l'aggiornamento DNS dinamico, le macchine virtuali aggiornano in genere il DNS con il nuovo indirizzo IP all'avvio. Se si vuole aggiungere un passaggio esplicito per l'aggiornamento del DNS con i nuovi indirizzi IP delle macchine virtuali, aggiungere uno script per l'aggiornamento degli indirizzi IP nel DNS come azione dopo il failover nei gruppi del piano di ripristino.
Stringa di connessione nel file web.config di un'applicazione
La stringa di connessione specifica il database con cui comunica il sito Web. Se la stringa di connessione contiene il nome della macchina virtuale del database, non sono necessari altri passaggi dopo il failover. L'applicazione può comunicare automaticamente con il database. Se l'indirizzo IP della macchina virtuale del database viene conservato, non è necessario aggiornare la stringa di connessione.
Se la stringa di connessione fa riferimento alla macchina virtuale del database usando un indirizzo IP, la stringa deve essere aggiornata dopo il failover. La stringa di connessione seguente, ad esempio, punta al database con l'indirizzo IP 127.0.1.2:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ConnStringDb1" connectionString="Data Source= 127.0.1.2\SqlExpress; Initial Catalog=TestDB1;Integrated Security=False;" />
</connectionStrings>
</configuration>
Per aggiornare la stringa di connessione nel livello Web, aggiungere uno script di aggiornamento della connessione IIS dopo il Gruppo 3 nel piano di ripristino.
Binding del sito per l'applicazione
Ogni sito è costituito da informazioni di binding. Tali informazioni includono il tipo di binding, l'indirizzo IP in cui il server IIS ascolta le richieste per il sito, il numero di porta e i nomi host per il sito. Durante il failover, potrebbe essere necessario aggiornare questi binding se viene modifico l'indirizzo IP associato.
Nota
Se è stato selezionato Non assegnati per il binding del sito, non è necessario aggiornare questo binding dopo il failover. Anche se l'indirizzo IP associato a un sito non viene modificato dopo il failover, non è necessario aggiornare il binding del sito. La conservazione dell'indirizzo IP dipende dall'architettura di rete e dalle subnet assegnate ai siti primari e di ripristino. L'aggiornamento potrebbe non essere fattibile per l'organizzazione.
Se è stato associato l'indirizzo IP a un sito, è necessario aggiornare tutti i binding del sito con il nuovo indirizzo IP. Per modificare i binding del sito, è possibile aggiungere uno script di aggiornamento del livello Web IIS dopo il Gruppo 3 nel piano di ripristino.
Aggiornare l'indirizzo IP del servizio di bilanciamento del carico
Se è presente una macchina virtuale Application Request Routing, aggiungere uno script di failover ARR IIS dopo il Gruppo 4 per aggiornare l'indirizzo IP.
Associazione di certificati TLS/SSL per una connessione HTTPS
Un sito Web potrebbe avere un certificato TLS/SSL associato che consente di garantire una comunicazione sicura tra il server Web e il browser dell'utente. Se il sito Web dispone di una connessione HTTPS e dispone anche di un'associazione del sito HTTPS associata all'indirizzo IP del server IIS con un'associazione di certificati TLS/SSL, è necessario aggiungere un nuovo binding del sito per il certificato con l'indirizzo IP della macchina virtuale IIS dopo il failover.
Il certificato TLS/SSL può essere rilasciato su questi componenti:
- Nome di dominio completo del sito Web
- Il nome del server.
- Certificato con caratteri jolly per il nome di dominio
- Indirizzo IP. Se il certificato TLS/SSL viene emesso sull'indirizzo IP del server IIS, è necessario emettere un altro certificato TLS/SSL rispetto all'indirizzo IP del server IIS nel sito di Azure. È necessario creare un'associazione TLS aggiuntiva per questo certificato. Per questo motivo, è consigliabile non usare un certificato TLS/SSL rilasciato per l'indirizzo IP. Questa opzione viene usata meno e verrà presto deprecata in base alle nuove modifiche del forum dell'autorità/browser di certificazione.
Aggiornare la dipendenza tra il livello Web e il livello applicazione
Se è presente una dipendenza specifica dell'applicazione basata sull'indirizzo IP delle macchine virtuali, è necessario aggiornare questa dipendenza dopo il failover.
Eseguire un failover di test
- Nel portale di Azure selezionare l'insieme di credenziali di Servizi di ripristino.
- Selezionare il piano di ripristino creato per la Web farm IIS.
- Selezionare Failover di test.
- Per avviare il processo di failover di test, selezionare il punto di recupero e la rete virtuale di Azure.
- Quando l'ambiente secondario diventa disponibile, è possibile eseguire le convalide.
- Al termine delle convalide, selezionare Convalide complete per pulire l'ambiente di failover di test.
Per altre informazioni, vedere Failover di test in Azure in Site Recovery.
Eseguire un failover
- Nel portale di Azure selezionare l'insieme di credenziali di Servizi di ripristino.
- Selezionare il piano di ripristino creato per la Web farm IIS.
- Selezionare Failover.
- Per avviare il processo di failover, selezionare il punto di recupero.
Per altre informazioni, vedere Failover in Site Recovery.
Passaggi successivi
- Altre informazioni sulla replica di altre applicazioni con Site Recovery.