Riallocare un'applicazione Linux locale in macchine virtuali di Azure
Questo articolo illustra in che modo la società fittizia Contoso esegue il rehosting di un'applicazione a due livelli basata su LAMP usando macchine virtuali IaaS (infrastruttura distribuita come servizio) di Azure.
L'applicazione per service desk usata in questo esempio, osTicket, viene fornita come software open source. Se si intende usarla per scopi di test personalizzati, è possibile scaricarla da GitHub.
Driver di business
Il team di leadership IT collabora attivamente con i partner commerciali per capire gli obiettivi da raggiungere con questa migrazione:
- Stare al passo con la crescita aziendale. Contoso è in espansione e di conseguenza l'infrastruttura e i sistemi locali iniziano a sentirne la pressione.
- Limitare i rischi. L'applicazione per service desk è fondamentale per il business di Contoso. L'obiettivo è spostare l'app in Azure senza correre alcun rischio.
- Estendere. Contoso non vuole sostituire l'applicazione al momento, ma vuole assicurarsi che sia stabile.
Obiettivi della migrazione
Il team cloud di Contoso ha stabilito gli obiettivi di questa migrazione per determinare il metodo di migrazione più consono:
- Dopo la migrazione, l'applicazione in Azure dovrà avere le stesse caratteristiche prestazionali di cui dispone attualmente nell'ambiente VMware locale dell'azienda. L'applicazione manterrà nel cloud la stessa importanza critica della corrispondente versione in locale.
- Contoso non intende investire in questa applicazione. È importante per il business, ma Contoso vuole semplicemente spostarla in modo sicuro nel cloud nella sua forma attuale.
- Contoso non vuole cambiare il modello operativo dell'applicazione. Vuole interagire con l'applicazione nel cloud esattamente come avviene ora.
- Contoso non intende cambiare le funzionalità dell'applicazione. Cambierà solo la posizione dell'applicazione.
- Dopo aver completato un paio di migrazioni di applicazioni Windows, Contoso vuole capire come usare un'infrastruttura basata su Linux in Azure.
Progettazione della soluzione
Dopo aver definito obiettivi e requisiti, Contoso progetta una soluzione di distribuzione, la esamina e identifica il processo di migrazione. Vengono identificati anche i servizi di Azure che verranno usati per la migrazione.
Applicazione corrente
- L'applicazione osTicket è divisa in livelli tra due VM (
OSTICKETWEB
eOSTICKETMYSQL
). - Le macchine virtuali si trovano nell'host VMware ESXi
contosohost1.contoso.com
(versione 6.5). - L'ambiente VMware viene gestito dal server vCenter 6.5 (
vcenter.contoso.com
) ed eseguito in una macchina virtuale. - Contoso ha un data center locale (
contoso-datacenter
) con un controller di dominio locale (contosodc1
).
Architettura proposta
- Poiché l'applicazione costituisce un carico di lavoro di produzione, le macchine virtuali in Azure risiederanno nel gruppo di risorse di produzione
ContosoRG
. - Le risorse verranno trasferite nell'area primaria (Stati Uniti orientali 2) e collocate nella rete di produzione (
VNET-PROD-EUS2
):- La macchina virtuale Web si troverà nella subnet front-end (
PROD-FE-EUS2
). - La macchina virtuale del database risiederà nella subnet di database (
PROD-DB-EUS2
).
- La macchina virtuale Web si troverà nella subnet front-end (
- Le macchine virtuali locali nel data center Contoso verranno rimosse al termine della migrazione.
Revisione della soluzione
Contoso valuta l'architettura proposta elaborando un elenco di vantaggi e svantaggi.
Considerazioni | Dettagli |
---|---|
Vantaggi | Entrambe le VM dell'applicazione verranno spostate in Azure senza modifiche, semplificando così la migrazione. Poiché Contoso usa un approccio lift-and-shift per entrambe le VM dell'applicazione, non sono necessari strumenti di configurazione o migrazione speciali per il database dell'applicazione. Contoso manterrà il controllo completo delle macchine virtuali dell'applicazione in Azure. Le macchine virtuali dell'applicazione eseguono Ubuntu 16.04-TLS, una distribuzione Linux approvata. Vedere altre informazioni sulle distribuzioni Linux approvate in Azure. |
Svantaggi | Il livello Web e il livello dati dell'applicazione rimangono singoli punti di failover. Contoso dovrà continuare a supportare l'applicazione come macchine virtuali di Azure invece di passare a un servizio gestito come Servizio app di Azure e Database di Azure per MySQL. Contoso si rende conto che, semplificando la migrazione delle VM con un approccio lift-and-shift, non vengono sfruttate appieno le funzionalità fornite da Database di Azure per MySQL. Queste funzionalità includono disponibilità elevata predefinita, prestazioni prevedibili, scalabilità semplice, backup automatici e sicurezza incorporata. |
Processo di migrazione
In Contoso il processo di migrazione verrà completato come indicato di seguito:
- In primo luogo, Contoso prepara e configura i componenti di Azure per Azure Migrate: Migrazione del server e predispone l'infrastruttura VMware locale.
- L'infrastruttura di Azure è già presente, quindi Contoso deve semplicemente configurare la replica delle macchine virtuali tramite lo strumento Azure Migrate: Migrazione del server.
- Al termine delle attività di preparazione, Contoso può iniziare a replicare le macchine virtuali.
- Non appena la replica è abilitata e operativa, Contoso esegue la migrazione della macchina eseguendone il failover in Azure.
Servizi di Azure
Servizio | Descrizione | Costi |
---|---|---|
Azure Migrate: Migrazione server | Il servizio orchestra e gestisce la migrazione delle applicazioni e dei carichi di lavoro locali, nonché delle istanze di VM Amazon Web Services (AWS) e Google Cloud Platform (GCP). | Durante la replica in Azure vengono addebitati costi relativi all'archiviazione di Azure. Vengono create macchine virtuali di Azure che comportano addebiti una volta avviata la migrazione. Vedere altre informazioni su addebiti e prezzi. |
Prerequisiti
Ecco i requisiti che Contoso dovrà soddisfare per questo scenario.
Requisiti | Dettagli |
---|---|
Sottoscrizione di Azure | Contoso ha creato le sottoscrizioni in un articolo precedente di questa serie. Se non si ha una sottoscrizione di Azure, creare un account gratuito. Se si crea un account gratuito, si è l'amministratore della sottoscrizione e si possono eseguire tutte le azioni. Se si usa una sottoscrizione esistente e non si ha il ruolo di amministratore, rivolgersi all'amministratore per l'assegnazione delle autorizzazioni di proprietario o collaboratore. Se sono necessarie autorizzazioni più specifiche, vedere Gestire l'accesso a Site Recovery con il controllo degli accessi in base al ruolo di Azure. |
Infrastruttura di Azure | Vedere in che modo Contoso configura un'infrastruttura di Azure. Vedere altre informazioni sui prerequisiti specifici per Azure Migrate: Migrazione del server. |
Server locali | Il server vCenter locale deve eseguire la versione 5.5, 6.0 o 6.5. Un host ESXi che esegue la versione 5.5, 6.0 o 6.5. Una o più macchine virtuali VMware in esecuzione nell'host ESXi. |
VM locali | Esaminare le distribuzioni Linux approvate per l'esecuzione in Azure. |
Passaggi dello scenario
Ecco come Contoso eseguirà la migrazione:
- Passaggio 1: Preparare Azure per Azure Migrate: Migrazione del server. Aggiungere lo strumento Azure Migrate: Migrazione del server al progetto di Azure Migrate.
- Passaggio 2: Preparare le istanze VMware locali per Azure Migrate: Migrazione del server. Preparare gli account per l'individuazione delle macchine virtuali e predisporre la connessione alle VM di Azure dopo la migrazione.
- Passaggio 3: Replicare le macchine virtuali. Configurare e avviare la replica delle VM in Archiviazione di Azure.
- Passaggio 4: Migrazione delle macchine virtuali con Azure Migrate: Migrazione del server. Eseguire una migrazione di test per verificare che tutto funzioni correttamente, quindi eseguire una migrazione per spostare le macchine virtuali in Azure.
Passaggio 1: Preparare Azure per lo strumento Azure Migrate: Migrazione del server
Ecco i componenti di Azure necessari a Contoso per la migrazione delle VM ad Azure:
- Una rete virtuale in cui verranno collocate le macchine virtuali di Azure al momento della creazione, durante la migrazione.
- Lo strumento Azure Migrate: Migrazione del server di cui è stato effettuato il provisioning.
Questi componenti vengono configurati come segue:
Configurare una rete. Contoso ha già configurato una rete che può essere usata per Azure Migrate: Migrazione del server quando ha distribuito l'infrastruttura di Azure
- L'applicazione SmartHotel360 è un'applicazione di produzione. Verrà eseguita la migrazione delle macchine virtuali alla rete di produzione di Azure (
VNET-PROD-EUS2
) nell'area primaria (East US 2
). - Entrambe le macchine virtuali saranno inserite nel gruppo di risorse
ContosoRG
, usato per le risorse di produzione. - La macchina virtuale front-end dell'applicazione (
OSTICKETWEB
) eseguirà la migrazione alla subnet front-end (PROD-FE-EUS2
) della rete di produzione. - La macchina virtuale del database dell'applicazione (
OSTICKETMYSQL
) verrà trasferita nella subnet del database (PROD-DB-EUS2
) della rete di produzione.
- L'applicazione SmartHotel360 è un'applicazione di produzione. Verrà eseguita la migrazione delle macchine virtuali alla rete di produzione di Azure (
Effettuare il provisioning dello strumento Azure Migrate: Migrazione del server. Una volta configurati rete e account di archiviazione, Contoso crea un insieme di credenziali di Servizi di ripristino (
ContosoMigrationVault
) e lo inserisce nel gruppo di risorseContosoFailoverRG
nell'area primaria (East US 2
).
Ulteriore assistenza?
Vedere come configurare lo strumento Azure Migrate: Migrazione del server.
Passaggio 2: Preparare le istanze VMware locali per Azure Migrate: Migrazione del server
Dopo la migrazione ad Azure, Contoso vuole essere in grado di connettersi alle macchine virtuali replicate in Azure. Gli amministratori di Contoso devono eseguire alcune operazioni:
- Per accedere alle macchine virtuali di Azure attraverso Internet, abilitano il protocollo SSH nella macchina virtuale Linux in locale prima della migrazione. Per Ubuntu, questo passaggio può essere completato con il comando seguente:
sudo apt-get ssh install -y
. - Installare l'agente Linux di Azure
- Dopo aver eseguito la migrazione, è possibile selezionare Diagnostica di avvio per visualizzare uno screenshot della macchina virtuale.
- Se l'operazione non riesce, sarà necessario verificare che la macchina virtuale sia in esecuzione e rivedere questi suggerimenti per la risoluzione dei problemi.
Ulteriore assistenza?
Vedere come preparare le macchine virtuali per la migrazione.
Passaggio 3: Replicare le macchine virtuali locali
Prima di poter eseguire una migrazione ad Azure, gli amministratori di Contoso devono configurare e abilitare la replica.
Al termine dell'individuazione, avviare la replica delle macchine virtuali VMware in Azure.
Nel progetto di Azure Migrate passare a Server>Azure Migrate: Migrazione del server e selezionare Replica.
In Replica>Impostazioni origine>I computer sono virtualizzati? selezionare Sì, con VMware vSphere.
In Appliance locale selezionare il nome dell'appliance di Azure Migrate configurata e quindi selezionare OK.
In Macchine virtuali selezionare le VM da replicare.
- Se è stata eseguita una valutazione delle VM, è possibile applicare i consigli dei risultati della valutazione in merito al tipo di disco (Premium/Standard) e alle dimensioni delle VM. In Importare le impostazioni di migrazione da una valutazione di Azure Migrate? selezionare l'opzione Sì.
- Se non è stata eseguita una valutazione o non si vogliono usare le impostazioni della valutazione, selezionare l'opzione No.
- Se si è scelto di usare la valutazione, selezionare il gruppo di macchine virtuali e il nome della valutazione.
In Macchine virtuali cercare le macchine virtuali necessarie e selezionare quelle di cui si vuole eseguire la migrazione. Selezionare quindi Avanti: Impostazioni di destinazione.
In Impostazioni di destinazione selezionare la sottoscrizione e l'area di destinazione della migrazione. Specificare il gruppo di risorse in cui si troveranno le macchine virtuali di Azure dopo la migrazione. In Rete virtuale selezionare la subnet/rete virtuale di Azure a cui verranno aggiunte le VM di Azure dopo la migrazione.
In Vantaggio Azure Hybrid:
- Selezionare No se non si vuole applicare Vantaggio Azure Hybrid. Selezionare quindi Avanti.
- Selezionare Sì se si hanno computer Windows Server con copertura Software Assurance o sottoscrizioni di Windows Server attive e si vuole applicare il vantaggio alle VM di cui si sta eseguendo la migrazione. Selezionare quindi Avanti.
In Calcolo controllare il nome, le dimensioni, il tipo di disco del sistema operativo e il set di disponibilità delle VM. Le VM devono essere conformi ai requisiti di Azure.
- Dimensioni macchina virtuale: se si usano le raccomandazioni della valutazione, l'elenco a discesa Dimensioni macchina virtuale conterrà le dimensioni consigliate. In caso contrario, Azure Migrate seleziona le dimensioni più simili nella sottoscrizione di Azure. In alternativa, selezionare manualmente le dimensioni in Dimensioni macchina virtuale di Azure.
- Disco sistema operativo: specificare il disco del sistema operativo (di avvio) per la VM. È il disco che contiene il bootloader e il programma di installazione del sistema operativo.
- Set di disponibilità: se la VM deve essere inclusa in un set di disponibilità di Azure dopo la migrazione, specificare il set. Il set deve trovarsi nel gruppo di risorse di destinazione specificato per la migrazione.
In Dischi specificare se i dischi delle macchine virtuali devono essere replicati in Azure. Selezionare quindi il tipo di disco (HDD/SSD Standard o SSD Premium) in Azure. Selezionare quindi Avanti.
- È possibile escludere dischi dalla replica.
- I dischi esclusi non saranno presenti nella macchina virtuale di Azure dopo la migrazione.
Rivedere le impostazioni in Rivedi e avvia replica. Selezionare quindi Replica per avviare la replica iniziale per i server.
Nota
È possibile aggiornare le impostazioni di replica in qualsiasi momento prima dell'avvio della replica selezionando Gestisci>Replica delle macchine virtuali. Le impostazioni non possono essere modificate dopo l'avvio della replica.
Passaggio 4: Eseguire la migrazione delle macchine virtuali
Gli amministratori di Contoso eseguono una rapida migrazione di test e poi una migrazione per spostare le macchine virtuali.
Eseguire una migrazione di test
In Obiettivi della migrazione>Server>Azure Migrate: Migrazione del server selezionare Testare i server con migrazione completata.
Selezionare e tenere premuto il pulsante del mouse (o fare clic con il pulsante destro del mouse) sulla macchina virtuale da testare. Selezionare quindi Migrazione di test.
In Migrazione di test selezionare la rete virtuale di Azure in cui verrà inserita la VM di Azure dopo la migrazione. È consigliabile usare una rete virtuale non di produzione.
Verrà avviato il processo Migrazione di test. Monitorare il processo nelle notifiche del portale.
Al termine della migrazione, visualizzare la VM di Azure di cui è stata eseguita la migrazione in Macchine virtuali nel portale di Azure. Il nome della macchina virtuale ha il suffisso -Test.
Al termine del test, selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) sulla macchina virtuale di Azure in Replica delle macchine virtuali. Selezionare quindi Pulisci migrazione di test.
Eseguire la migrazione delle macchine virtuali
Gli amministratori di Contoso eseguono ora una migrazione completa per portare a termine lo spostamento.
Nel progetto Azure Migrate passare a Server>Azure Migrate: Migrazione del server e selezionare Replica dei server.
In Replica delle macchine virtuali selezionare e tenere premuto il pulsante del mouse (o fare clic con il pulsante destro del mouse) sulla macchina virtuale e quindi scegliere Esegui la migrazione.
In Esegui la migrazione>Spegnere le macchine virtuali ed eseguire una migrazione pianificata senza perdita di dati selezionare Sì>OK.
- Per impostazione predefinita, Azure Migrate arresta la macchina virtuale locale ed esegue una replica su richiesta per sincronizzare le eventuali modifiche apportate alla macchina virtuale dopo l'ultima replica. Questa operazione assicura che non si verifichi alcuna perdita di dati.
- Se non si vuole arrestare la VM, selezionare No.
Verrà avviato un processo di migrazione per la VM. Tenere traccia del processo nelle notifiche di Azure.
Al termine del processo, è possibile visualizzare e gestire la VM dalla pagina Macchine virtuali.
Connettere la macchina virtuale al database
Come passaggio finale del processo di migrazione, gli amministratori di Contoso aggiornano la stringa di connessione dell'applicazione in modo che punti al database in esecuzione sulla VM OSTICKETMYSQL
.
Creare una connessione SSH alla macchina virtuale
OSTICKETWEB
tramite PuTTY o un altro client SSH. La macchina virtuale è privata, pertanto connettersi usando l'indirizzo IP privato.Assicurarsi che la macchina virtuale
OSTICKETWEB
possa comunicare con la macchina virtualeOSTICKETMYSQL
. Attualmente la configurazione è hardcoded con l'indirizzo IP locale172.16.0.43
.Prima dell'aggiornamento:
Dopo l'aggiornamento:
Riavviare il servizio con systemctl restart apache2.
Infine, aggiorare i record DNS per
OSTICKETWEB
eOSTICKETMYSQL
in uno dei controller di dominio di Contoso.
Ulteriore assistenza?
- Informazioni su come eseguire una migrazione di test.
- Vedere come eseguire la migrazione di macchine virtuali ad Azure.
Eseguire la pulizia dopo la migrazione
Al termine della migrazione, i livelli dell'applicazione osTicket sono in esecuzione nelle macchine virtuali di Azure.
A questo punto, Contoso deve eseguire le attività seguenti:
- Rimuovere le VM locali dall'inventario vCenter.
- Rimuovere le macchine virtuali in locale dai processi di backup locali.
- Aggiornare la documentazione interna per mostrare la nuova posizione e i nuovi indirizzi IP per
OSTICKETWEB
eOSTICKETMYSQL
. - Esaminare tutte le risorse che interagiscono con le macchine virtuali. Aggiornare eventuali impostazioni o documenti pertinenti in modo che riflettano la nuova configurazione.
- Contoso ha usato il servizio Azure Migrate con la VM di gestione per valutare le macchine virtuali per la migrazione. Gli amministratori dovranno rimuovere la macchina virtuale di migrazione e le macchine virtuali Web dal server VMware ESXi.
Esaminare la distribuzione
Con l'applicazione ora in esecuzione, Contoso deve operazionalizzare completamente e proteggere la nuova infrastruttura.
Sicurezza
Il team di sicurezza Contoso esamina le VM OSTICKETWEB
e OSTICKETMYSQL
per determinare eventuali problemi di sicurezza.
- Il team esamina i gruppi di sicurezza di rete (NSG) per le macchine virtuali per controllare l'accesso. I gruppi di sicurezza di rete vengono usati per assicurarsi che possa passare solo il traffico consentito all'applicazione.
- Il team considera inoltre l'opportunità di proteggere i dati sui dischi delle VM usando Crittografia dischi di Azure e Azure Key Vault.
Per altre informazioni, vedere Procedure consigliate per la sicurezza dei carichi di lavoro IaaS in Azure.
Continuità aziendale e ripristino di emergenza
Per la continuità aziendale e il ripristino di emergenza, Contoso esegue le azioni seguenti:
Proteggere i dati. Contoso esegue il backup dei dati nella macchina virtuale usando il backup delle macchine virtuali di Azure.
Mantenere operative le applicazioni. Contoso replica le macchine virtuali dell'applicazione in Azure in un'area secondaria usando Site Recovery. Per altre informazioni, vedere Avvio rapido: Configurare il ripristino di emergenza in un'area di Azure secondaria per una macchina virtuale di Azure.
Licenze e ottimizzazione dei costi
- Dopo la distribuzione delle risorse, Contoso assegna tag di Azure, in base alle decisioni prese durante la distribuzione dell'infrastruttura di Azure.
- Contoso non ha problemi di licenza con i server Ubuntu.
- Contoso userà Gestione dei costi e fatturazione di Azure per assicurare che siano rispettati i budget definiti dalla leadership IT.