Migra un’applicazione Web ASP.NET in AWS Elastic Beanstalk
con Windows Web Application Migration Assistant (WWAMA) interattivo
Panoramica
Lo scopo di questa esercitazione è migrare un'applicazione Web ASP.NET di esempio in un ambiente AWS Elastic Beanstalk completamente gestito tramite Windows Web Application Migration Assistant (WWAMA). Per ulteriori informazioni su Windows Web Application Migration Assistant, consulta questa pagina.
Risultati previsti
Migrerai un’applicazione Web ASP.NET di esempio in un ambiente AWS Elastic Beanstalk completamente gestito.
Prerequisiti
Avrai bisogno di un account AWS e delle autorizzazioni IAM per creare un’istanza EC2, una coppia di chiavi, un gruppo di sicurezza, un utente IAM e un ambiente Elastic Beanstalk. Questo tutorial implementerà un modello AWS CloudFormation che esegue automaticamente il provisioning del sito Web di esempio su un'istanza EC2 che sarà l'applicazione Web di origine per la migrazione.
Informazioni sul tutorial | |
---|---|
Durata | 15 minuti |
Costo | Idoneo per Piano gratuito |
Caso d'uso | Migrazione di applicazioni Windows |
Prodotti | AWS Elastic Beanstalk |
Destinatario | Sviluppatore |
Livello | Principiante |
Ultimo aggiornamento | 30/03/2020 |
1. Registrati ad AWS
Il modello CloudFormation utilizzato in questo tutorial avvia un’istanza EC2 t2.micro. Il tipo di istanza t2.micro fa parte del piano gratuito. Se viene selezionato un tipo di istanza diverso, è possibile che ti vengano addebitati dei costi EC2. Per una stima dei costi EC2, fai riferimento alla pagina dei prezzi di EC2.
Hai già un account? Accedi
2. Configurazione
Utilizza CloudFormation per avviare l’istanza EC2 che ospiterà il sito Web di esempio. Quindi, configura le autorizzazioni IAM richieste.
a. Avvio di un’istanza EC2 tramite CloudFormation
Utilizza CloudFormation per avviare un’istanza EC2 nella regione Stati Uniti orientali 1.
Avvia lo stack CloudFormation >>
Quindi, fai clic su Successivo.
Seleziona una coppia di chiavi esistente oppure crea una coppia di chiavi se non ne è disponibile una. Quindi, fai clic su Successivo.

Nella schermata Configura opzioni stack, fai clic su Successivo. Nella parte inferiore della schermata Verifica, fai clic su Crea stack.

Una volta creato lo stack, il suo stato sarà 'CREATE_COMPLETE'.

b. Creazione dell’utente IAM
Dal menu di navigazione sulla sinistra, fai clic su Utenti, quindi fai clic su Aggiungi utente.
Specifica Nome utente MigrationUser, seleziona la casella per Accesso programmatico, quindi fai clic su Successivo: Autorizzazioni.

Fai clic su Allega direttamente policy esistenti, quindi digita Beanstalk nella barra di ricerca per filtrare le policy.
Seleziona la casella di spunta per le policy gestite da AWS riportate di seguito, quindi fai clic su Successivo: Tag.
- IAMReadOnlyAccess
- AWSElasticBeanstalkFullAccess

Fai clic su Successivo: Verifica, quindi seleziona Crea utente.

Una volta creato l’utente, fai clic su Scarica CSV alla visualizzazione della schermata.

3. Accesso alla console EC2 e configurazione dell’esecuzione dello strumento WWAMA
a. Passaggio alla console EC2 e accesso
Una volta effettuato l’accesso alla console EC2, seleziona l’istanza WWAMA e fai clic su Connetti.

Fai clic su Scarica file desktop remoto e salva il file RDP. Fai clic su Ottieni password e carica il file della coppia di chiavi per ottenere la password di Windows Server. La password sarà visualizzata in testo semplice; copiarla perché sarà necessaria nella fase successiva.

b. Apertura di un terminale PowerShell su EC2 Windows Server
Apri un terminale PowerShell come Amministratore ed esegui i comandi forniti nell’esempio di seguito per configurare le credenziali AWS. Sostituisci ACCESS_KEY e SECRET_ACCESS_KEY con i valori nel file .CSV scaricato in precedenza durante la creazione di MigrationUser.

PS C:\> Import-Module AWSPowerShell
PS C:\> Set-AWSCredential -AccessKey ACCESS_KEY -SecretKey SECRET_ACCESS_KEY -StoreAs default
c. Estrazione dei file di Migration Assistant
Migration Aassistant è stato scaricato sull’unità C:\ tramite il modello CloudFormation. Il file è wwama.zip
Fai clic con il tasto destro del mouse sul file wwama.zip ed estrai l’assistente.

