Implementazione di un'applicazione ASP.NET tradizionale su Elastic Beanstalk - AWS Toolkit con Amazon Q

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Implementazione di un'applicazione ASP.NET tradizionale su Elastic Beanstalk

Questa sezione descrive come utilizzare la procedura guidata Publish to Elastic Beanstalk, fornita come parte del Toolkit for Visual Studio, per distribuire un'applicazione tramite Elastic Beanstalk. Per esercitarti, puoi usare un'istanza di un progetto di avvio di applicazioni Web integrato in Visual Studio oppure puoi usare il tuo progetto.

Nota

La procedura guidata supporta anche la distribuzione di applicazioni ASP.NET Core. Per informazioni su ASP.NET Core, vedere la guida agli strumenti di distribuzioneAWS .NET e il sommario aggiornato di Deploying toAWS.

Nota

Prima di poter utilizzare la procedura guidata Publish to Elastic Beanstalk, è necessario scaricare e installare Web Deploy. La procedura guidata si basa su Web Deploy per distribuire applicazioni Web e siti Web sui server Web di Internet Information Services (IIS).

Per creare un esempio di progetto iniziale per un'applicazione web

  1. In Visual Studio, dal menu File, scegli Nuovo, quindi scegli Progetto.

  2. Nel riquadro di navigazione della finestra di dialogo New Project (Nuovo progetto), espandere Installed (Installato), espandere Templates (Modelli), espandere Visual C# e quindi scegliere Web.

  3. Nell'elenco di modelli di progetto Web, scegliere un modello che contiene le parole Web e Application nella descrizione. In questo esempio, scegliere l'applicazione ASP.NET Web Forms.

    New Project window showing ASP.NET web application templates for Visual C# in .NET Framework 4.5.
  4. Nella casella Name (Nome), digitare AEBWebAppDemo.

  5. Nella casella Posizione, digita il percorso di una cartella di soluzioni sul tuo computer di sviluppo o scegli Sfoglia, quindi cerca e scegli una cartella di soluzioni e scegli Seleziona cartella.

  6. Verificare che la casella Create directory for solution (Crea directory per soluzione) sia selezionata. Nell'elenco a discesa Soluzione, conferma che l'opzione Crea nuova soluzione sia selezionata, quindi scegli OK. Visual Studio creerà una soluzione e un progetto basati sul modello di progetto ASP.NET Web Forms Application. Visual Studio visualizzerà quindi Solution Explorer dove vengono visualizzati la nuova soluzione e il nuovo progetto.

    Solution Explorer window showing project structure with folders and files for a web application.

