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à.
QuickStart: Distribuisci un'applicazione .NET Core su Linux su Elastic Beanstalk
Questo QuickStart tutorial illustra il processo di creazione di un'applicazione .NET Core su Linux e la sua distribuzione in un ambiente. AWS Elastic Beanstalk
Non per uso in produzione
Gli esempi sono solo a scopo dimostrativo. Non utilizzare applicazioni di esempio in produzione.
Sections
Il tuo AWS account
Se non sei già un AWS cliente, devi creare un AWS account. La registrazione ti consente di accedere a Elastic Beanstalk e agli altri AWS servizi di cui hai bisogno.
Se hai già un AWS account, puoi passare a. Prerequisiti
Registrati per un Account AWS
Per iniziare AWS, hai bisogno di un Account AWS. Per informazioni sulla creazione di un Account AWS, vedere Guida introduttiva a Account AWS nella Guida Gestione dell’account AWS di riferimento.
Prerequisiti
Per seguire le procedure in questa guida, devi usare un terminale a riga di comando o una shell per eseguire i comandi. I comandi vengono visualizzati in elenchi preceduti da un simbolo di prompt ($) e dal nome della directory corrente, se appropriato.
~/eb-project$ this is a command
this is output
Su Linux e macOS usa la tua shell e il tuo programma di gestione dei pacchetti preferiti. Su Windows puoi installare il sottosistema Windows per Linux per
CLI EB
Questo tutorial utilizza l'interfaccia a riga di comando di Elastic Beanstalk (CLI EB). Per istruzioni dettagliate su come configurare e utilizzare la CLI EB, consulta Installa EB CLI con lo script di configurazione (consigliato) e Configurazione dell'interfaccia a riga di comando EB.
.NET Core su Linux
Se non hai installato .NET SDK sul tuo computer locale, puoi installarlo seguendo il link
Verifica l'installazione di .NET SDK eseguendo il comando seguente.
~$ dotnet --info
Passaggio 1: creare un'applicazione .NET Core su Linux
Crea una directory di progetto.
~$ mkdir eb-dotnetcore
~$ cd eb-dotnetcore
Quindi, crea un'applicazione Hello World di esempio eseguendo i seguenti comandi.
~/eb-dotnetcore$dotnet new web --name HelloElasticBeanstalk~/eb-dotnetcore$cd HelloElasticBeanstalk
Passaggio 2: esegui l'applicazione localmente
Esegui il seguente comando per eseguire l'applicazione localmente.
~/eb-dotnetcore/HelloElasticBeasntalk$ dotnet run
L'output dovrebbe assomigliare al testo seguente.
Building... info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7294 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5052 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0]
Nota
Il dotnet comando seleziona una porta a caso quando l'applicazione viene eseguita localmente. In questo esempio la porta è 5052. Quando si distribuisce l'applicazione nell'ambiente Elastic Beanstalk, l'applicazione verrà eseguita sulla porta 5000.
Inserisci l'indirizzo URL http://localhost: nel tuo browser web. Per questo esempio specifico, il comando èporthttp://localhost:5052. Il browser web dovrebbe visualizzare «Hello World!».
Fase 3: Distribuisci la tua applicazione .NET Core su Linux con l'interfaccia a riga di comando di EB
Esegui i seguenti comandi per creare un ambiente Elastic Beanstalk per questa applicazione.
Per creare un ambiente e distribuire la tua applicazione .NET Core su Linux
Compila e pubblica la tua applicazione in una cartella per la distribuzione nell'ambiente Elastic Beanstalk che stai per creare.
~$cd eb-dotnetcore/HelloElasticBeanstalk~/eb-dotnetcore/HelloElasticBeanstalk$dotnet publish -o site-
Vai alla directory del sito in cui hai appena pubblicato la tua app.
~/eb-dotnetcore/HelloElasticBeanstalk$cd site -
Inizializza il repository della CLI EB con il comando eb init.
Tieni presente i seguenti dettagli relativi alla versione del ramo della piattaforma specificata nel comando:
Sostituisci
il comando seguente con la versione più recente del ramo della piattaforma .NET 6 su AL2023.x.y.zPer individuare la versione più recente del ramo della piattaforma, consulta .NET Core su piattaforme supportate da Linux nella guida alle AWS Elastic Beanstalk piattaforme.
Un esempio di nome di stack di soluzioni che include il numero di versione è
64bit-amazon-linux-2023-v3.1.1-running-.net-6. In questo esempio la versione del ramo è 3.1.1.
~eb-dotnetcore/HelloElasticBeanstalk/site$eb init -p 64bit-amazon-linux-2023-vApplication dotnetcore-tutorial has been created.x.y.z-running-.net-6 dotnetcore-tutorial --region us-east-2Questo comando crea un'applicazione denominata
dotnetcore-tutoriale configura il repository locale per creare ambienti con la versione della piattaforma .NET Core su Linux specificata nel comando. -
(Facoltativo) Esegui nuovamente eb init per configurare una coppia di chiavi predefinite e connetterti all'istanza EC2 che esegue l'applicazione.
~eb-dotnetcore/HelloElasticBeanstalk/site$eb initDo you want to set up SSH for your instances? (y/n):ySelect a keypair. 1) my-keypair 2) [ Create new KeyPair ]Seleziona una coppia di chiavi se ne hai già una, oppure segui le istruzioni per creare una nuova. Se il prompt non è visualizzato o devi modificare le impostazioni in seguito, esegui eb init -i.
-
Crea un ambiente e distribuisci in esso l'applicazione con eb create: Elastic Beanstalk crea automaticamente un file zip per l'applicazione e lo avvia sulla porta 5000.
in
~eb-dotnetcore/HelloElasticBeanstalk/site$eb create dotnet-tutorialElastic Beanstalk impiega circa cinque minuti per creare il tuo ambiente.
Fase 4: Esegui l'applicazione su Elastic Beanstalk
Una volta completato il processo di creazione del tuo ambiente, apri il tuo sito web con. eb open
~eb-dotnetcore/HelloElasticBeanstalk/site$ eb open
Complimenti! Hai implementato un'applicazione .NET Core su Linux con Elastic Beanstalk! Si aprirà una finestra del browser che utilizza il nome di dominio creato per l'applicazione.
Fase 5: rimozione
Puoi terminare il tuo ambiente quando hai finito di lavorare con l'applicazione. Elastic Beanstalk interrompe tutte le AWS risorse associate all'ambiente.
Per terminare l'ambiente Elastic Beanstalk con l'EB CLI, esegui il seguente comando.
~eb-dotnetcore/HelloElasticBeanstalk/site$ eb terminate
AWS risorse per la tua applicazione
Hai appena creato un'applicazione a istanza singola. Si tratta di una semplice applicazione di esempio con una singola istanza EC2, quindi non richiede il bilanciamento del carico o il ridimensionamento automatico. Per le applicazioni a istanza singola Elastic Beanstalk crea le seguenti risorse: AWS
-
Istanza EC2: una macchina virtuale di Amazon EC2 configurata per eseguire applicazioni Web sulla piattaforma selezionata.
Ogni piattaforma esegue un insieme diverso di software, file di configurazione e script per supportare una versione della lingua, un framework, un container Web specifici o una determinata combinazione di tutti questi elementi. La maggior parte delle piattaforme utilizza Apache o nginx come proxy inverso che elabora il traffico web su cui viene eseguita l'app Web, inoltra le richieste all'app, fornisce asset statici e genera log degli accessi e di errore.
-
Gruppo di sicurezza istanze: un gruppo di sicurezza di Amazon EC2 configurato per abilitare il traffico in entrata sulla porta 80. Questa risorsa consente al traffico TTP proveniente dal load balancer di raggiungere l'istanza EC2 in esecuzione sull'app Web. Per impostazione predefinita, il traffico non è consentito su altre porte.
-
Bucket Amazon S3: posizione di storage per il codice sorgente, i log e altri artefatti creati quando si utilizza Elastic Beanstalk.
-
CloudWatch Allarmi Amazon: due CloudWatch allarmi che monitorano il carico sulle istanze nel tuo ambiente e vengono attivati se il carico è troppo alto o troppo basso. Quando viene attivato un allarme, il gruppo Auto Scaling aumenta o diminuisce di conseguenza.
-
CloudFormation stack: Elastic Beanstalk utilizza CloudFormation per avviare le risorse nel tuo ambiente e propagare le modifiche alla configurazione. Le risorse sono definite in un modello, visualizzabile nella console CloudFormation
. -
Nome di dominio: un nome di dominio che reindirizza alla tua app web nel modulo.
subdomainregion.elasticbeanstalk.com.
Elastic Beanstalk gestisce tutte queste risorse. Quando arresti l'ambiente, Elastic Beanstalk termina tutte le risorse che contiene.
Fasi successive
Quando disponi di un'applicazione in esecuzione in un ambiente, puoi distribuire una nuova versione dell'applicazione o un'applicazione diversa in qualsiasi momento. La distribuzione di una nuova versione dell'applicazione è molto veloce perché non richiede il provisioning o il riavvio delle istanze EC2. Puoi anche esplorare il tuo nuovo ambiente utilizzando la console Elastic Beanstalk. Per i passaggi dettagliati, consulta Esplora il tuo ambiente nel capitolo Guida introduttiva di questa guida.
Dopo aver distribuito una o due applicazioni di esempio e essere pronti per iniziare a sviluppare ed eseguire .NET Core su applicazioni Linux in locale, consultaConfigurazione del core.NET nell'ambiente di sviluppo Linux per Elastic Beanstalk.
Esegui l'implementazione con la console Elastic Beanstalk
Puoi anche utilizzare la console Elastic Beanstalk per avviare l'applicazione di esempio. Per i passaggi dettagliati, consulta Creare un'applicazione di esempio nel capitolo Guida introduttiva di questa guida.