QuickStart: Implementa un. NETApplicazione Core su Linux per Elastic Beanstalk - AWS Elastic Beanstalk

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: Implementa un. NETApplicazione Core su Linux per Elastic Beanstalk

Questo QuickStart tutorial ti guida attraverso il processo di creazione di un. NETEsegui il core su un'applicazione Linux e la distribuisci su un AWS Elastic Beanstalk ambiente.

Nota

Questo QuickStart tutorial è destinato a scopi dimostrativi. Non utilizzate l'applicazione creata in questo tutorial per il traffico di produzione.

La tua AWS account

Se non lo sei già AWS cliente, devi creare un AWS conto. La registrazione ti consente di accedere a Elastic Beanstalk e ad altri AWS i servizi di cui hai bisogno.

Se hai già un AWS account, puoi passare aPrerequisiti.

Iscriviti per un Account AWS

Se non hai un Account AWS, completa i seguenti passaggi per crearne uno.

Per iscriverti a un Account AWS
  1. Apri la https://portal.aws.amazon.com/billing/registrazione.

  2. Segui le istruzioni online.

    Nel corso della procedura di registrazione riceverai una telefonata, durante la quale sarà necessario inserire un codice di verifica attraverso la tastiera del telefono.

    Quando ti iscrivi a un Account AWS, un Utente root dell'account AWSviene creato. L'utente root ha accesso a tutti Servizi AWS e le risorse presenti nell'account. Come best practice di sicurezza, assegna l'accesso amministrativo a un utente e utilizza solo l'utente root per eseguire attività che richiedono l'accesso di un utente root.

AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a https://aws.amazon.com/e scegliendo Il mio account.

Crea un utente con accesso amministrativo

Dopo esserti registrato per un Account AWS, proteggi il tuo Utente root dell'account AWS, abilita AWS IAM Identity Center e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

Proteggi i tuoi Utente root dell'account AWS
  1. Accedi a AWS Management Consolecome proprietario dell'account selezionando Utente root e inserendo il Account AWS indirizzo email. Nella pagina successiva, inserisci la password.

    Per informazioni sull'accesso tramite utente root, consulta Accesso come utente root in Accedi ad AWS Guida per l'utente.

  2. Attiva l'autenticazione a più fattori (MFA) per il tuo utente root.

    Per istruzioni, consulta Abilitare un MFA dispositivo virtuale per Account AWS utente root (console) nella Guida per l'IAMutente.

Crea un utente con accesso amministrativo
  1. Abilita IAM Identity Center.

    Per istruzioni, vedi Abilitazione AWS IAM Identity Center nella AWS IAM Identity Center Guida per l'utente.

  2. In IAM Identity Center, concedi l'accesso amministrativo a un utente.

    Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, vedi Configurare l'accesso utente con l'impostazione predefinita IAM Identity Center directory nella AWS IAM Identity Center Guida per l'utente.

Accesso come utente amministratore
  • Per accedere con il tuo utente IAM Identity Center, utilizza l'accesso URL che ti è stato inviato al tuo indirizzo e-mail quando hai creato l'utente IAM Identity Center.

    Per informazioni sull'accesso tramite un utente di IAM Identity Center, vedi Accesso a AWS accedere al portale in Accedi ad AWS Guida per l'utente.

Assegna l'accesso a ulteriori utenti
  1. In IAM Identity Center, crea un set di autorizzazioni che segua la migliore pratica di applicazione delle autorizzazioni con privilegi minimi.

    Per istruzioni, vedere Creare un set di autorizzazioni nella AWS IAM Identity Center Guida per l'utente.

  2. Assegna al gruppo prima gli utenti e poi l'accesso con autenticazione unica (Single Sign-On).

    Per istruzioni, consulta Aggiungere gruppi nella AWS IAM Identity Center Guida per l'utente.

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 ottenere una versione integrata con Windows di Ubuntu e Bash.

EB CLI

Questo tutorial utilizza l'Elastic Beanstalk Command Line Interface (EB). CLI Per i dettagli sull'installazione e la configurazione dell'EBCLI, consulta e. Installazione dell'interfaccia a riga di comando di Elastic Beanstalk Configurazione dell'interfaccia a riga di comando EB

. NETCore su Linux

Se non hai il. NETSDKinstallato sul tuo computer locale, puoi installarlo seguendo il Download. NETlink sul. NETsito web di documentazione.

Verifica il tuo. NETSDKinstallazione eseguendo il comando seguente.

~$ dotnet --info

Fase 1: Creare un file. NETApplicazione 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 comando seguente per eseguire l'applicazione localmente.

