

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

# Utilizzo del core Elastic Beanstalk.NET su piattaforma Linux
<a name="dotnet-linux-platform"></a>

Questo argomento descrive come configurare, creare ed eseguire il core.NET su applicazioni Linux su Elastic Beanstalk.

AWS Elastic Beanstalk supporta una serie di rami di piattaforma per diverse versioni del framework.NET Core eseguite sul sistema operativo Linux. Per un elenco completo, consulta [.NET core su Linux](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.dotnetlinux) nella sezione *AWS Elastic Beanstalk Piattaforme*.

Per informazioni dettagliate sui vari modi in cui è possibile estendere una piattaforma Elastic Beanstalk basata su Linux, consulta [Estensione delle piattaforme Elastic Beanstalk Linux](platforms-linux-extend.md). 

## Considerazioni su .NET Core sulla piattaforma Linux
<a name="dotnet-linux-platform.intro"></a>

### Server proxy
<a name="dotnet-linux-platform.proxy"></a>

Elastic Beanstalk .NET Core su piattaforma Linux include un proxy inverso che inoltra le richieste alla tua applicazione. Per impostazione predefinita, Elastic [Beanstalk](https://www.nginx.com/) utilizza NGINX come server proxy. Puoi scegliere di non usare alcun server proxy e configurare [Kestrel](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel) come server web. Kestrel è incluso per impostazione predefinita nei modelli di progetto ASP.NET Core.

### Struttura di un’applicazione
<a name="dotnet-linux-platform.publish-apps"></a>

Puoi pubblicare applicazioni *dipendenti da runtime* che utilizzano il runtime .NET Core fornito da Elastic Beanstalk. È inoltre possibile pubblicare applicazioni *autonome* che includono il runtime .NET Core e le dipendenze dell'applicazione nel bundle di origine. Per ulteriori informazioni, consulta [Raggruppamento di applicazioni per.NET Core sulla piattaforma Linux Elastic Beanstalk](dotnet-linux-platform-bundle-app.md).

### Configurazione della piattaforma
<a name="dotnet-linux-platform.configuration"></a>

Per configurare i processi in esecuzione nelle istanze del server nell'ambiente, includi un oggetto [Procfile](dotnet-linux-procfile.md) opzionale nel bundle di origine. Un `Procfile` è necessario se si dispone di più di un'applicazione nel bundle di origine.

Si consiglia di fornire sempre un `Procfile` nel bundle di origine insieme all'applicazione. In questo modo puoi controllare con precisione quali processi vengono eseguiti da Elastic Beanstalk per la tua applicazione.

Sono disponibili opzioni di configurazione specifiche della piattaforma nella console Elastic Beanstalk per la [modifica della configurazione di un ambiente in esecuzione](environment-configuration-methods-after.md). Per conservare la configurazione dell'ambiente una volta terminata, puoi utilizzare [configurazioni salvate](environment-configuration-savedconfig.md) per salvare le impostazioni e applicarle successivamente a un altro ambiente.

Per salvare le impostazioni nel codice sorgente, puoi includere i [file di configurazione](ebextensions.md). Le impostazioni nei file di configurazione vengono applicate ogni volta che crei un ambiente o distribuisci l'applicazione. Puoi inoltre utilizzare i file di configurazione per installare pacchetti, eseguire script o altre operazioni di personalizzazione delle istanze durante le distribuzioni.

Le impostazioni applicate nella console Elastic Beanstalk sostituiscono le stesse impostazioni nei file di configurazione, se esistenti. Ciò ti consente di disporre di impostazioni predefinite nei file di configurazione, sostituibili con impostazioni specifiche per l'ambiente nella console. Per ulteriori informazioni sulla precedenza e altri metodi di modifica delle impostazioni, consulta [Opzioni di configurazione](command-options.md).

## Configurazione dell'ambiente .NET Core su Linux
<a name="dotnet-linux-options"></a>

Le impostazioni di NET Core su piattaforma Linux consentono di ottimizzare il comportamento delle istanze Amazon EC2. Puoi modificare la configurazione dell'istanza Amazon EC2 dell'ambiente Elastic Beanstalk utilizzando la console Elastic Beanstalk.

Utilizza la console Elastic Beanstalk per attivare la rotazione dei log in Amazon S3 e configurare variabili che l'applicazione è in grado di leggere dall'ambiente.

**Per configurare l'ambiente .NET Core su Linux utilizzando la console Elastic Beanstalk**

1. Apri la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) e, **nell'elenco Regioni, seleziona la tua**. Regione AWS

