

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: distribuzione di un'applicazione.NET Core su Windows su Elastic Beanstalk
<a name="dotnet-quickstart"></a>

Questo QuickStart tutorial illustra il processo di creazione di un'applicazione.NET Core per Windows e la sua distribuzione in un AWS Elastic Beanstalk ambiente.

**Non per uso in produzione**  
Gli esempi sono solo a scopo dimostrativo. Non utilizzare applicazioni di esempio in produzione.

**Topics**
+ [Il tuo AWS account](#dotnet-quickstart-aws-account)
+ [Prerequisiti](#dotnet-quickstart-prereq)
+ [Passaggio 1: Creare un'applicazione.NET Core per Windows](#dotnet-quickstart-create-app)
+ [Passaggio 2: Esegui l'applicazione localmente](#dotnet-quickstart-run-local)
+ [Fase 3: Distribuire l'applicazione.NET Core su Windows con l'EB CLI](#dotnet-quickstart-deploy)
+ [Fase 4: Esegui l'applicazione su Elastic Beanstalk](#dotnet-quickstart-run-eb-ap)
+ [Fase 5: rimozione](#go-tutorial-cleanup)
+ [AWS risorse per la tua applicazione](#dotnet-quickstart-eb-resources)
+ [Fasi successive](#dotnet-quickstart-next-steps)
+ [Esegui la distribuzione con la console Elastic Beanstalk](#dotnet-quickstart-console)

## Il tuo AWS account
<a name="dotnet-quickstart-aws-account"></a>

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

Se hai già un AWS account, puoi passare a. [Prerequisiti](#dotnet-quickstart-prereq)

### Crea un AWS account
<a name="dotnet-quickstart-aws-account-procedure"></a>

#### Registrati per un Account AWS
<a name="sign-up-for-aws"></a>

Se non ne hai uno 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.](https://portal.aws.amazon.com/billing/signup)

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Quando ti iscrivi a un Account AWS, *Utente root dell'account AWS*viene creato un. L’utente root dispone dell’accesso a tutte le risorse e tutti i Servizi AWS 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

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/](https://aws.amazon.com/)e scegliendo **Il mio account**.

#### Crea un utente con accesso amministrativo
<a name="create-an-admin"></a>

Dopo esserti registrato Account AWS, proteggi Utente root dell'account AWS AWS IAM Identity Center, abilita 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 [Console di gestione AWS](https://console.aws.amazon.com/)come proprietario dell'account scegliendo **Utente root** e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

   Per informazioni sull’accesso utilizzando un utente root, consulta la pagina [Accedere come utente root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) nella *Guida per l’utente di Accedi ad AWS *.

1. Abilita l’autenticazione a più fattori (MFA) per l’utente root.

   Per istruzioni, consulta [Abilitare un dispositivo MFA virtuale per l'utente Account AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) nella Guida per l'*utente IAM*.

**Crea un utente con accesso amministrativo**

1. Abilita il Centro identità IAM.

   Per istruzioni, consulta [Abilitazione del AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) nella *Guida per l’utente di AWS IAM Identity Center *.

1. Nel Centro identità IAM, assegna l’accesso amministrativo a un utente.

   Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta [Configurare l'accesso utente con l'impostazione predefinita IAM Identity Center directory](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) nella *Guida per l'AWS IAM Identity Center utente*.

**Accesso come utente amministratore**
+ Per accedere come utente del Centro identità IAM, utilizza l’URL di accesso che è stato inviato al tuo indirizzo e-mail quando hai creato l’utente del Centro identità IAM.

  Per informazioni sull'accesso utilizzando un utente IAM Identity Center, consulta [AWS Accedere al portale di accesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) nella *Guida per l'Accedi ad AWS utente*.

**Assegnazione dell’accesso ad altri utenti**

1. Nel Centro identità IAM, crea un set di autorizzazioni conforme alla best practice per l’applicazione di autorizzazioni con il privilegio minimo.

   Segui le istruzioni riportate nella pagina [Creazione di un set di autorizzazioni](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) nella *Guida per l’utente di AWS IAM Identity Center *.

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

   Per istruzioni, consulta [Aggiungere gruppi](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) nella *Guida per l’utente di AWS IAM Identity Center *.

## Prerequisiti
<a name="dotnet-quickstart-prereq"></a>

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.

```
C:\eb-project> this is a command
this is output
```

### CLI EB
<a name="dotnet-quickstart-prereq.ebcli"></a>

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)](eb-cli3.md#eb-cli3-install) e [Configurazione dell'interfaccia a riga di comando EB](eb-cli3-configuration.md).

### .NET Core su Windows
<a name="dotnet-quickstart-prereq.runtime"></a>

Se non hai installato .NET SDK sul tuo computer locale, puoi installarlo seguendo il link [Download.NET](https://dotnet.microsoft.com/en-us/download) sul sito Web della [documentazione .NET](https://learn.microsoft.com/en-us/dotnet/).

Verifica l'installazione di.NET SDK eseguendo il comando seguente.

```
C:\> dotnet --info
```

## Passaggio 1: Creare un'applicazione.NET Core per Windows
<a name="dotnet-quickstart-create-app"></a>

Crea una directory di progetto.

```
C:\> mkdir eb-dotnetcore
C:\> cd eb-dotnetcore
```

Quindi, crea un esempio di applicazione di servizio RESTful web Hello World eseguendo i seguenti comandi.

```
C:\eb-dotnetcore> dotnet new web --name HelloElasticBeanstalk
C:\eb-dotnetcore> cd HelloElasticBeanstalk
```

## Passaggio 2: Esegui l'applicazione localmente
<a name="dotnet-quickstart-run-local"></a>

Esegui il comando seguente per eseguire l'applicazione localmente.

```
C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet run
```

L'output dovrebbe avere un aspetto simile al testo seguente.

```
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:7222
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5228
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]
      Content root path: C:\Users\Administrator\eb-dotnetcore\HelloElasticBeanstalk
```

**Nota**  
Il `dotnet` comando seleziona una porta a caso quando si esegue l'applicazione localmente. In questo esempio la porta è 5228. Quando distribuisci l'applicazione nell'ambiente Elastic Beanstalk, l'applicazione verrà eseguita sulla porta 5000.

Inserisci l'indirizzo URL `http://localhost:{{port}}` nel tuo browser web. Per questo esempio specifico, il comando è`http://localhost:5228`. Il browser web dovrebbe visualizzare «Hello World\!».

## Fase 3: Distribuire l'applicazione.NET Core su Windows con l'EB CLI
<a name="dotnet-quickstart-deploy"></a>

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

 

**Per creare un ambiente e distribuire l'applicazione.NET Core su Windows**

1. Esegui i seguenti comandi nella `HelloElasticBeanstalk` directory per pubblicare e comprimere l'applicazione.

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet publish -o site
   C:\eb-dotnetcore\HelloElasticBeasntalk> cd site
   C:\eb-dotnetcore\HelloElasticBeasntalk\site> Compress-Archive -Path * -DestinationPath ../site.zip
   C:\eb-dotnetcore\HelloElasticBeasntalk\site> cd ..
   ```

1. Crea un nuovo file nel file `HelloElasticBeanstalk` chiamato `aws-windows-deployment-manifest.json` con il seguente contenuto: 

   ```
   {
       "manifestVersion": 1,
       "deployments": {
           "aspNetCoreWeb": [
           {
               "name": "test-dotnet-core",
               "parameters": {
                   "appBundle": "site.zip",
                   "iisPath": "/",
                   "iisWebSite": "Default Web Site"
               }
           }
           ]
       }
   }
   ```

1. Inizializza il repository della CLI EB con il comando **eb init**.

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> eb init -p iis dotnet-windows-server-tutorial --region {{us-east-2}}
   ```

   Questo comando crea un'applicazione denominata `dotnet-windows-server-tutorial` e configura il repository locale per creare ambienti con l'ultima versione della piattaforma server Windows.

1. 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.

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> eb create dotnet-windows-server-env
   ```

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

## Fase 4: Esegui l'applicazione su Elastic Beanstalk
<a name="dotnet-quickstart-run-eb-ap"></a>

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

```
C:\eb-dotnetcore\HelloElasticBeasntalk> eb open
```

Complimenti\! Hai distribuito un'applicazione.NET Core su Windows con Elastic Beanstalk\! Si aprirà una finestra del browser che utilizza il nome di dominio creato per l'applicazione.

## Fase 5: rimozione
<a name="go-tutorial-cleanup"></a>

Puoi chiudere il tuo ambiente quando finisci di lavorare con l'applicazione. Elastic Beanstalk AWS interrompe tutte le risorse associate all'ambiente.

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

```
C:\eb-dotnetcore\HelloElasticBeasntalk> eb terminate
```

## AWS risorse per la tua applicazione
<a name="dotnet-quickstart-eb-resources"></a>

Hai appena creato un'applicazione a istanza singola. Funge da semplice applicazione di esempio con una singola istanza EC2, quindi non richiede il bilanciamento del carico o la scalabilità automatica. 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 CloudFormation Beanstalk utilizza per avviare le risorse nell'ambiente e propagare le modifiche alla configurazione. Le risorse sono definite in un modello, visualizzabile nella [console CloudFormation](https://console.aws.amazon.com/cloudformation).
+  **Nome di dominio***: un nome di dominio che indirizza 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.

## Fasi successive
<a name="dotnet-quickstart-next-steps"></a>

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](GettingStarted.md#GettingStarted.Explore) nel capitolo *Guida introduttiva* di questa guida.

**Prova altri tutorial**  
Se desideri provare altri tutorial con diverse applicazioni di esempio, consulta. [QuickStart per ASP.NET](aspnet-quickstart.md)

Dopo aver distribuito una o due applicazioni di esempio e essere pronti per iniziare a sviluppare ed eseguire localmente .NET Core su applicazioni Windows, vedi [Configurazione dell'ambiente di sviluppo .NET](dotnet-devenv.md) 

## Esegui la distribuzione con la console Elastic Beanstalk
<a name="dotnet-quickstart-console"></a>

Puoi anche utilizzare la console Elastic Beanstalk per avviare l'applicazione di esempio. Per i passaggi dettagliati, consulta [Creare un'applicazione di esempio](GettingStarted.md#GettingStarted.CreateApp) nel capitolo *Guida introduttiva* di questa guida.