Per distribuire un'applicazione utilizzando la procedura guidata Publish to Elastic Beanstalk

  1. In Solution Explorer, apri il menu contestuale (clic con il pulsante destro del mouse) per la cartella del progetto AEBWebAppDemo per il progetto che hai creato nella sezione precedente, oppure apri il menu contestuale per la cartella del progetto per la tua applicazione e scegli Pubblica suAWS Elastic Beanstalk.

    Solution Explorer context menu showing "Publish to AWS..." option for AEBWebAppDemo project.

    Si apre la procedura guidata Publish to Elastic Beanstalk (Pubblica su Elastic Beanstalk).

    Publish to AWS Elastic Beanstalk wizard interface for creating or redeploying an application environment.
  2. In Profilo, dall'elenco a discesa Profilo dell'account da utilizzare per la distribuzione, scegli il profiloAWS dell'account che desideri utilizzare per la distribuzione.

    Facoltativamente, se hai unAWS account che desideri utilizzare, ma non hai ancora creato un profilo diAWS account, puoi scegliere il pulsante con il simbolo più (+) per aggiungere un profiloAWS dell'account.

  3. Dall'elenco a discesa Regione, scegli la regione in cui desideri che Elastic Beanstalk distribuisca l'applicazione.

  4. In Deployment Target, puoi scegliere tra Creare un nuovo ambiente applicativo per eseguire una distribuzione iniziale di un'applicazione o Redistribuire in un ambiente esistente per ridistribuire un'applicazione precedentemente distribuita. (Le distribuzioni precedenti potrebbero essere state eseguite con la procedura guidata o con lo strumento di distribuzione standalone obsoleto.) Se scegli Ridistribuisci in un ambiente esistente, potrebbe esserci un ritardo nel recupero delle informazioni dalle distribuzioni precedenti attualmente in esecuzione da parte della procedura guidata.

    Nota

    Se scegli Redistribuisci in un ambiente esistente, scegli un ambiente nell'elenco e quindi scegli Avanti, la procedura guidata ti porterà direttamente alla pagina delle opzioni dell'applicazione. Se segui questa strada, passa alle istruzioni riportate più avanti in questa sezione che descrivono come utilizzare la pagina delle opzioni dell'applicazione.

  5. Seleziona Successivo.

    Application Environment setup page for AWS with fields for name, environment, and URL.
  6. Nella pagina Ambiente dell'applicazione, nell'area Applicazione, l'elenco a discesa Nome propone un nome predefinito per l'applicazione. È possibile modificare il nome predefinito scegliendo un nome diverso dall'elenco a discesa.

  7. Nell'area Ambiente, nell'elenco a discesa Nome, digita un nome per il tuo ambiente Elastic Beanstalk. In questo contesto, il termine ambiente si riferisce all'infrastruttura fornita da Elastic Beanstalk per l'applicazione. Un nome predefinito potrebbe già essere proposto in questo elenco a discesa. Se non è già stato proposto un nome predefinito, puoi digitarne uno o sceglierne uno dall'elenco a discesa, se sono disponibili altri nomi. Il nome dell'ambiente non può essere più lungo di 23 caratteri.

  8. Nell'area URL, la casella propone un sottodominio predefinito.elasticbeanstalk.com che sarà l'URL della tua applicazione web. È possibile modificare il sottodominio predefinito digitando un nuovo nome di sottodominio.

  9. Scegli Verifica disponibilità per assicurarti che l'URL della tua applicazione web non sia già in uso.

  10. Se è possibile utilizzare l'URL della tua applicazione Web, scegli Avanti.

AWS EC2 launch configuration settings for deploying an application to Amazon Web Services.
  1. Nella pagina AWSOpzioni, in Amazon EC2 Launch Configuration, dall'elenco a discesa del tipo di contenitore, scegli un tipo di Amazon Machine Image (AMI) da utilizzare per la tua applicazione.

  2. Nell'elenco a discesa del tipo di istanza, specifica un tipo di istanza Amazon EC2 da utilizzare. Per questo esempio, ti consigliamo di utilizzare Micro. Questo ridurrà al minimo il costo associato all'esecuzione dell'istanza. Per ulteriori informazioni sui costi di Amazon EC2, consulta la pagina dei prezzi di EC2.

  3. Nell'elenco a discesa Coppia di chiavi, scegli una key pair di istanza Amazon EC2 da utilizzare per accedere alle istanze che verranno utilizzate per la tua applicazione.

  4. Facoltativamente, nella casella Usa AMI personalizzata, è possibile specificare un'AMI personalizzata che sostituirà l'AMI specificato nell'elenco a discesa Tipo di contenitore. Per ulteriori informazioni su come creare un'AMI personalizzata, vai a Utilizzo di AMI personalizzate nella AWSElastic Beanstalk Developer Guide e Crea un'AMI da un'istanza Amazon EC2.

  5. In alternativa, se si desidera avviare le istanze in un VPC, selezionare la casella Usa un VPC.

  6. Facoltativamente, se desideri avviare una singola istanza Amazon EC2 e quindi distribuire la tua applicazione su di essa, seleziona la casella Ambiente a istanza singola.

    Se si seleziona questa casella, Elastic Beanstalk creerà comunque un gruppo Auto Scaling, ma non lo configurerà. Se desideri configurare il gruppo Auto Scaling in un secondo momento, puoi usare ilAWS Management Console.

  7. Facoltativamente, se desideri controllare le condizioni in cui l'applicazione viene distribuita nelle istanze, seleziona la casella Abilita distribuzioni in sequenza. È possibile selezionare questa casella solo se non è stata selezionata la casella Ambiente a istanza singola.

  8. Se la tua applicazione utilizzaAWS servizi come Amazon S3 e DynamoDB, il modo migliore per fornire credenziali è utilizzare un ruolo IAM. Nell'area Autorizzazioni delle applicazioni distribuite, puoi scegliere un ruolo IAM esistente o crearne uno che il wizard utilizzerà per avviare il tuo ambiente. Le applicazioni che utilizzano laAWS SDK for .NET utilizzeranno automaticamente le credenziali fornite da questo ruolo IAM quando effettuano una richiesta a unAWS servizio.

  9. Se la tua applicazione accede a un database Amazon RDS, nell'elenco a discesa nell'area Relational Database Access, seleziona le caselle accanto a qualsiasi gruppo di sicurezza Amazon RDS che la procedura guidata aggiornerà in modo che le tue istanze Amazon EC2 possano accedere a quel database.

  10. Seleziona Successivo.

    • Se hai selezionato Usa un VPC, verrà visualizzata la pagina Opzioni VPC.

    • Se hai selezionato Enable Rolling Deployments, ma non hai selezionato Usa un VPC, verrà visualizzata la pagina Rolling Deployments. Passa alle istruzioni riportate più avanti in questa sezione che descrivono come utilizzare la pagina Rolling Deployments.

    • Se non hai selezionato Usa un VPC o Abilita distribuzioni multiple, verrà visualizzata la pagina delle opzioni dell'applicazione. Passa alle istruzioni riportate più avanti in questa sezione che descrivono come utilizzare la pagina delle opzioni dell'applicazione.

  11. Se hai selezionato Usa un VPC, specifica le informazioni nella pagina Opzioni VPC per avviare l'applicazione in un VPC.

    VPC Options interface for configuring AWS Elastic Beanstalk application deployment settings.

    Il VPC deve essere già stato creato. Se hai creato il VPC nel Toolkit for Visual Studio, il Toolkit for Visual Studio compilerà questa pagina per te. Se hai creato il VPC nella Console diAWS gestione, digita le informazioni sul tuo VPC in questa pagina.