1. Nel pannello di navigazione selezionare **Environments** (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

1. Nel riquadro di navigazione, seleziona **Configuration** (Configurazione).

1. Nella categoria di configurazione **Updates, monitoring, and logging** (Aggiornamenti, monitoraggio e registrazione), scegli **Edit** (Modifica).

### Opzioni di log
<a name="dotnet-linux-logs"></a>

La sezione **Log Options (Opzioni di log)** ha due impostazioni:
+ **Instance profile** (Profilo dell'istanza): specifica il profilo dell'istanza che dispone dell'autorizzazione ad accedere al bucket Amazon S3 associato all'applicazione.
+ **Enable log file rotation to Amazon S3** (Abilita rotazione file di log in Amazon S3): specifica se i file di log per le istanze Amazon EC2 dell'applicazione debbano essere copiati nel bucket Amazon S3 associato all'applicazione.

### Proprietà dell'ambiente
<a name="dotnet-linux-options-properties"></a>

La sezione **Environment Properties** (Proprietà di ambiente) consente di specificare le impostazioni di configurazione dell'ambiente nelle istanze Amazon EC2 che eseguono l'applicazione. Le proprietà di ambiente sono passate come coppie chiave-valore all'applicazione.

All'interno dell'ambiente .NET Core su Linux in esecuzione in Elastic Beanstalk, le variabili di ambiente sono accessibili tramite la funzione `Environment.GetEnvironmentVariable("variable-name")`. Ad esempio, è possibile leggere una proprietà denominata `API_ENDPOINT` su una variabile con il codice seguente.

```
string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");
```

Per ulteriori informazioni, consultare [Variabili di ambiente e altre impostazioni software](environments-cfg-softwaresettings.md).

## NET Core nello spazio dei nomi di configurazione Linux
<a name="dotnet-linux-namespace"></a>

È possibile utilizzare un [file di configurazione](ebextensions.md) per impostare le opzioni di configurazione ed eseguire alte attività di configurazione delle istanze durante le distribuzioni. Le opzioni di configurazione possono essere [specifiche della piattaforma](command-options-specific.md) o essere applicate a [tutte le piattaforme](command-options-general.md) del servizio Elastic Beanstalk nel suo complesso. *Le opzioni di configurazione sono organizzate in namespace.*

Oltre alle [opzioni supportate per tutti gli ambienti Elastic Beanstalk](command-options-general.md), la piattaforma .NET Core su Linux supporta quelle incluse negli spazi dei nomi seguenti:
+ `aws:elasticbeanstalk:environment:proxy`— Scegli di usare NGINX o nessun server proxy. I valori validi sono `nginx` e `none`.

L'esempio di file di configurazione seguente mostra l'utilizzo delle opzioni di configurazione specifiche di .NET Core su Linux. 

**Example .ebextensions/proxy-settings.config**  

```
option_settings:
  aws:elasticbeanstalk:environment:proxy:
    ProxyServer: none
```

In Elastic Beanstalk sono disponibili varie opzioni di configurazione per la personalizzazione dell'ambiente. Oltre ai file di configurazione, puoi impostare le opzioni di configurazione tramite la console, le configurazioni salvate, la CLI EB o AWS CLI. Per ulteriori informazioni, consulta [Opzioni di configurazione](command-options.md).