d. Visualizzazione del sito Web di esempio prima della migrazione
Apri un browser Web sull’istanza EC2 Windows Server e passa a http://localhost/. Verrà visualizzato il sito Web di esempio che sarà migrato da Migration Assistant.

4. Esecuzione di Migration Assistant
a. Avvia lo script MigrateIISWebsiteToElasticBeanstalk.ps1.
Nel terminale PowerShell aperto in precedenza, avvia lo script di migrazione.
L’assistente richiederà il percorso del file delle credenziali. Premi INVIO per saltare questa fase.
Quando richiesto il nome profilo AWS, digita default.
PS C:\> .\MigrateIISWebsiteToElasticBeanstalk.ps1
b. Selezione della regione AWS
Specifica la regione AWS in cui desideri eseguire l’ambiente Elastic Beanstalk. Ad esempio, us-east-1. Per un elenco di regioni AWS in cui Elastic Beanstalk è disponibile, consulta la sezione Endpoint e quote di AWS Elastic Beanstalk nel riferimento generale di AWS.
Enter the AWS Region (default us-east-1):
c. Selezione dell’applicazione Web da migrare
L'assistente rileva quindi tutti i siti Web in esecuzione sul server IIS e li elenca, come nell'esempio seguente.

Immettere il numero 2 per migrare il sito di esempio.
Enter the number of the website to migrate: (default 1):
d. Aggiornamento delle stringhe di connessione
L'assistente chiederà quindi di aggiornare tutte le stringhe di connessione selezionate sopra, premi INVIO in quanto non vi sono stringhe di connessione in questa applicazione.
Verrà visualizzato il seguente messaggio:
"The migration assistant didn't find any connection strings."
Enter the number of the connection string you would like to update, or press ENTER:
e. Configurazione dell’applicazione Elastic Beanstalk
Quindi, assegna un nome alla nuova applicazione Elastic Beanstalk.
Quando viene richiesto di selezionare la versione di Windows Server, digita "6" e premi Invio
Enter a unique name for your new Elastic Beanstalk application:

Specifica il tipo di istanza su cui verrà eseguita la tua applicazione. Digita t2.micro. Consulta Tipi di istanze di Amazon EC2 per un elenco completo.
Enter the instance type (default t3.medium) : t2.micro
L'assistente alla migrazione migra quindi l'applicazione su Elastic Beanstalk.

Una volta completata la migrazione, nella CLI verrà visualizzato un messaggio di riuscita.

5. Passaggio all’applicazione Web ospitata su Elastic Beanstalk
Ora che il sito Web è stato migrato correttamente, verifica che sia attivo e funzionante.
a. Accesso nel browser Web
È possibile ottenere l'URL dall'output dello script PowerShell.
Immetti l’URL nel browser Web in modo da visualizzare l’applicazione Web, adesso in esecuzione su Elastic Beanstalk.


b. Accesso alla console Elastic Beanstalk
L’ambiente Elastic Beanstalk può essere visualizzato anche dalla console AWS. Assicurati di vedere la console per la stessa regione in cui hai distribuito l'applicazione. Esplora cosa puoi fare con la tua applicazione usando il menu a sinistra.

6. Eliminazione delle risorse
In questa fase finale, eliminerai tutte le tue risorse.
a. Eliminazione dell’applicazione Elastic Beanstalk
Passa alla console Elastic Beanstalk e fai clic sul menu Azioni sulla destra. Quindi seleziona Termina ambiente.

b. Eliminazione dello stack CloudFormation
Passa alla console CloudFormation ed elimina lo stack CloudFormation WWAMAStack creato all’inizio di questa esercitazione.
Complimenti
Hai correttamente migrato un'applicazione Web ASP.NET in un ambiente Elastic Beanstalk completamente gestito utilizzando l'assistente per la migrazione di applicazioni Web di Windows (WWAMA).
AWS Elastic Beanstalk è un servizio di semplice utilizzo per distribuire e ridimensionare applicazioni e servizi Web sviluppati con Java, .NET, PHP, Node.js, Python, Ruby, Go e Docker su server comuni come Apache, Nginx, Passenger e IIS.
Caricando semplicemente il proprio codice, Elastic Beanstalk gestisce automaticamente l'implementazione, da provisioning di capacità e auto scaling al monitoraggio della salute dell'applicazione. Al contempo, l'utente mantiene il completo controllo sulle risorse AWS su cui si basa la sua applicazione e può accedere in qualsiasi momento alle risorse implicate.
Visita AWS Elastic Beanstalk per maggiori informazioni.