Considerazioni chiave per l'implementazione in un VPC

  • Il VPC ha bisogno di almeno una sottorete pubblica e una sottorete privata.

  • Nell'elenco a discesa ELB Subnet, specificare la sottorete pubblica. Il Toolkit for Visual Studio distribuisce il load balancer Elastic Load Balancing per l'applicazione nella sottorete pubblica. La sottorete pubblica è associata a una tabella di routing con una voce a un Internet Gateway. È possibile riconoscere un gateway Internet perché ha un ID che inizia conigw- (ad esempio,igw-83cddaex). Le sottoreti pubbliche create utilizzando Toolkit for Visual Studio hanno valori di tag che le identificano come pubbliche.

  • Nell'elenco a discesa Istanze, specificare la sottorete privata. Il Toolkit for Visual Studio distribuisce le istanze Amazon EC2 per la tua applicazione nella sottorete privata.

  • Le istanze Amazon EC2 per la tua applicazione comunicano dalla sottorete privata a Internet tramite un'istanza Amazon EC2 nella sottorete pubblica che esegue la traduzione degli indirizzi di rete (NAT). Per abilitare questa comunicazione, è necessario un gruppo di sicurezza VPC che consenta al traffico di fluire dalla sottorete privata all'istanza NAT. Specifica questo gruppo di sicurezza VPC nell'elenco a discesa Security Group.

