

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usar o Elastic Beanstalk .NET Core na plataforma Linux
<a name="dotnet-linux-platform"></a>

Este tópico descreve como configurar, criar e executar suas aplicações .NET Core no Linux no Elastic Beanstalk.

AWS Elastic Beanstalk oferece suporte a várias ramificações de plataforma para diferentes versões do framework do.NET Core que são executadas no sistema operacional Linux. Consulte [.NET Core no Linux](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.dotnetlinux) em *Plataformas do AWS Elastic Beanstalk * para obter uma lista completa.

Para obter detalhes sobre as várias maneiras de estender uma plataforma do Elastic Beanstalk baseada em Linux, consulte [Estender as plataformas Linux do Elastic Beanstalk](platforms-linux-extend.md). 

## Considerações sobre o .NET Core na plataforma Linux
<a name="dotnet-linux-platform.intro"></a>

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

A plataforma .NET Core no Linux do Elastic Beanstalk inclui um proxy reverso que encaminha solicitações para a aplicação. Por padrão, o Elastic Beanstalk usa [NGINX](https://www.nginx.com/) como servidor de proxy. É possível optar por não usar nenhum servidor de proxy e configurar o [Kestrel](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel) como o servidor Web. O Kestrel é incluído por padrão em modelos de projeto ASP.NET Core.

### Estrutura do aplicativo
<a name="dotnet-linux-platform.publish-apps"></a>

É possível publicar aplicações *dependentes do runtime* que usam o runtime do .NET Core fornecido pelo Elastic Beanstalk. Você também pode publicar aplicativos *independentes* que incluem o runtime do .NET Core e as dependências do aplicativo no pacote de origem. Para saber mais, consulte [Agrupamento de aplicações para o .NET Core na plataforma Linux Elastic Beanstalk](dotnet-linux-platform-bundle-app.md).

### Configuração da plataforma
<a name="dotnet-linux-platform.configuration"></a>

Para configurar os processos que são executados em instâncias do servidor em seu ambiente, inclua um [Procfile](dotnet-linux-procfile.md) opcional em seu pacote de origem. Um `Procfile` será necessário se você tiver mais de um aplicativo no pacote de origem.

Recomendamos sempre fornecer um `Procfile` no pacote de origem juntamente com o aplicativo. Dessa forma, você controla com precisão quais processos o Elastic Beanstalk executa para a aplicação.

As opções de configuração estão disponíveis no console do Elastic Beanstalk para [modificar a configuração de um ambiente em execução](environment-configuration-methods-after.md). Para evitar a perda da configuração do ambiente quando você terminá-la, você pode usar [configurações salvas](environment-configuration-savedconfig.md) para salvar as configurações e depois aplicá-las a outro ambiente.

Para salvar as configurações no código-fonte, você pode incluir [arquivos de configuração](ebextensions.md). As definições em arquivos de configuração são aplicadas sempre que você cria um ambiente ou implementa a aplicação. Você também pode usar arquivos de configuração para instalar pacotes, executar scripts e realizar outras operações de personalização da instância em implantações.

As configurações aplicadas no console do Elastic Beanstalk substituem as mesmas configurações em arquivos de configuração, caso elas existam. Isso permite que você tenha configurações padrão em arquivos de configuração e as substitua por configurações específicas de ambiente no console. Para obter mais informações sobre precedência e outros métodos de alteração das configurações, consulte [Opções de configuração](command-options.md).

## Configurar o ambiente .NET Core no Linux
<a name="dotnet-linux-options"></a>

As configurações da plataforma .NET Core no Linux permitem ajustar o comportamento das instâncias do Amazon EC2. É possível editar a configuração da instância do Amazon EC2 do ambiente do Elastic Beanstalk usando o console do Elastic Beanstalk.

Você pode usar o console do Elastic Beanstalk para habilitar a alternância de logs para o Amazon S3 e configurar variáveis que sua aplicação pode ler no ambiente.

**Como configurar o ambiente .NET Core no Linux usando o console do Elastic Beanstalk**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

1. No painel de navegação, selecione **Ambientes** e selecione o nome do ambiente na lista.

1. No painel de navegação, escolha **Configuration (Configuração)**.

1. Na categoria de configuração **Updates, monitoring, and logging (Atualizações, monitoramento e logs)**, escolha **Edit (Editar)**.

### Opções de log
<a name="dotnet-linux-logs"></a>

A seção **Log Options (Opções de log)** tem duas configurações:
+ **Instance profile (Perfil da instância)**: especifica o perfil da instância que tem permissão para acessar o bucket do Amazon S3 associado à sua aplicação.
+ **Enable log file rotation to Amazon S3** (Habilitar a rotação de arquivos de log para o Amazon S3): especifica se os arquivos de log das instâncias do Amazon EC2 da aplicação serão copiados para o bucket do Amazon S3 associado a ela.

### Propriedades de ambiente
<a name="dotnet-linux-options-properties"></a>

A seção **Environment Properties (Propriedades do ambiente)** permite especificar definições de configuração do ambiente nas instâncias do Amazon EC2 que estão executando a aplicação. As propriedades de ambiente são passadas para o aplicativo como pares de chave-valor.

No ambiente .NET Core no Linux em execução no Elastic Beanstalk, as variáveis de ambiente podem ser acessadas usando `Environment.GetEnvironmentVariable("{{variable-name}}")`. Por exemplo, você pode ler uma propriedade denominada `API_ENDPOINT` em uma variável com o seguinte código.

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

Consulte [Variáveis de ambiente e outras configurações de software](environments-cfg-softwaresettings.md) para obter mais informações.

## Namespace de configuração do .NET Core no Linux
<a name="dotnet-linux-namespace"></a>

Você pode usar um [arquivo de configuração](ebextensions.md) para definir opções de configuração e executar outras tarefas de configuração de instância durante implantações. Opções de configuração podem ser [específicas da plataforma](command-options-specific.md) ou aplicáveis a [todas as plataformas](command-options-general.md) no serviço Elastic Beanstalk como um todo. As opções de configuração são organizadas em *namespaces*.

A plataforma .NET Core no Linux é compatível com opções no namespace a seguir, além das [opções compatíveis com todos os ambientes do Elastic Beanstalk](command-options-general.md):
+ `aws:elasticbeanstalk:environment:proxy`: escolha usar NGINX ou nenhum servidor de proxy. Os valores válidos são `nginx` ou `none`.

O arquivo de configuração demonstrativo a seguir mostra o uso das opções de configuração específicas do .NET Core no Linux. 

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

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

O Elastic Beanstalk oferece muitas opções de configuração para personalizar o ambiente. Além de arquivos de configuração, você também pode definir opções de configuração usando o console, configurações salvas, a EB CLI ou a AWS CLI. Consulte [Opções de configuração](command-options.md) para obter mais informações.