~/eb-dotnetcore/HelloElasticBeasntalk$ dotnet run

L'output dovrebbe avere un aspetto simile 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 si esegue l'applicazione localmente. In questo esempio la porta è 5052. Quando distribuisci l'applicazione nell'ambiente Elastic Beanstalk, l'applicazione verrà eseguita sulla porta 5000.

Inserisci l'URLindirizzo http://localhost:port nel tuo browser web. Per questo esempio specifico, il comando èhttp://localhost:5052. Il browser web dovrebbe visualizzare «Hello World!».

Passo 3: Implementa il tuo. NETApplicazione Core su Linux con EB CLI

Esegui i seguenti comandi per creare un ambiente Elastic Beanstalk per questa applicazione.

Per creare un ambiente e distribuire il tuo. NETApplicazione Core su Linux
  1. Compila e pubblica l'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
  2. Vai alla directory del sito in cui hai appena pubblicato l'app.

    ~/eb-dotnetcore/HelloElasticBeanstalk$ cd site
  3. Inizializza il tuo CLI repository EB con il eb init comando.

    Tieni presente i seguenti dettagli relativi alla versione del ramo della piattaforma specificata nel comando:

    • x.y.zSostituitelo nel comando seguente con la versione più recente del ramo della piattaforma. NET6 su AL2 2023.

    • Per individuare la versione più recente di Platform Branch, vedere. NETCore su Linux. Piattaforme supportate in AWS Elastic Beanstalk Guida alle 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-vx.y.z-running-.net-6 dotnetcore-tutorial --region us-east-2 Application dotnetcore-tutorial has been created.

    Questo comando crea un'applicazione denominata dotnetcore-tutorial e configura il repository locale per creare ambienti con. NETCore sulla versione della piattaforma Linux specificata nel comando.

  4. (Facoltativo) Esegui eb init nuovamente per configurare una coppia di key pair predefinita SSH da utilizzare per connetterti all'EC2istanza che esegue l'applicazione.

    ~eb-dotnetcore/HelloElasticBeanstalk/site$ eb init Do you want to set up SSH for your instances? (y/n): y Select 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.

  5. 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-tutorial

    Elastic Beanstalk impiega circa cinque minuti per creare l'ambiente.

Fase 4: Esegui l'applicazione su Elastic Beanstalk

Una volta completato il processo di creazione dell'ambiente, apri il sito Web con. eb open

~eb-dotnetcore/HelloElasticBeanstalk/site$ eb open

Complimenti! Hai implementato un. NETApplicazione 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

È possibile chiudere l'ambiente quando si finisce di lavorare con l'applicazione. Elastic Beanstalk termina tutto AWS risorse associate al tuo ambiente.

Per terminare l'ambiente Elastic Beanstalk con CLI EB, esegui il comando seguente.

~eb-dotnetcore/HelloElasticBeanstalk/site$ eb terminate

AWS risorse per la tua applicazione

Hai appena creato un'applicazione a istanza singola. Funge da semplice applicazione di esempio con una singola EC2 istanza, quindi non richiede il bilanciamento del carico o la scalabilità automatica. Per le applicazioni a istanza singola, Elastic Beanstalk crea quanto segue: AWS risorse:

  • EC2istanza: una macchina EC2 virtuale Amazon configurata per eseguire app Web sulla piattaforma scelta.

    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 dell'istanza: un gruppo EC2 di sicurezza Amazon configurato per consentire il traffico in entrata sulla porta 80. Questa risorsa consente al HTTP traffico proveniente dal sistema di bilanciamento del carico di raggiungere l'EC2istanza su cui è in esecuzione la tua 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.

  • AWS CloudFormation stack — Elastic Beanstalk utilizza AWS CloudFormation per avviare le risorse nell'ambiente e propagare le modifiche alla configurazione. Le risorse sono definite in un modello che è possibile visualizzare nella AWS CloudFormation console.

  • Nome di dominio: un nome di dominio che viene indirizzato alla tua app Web nel modulo subdomain.region.elasticbeanstalk.com.

Elastic Beanstalk gestisce tutte queste risorse. Quando arresti l'ambiente, Elastic Beanstalk termina tutte le risorse che contiene.

Passaggi successivi

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 rapida 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 dopo essere stati pronti per iniziare lo sviluppo e l'esecuzione. NETCore su applicazioni Linux a livello locale, vediConfigurare il tuo. NETcore sull'ambiente di sviluppo Linux per Elastic Beanstalk.

Esegui la distribuzione 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.