Per ulteriori informazioni su come distribuire un'applicazione Elastic Beanstalk su un VPC, consulta la AWSElastic Beanstalk Developer Guide.

  1. Dopo aver inserito tutte le informazioni nella pagina Opzioni VPC, scegli Avanti.

    • Se hai selezionato Enable Rolling Deployments, verrà visualizzata la pagina Rolling Deployments.

    • Se non hai selezionato Enable Rolling Deployments, verrà visualizzata la pagina Opzioni dell'applicazione. Passa alle istruzioni riportate più avanti in questa sezione che descrivono come utilizzare la pagina delle opzioni dell'applicazione.

  2. Se hai selezionato Enable Rolling Deployments, specifichi le informazioni nella pagina Rolling Deployments per configurare il modo in cui le nuove versioni delle tue applicazioni vengono distribuite nelle istanze in un ambiente con bilanciamento del carico. Ad esempio, se nel proprio ambiente sono presenti quattro istanze e si desidera modificare il tipo di istanza, è possibile configurare l'ambiente per modificare due istanze alla volta. Questo aiuta a garantire che l'applicazione sia ancora in esecuzione mentre vengono apportate modifiche.

    Rolling Deployments configuration interface for AWS application updates and environment settings.
  3. Nell'area Versioni dell'applicazione, scegli un'opzione per controllare le distribuzioni su una percentuale o su un numero di istanze alla volta. Specifica la percentuale o il numero desiderato.

  4. Facoltativamente, nell'area Configurazione dell'ambiente, selezionare la casella se si desidera specificare il numero di istanze che rimangono in servizio durante le distribuzioni. Se si seleziona questa casella, specifica il numero massimo di istanze che devono essere modificate contemporaneamente, il numero minimo di istanze che devono rimanere in servizio contemporaneamente o entrambe.

  5. Seleziona Successivo.

  6. Nella pagina Opzioni dell'applicazione, si specificano le informazioni sulla build, su Internet Information Services (IIS) e sulle impostazioni dell'applicazione.

    Application Options interface for configuring build and deployment settings for AWS.
  7. Nell'area Impostazioni build e IIS Deployment, nell'elenco a discesa della configurazione della build del progetto, scegli la configurazione della build di destinazione. Se il wizard riesce a trovarlo, Release appare altrimenti, la configurazione attiva viene visualizzata in questa casella.

  8. Nell'elenco a discesa del pool di app, scegli la versione di .NET Framework richiesta dalla tua applicazione. La versione corretta di .NET Framework dovrebbe essere già visualizzata.

  9. Se l'applicazione è a 32 bit, seleziona la casella Abilita applicazioni a 32 bit.

  10. Nella casella Percorso dell'app, specifica il percorso che IIS utilizzerà per distribuire l'applicazione. Per impostazione predefinita, viene specificato il sito Web predefinito/, che in genere si traduce nel percorsoc:\inetpub\wwwroot. Se si specifica un percorso diverso da Sito Web predefinito/, la procedura guidata inserirà un reindirizzamento nel percorso Sito/sito Web predefinito che rimanda al percorso specificato.

  11. Nell'area Impostazioni dell'applicazione, nella casella URL di controllo Health, digita un URL per Elastic Beanstalk da controllare per determinare se l'applicazione web è ancora reattiva. Questo URL è relativo all'URL del server principale. L'URL del server principale è specificato per impostazione predefinita. Ad esempio, se l'URL completo èexample.com/site-is-up.html, devi digitare/site-is-up.html.

  12. Nell'area Chiave e Valore, puoi specificare qualsiasi coppia di chiavi e valori che desideri aggiungere alWeb.config file della tua applicazione.

    Nota

    Sebbene non sia consigliato, è possibile utilizzare l'area Chiave e Valore per specificareAWS le credenziali con cui deve essere eseguita l'applicazione. L'approccio preferito consiste nello specificare un ruolo IAM nell'elenco a discesa del ruolo di Identity and Access Management nella pagina AWSOpzioni. Tuttavia, se devi utilizzareAWS le credenziali anziché un ruolo IAM per eseguire l'applicazione, nella riga Chiave, scegli AWSAccessKey. Nella riga Valore, digitare la chiave di accesso. Ripeti questi passaggi per AWSSecretKey.

  13. Seleziona Successivo.

    Review window for publishing an application to AWS Elastic Beanstalk with deployment details.
  14. Nella pagina Revisione, rivedi le opzioni configurate e seleziona la finestra Apri lo stato dell'ambiente alla chiusura del wizard.

  15. Se tutto è corretto, scegliere Deploy (Distribuisci).

    Nota

    Quando si distribuisce l'applicazione, l'account attivo comporterà costi per leAWS risorse utilizzate dall'applicazione.

    Le informazioni sulla distribuzione verranno visualizzate nella barra di stato di Visual Studio e nella finestra Output. L'operazione potrebbe richiedere alcuni minuti. Al termine della distribuzione, verrà visualizzato un messaggio di conferma nella finestra Output.

  16. Per eliminare la distribuzione, inAWS Explorer, espandere il nodo Elastic Beanstalk, aprire il menu contestuale (fare clic con il pulsante destro del mouse) per il sottonodo per la distribuzione, quindi scegliere Elimina. Il processo di eliminazione potrebbe richiedere alcuni minuti.