

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

# Implantar aplicações .NET Windows com o Elastic Beanstalk
<a name="create_deploy_NET"></a>

**Confira *o.NET no AWS Developer Center***  
  
Você já passou por nosso *Centro de desenvolvedores .Net*? É nosso balcão único para tudo o que está ligado a o.NET AWS.  
Para obter mais informações, consulte [o.NET no AWS Developer Center](https://aws.amazon.com/developer/language/net).

Este capítulo fornece instruções para configurar e implantar seus aplicativos Web ASP.NET e .NET Core do Windows em. AWS Elastic Beanstalk O Elastic Beanstalk facilita a implantação, o gerenciamento e o dimensionamento de aplicações Web .NET Windows usando a Amazon Web Services.

Você pode implantar sua aplicação em apenas alguns minutos usando a Interface de Linha de Comando (EB CLI) do Elastic Beanstalk ou o console do Elastic Beanstalk. Depois de implantar seu aplicativo Elastic Beanstalk, você pode continuar usando o EB CLI para gerenciar seu aplicativo e ambiente, ou você pode usar o console do Elastic Beanstalk, ou o. AWS CLI APIs

Este capítulo fornece estes seguintes:
+ [QuickStart para o.NET Core no Windows](dotnet-quickstart.md)— Step-by-step instruções para criar e implantar um aplicativo *Hello World* .NET Core Windows usando o EB CLI.
+ [QuickStart para ASP.NET](aspnet-quickstart.md)— Step-by-step instruções para criar e implantar um aplicativo *Hello World* ASP.NET usando o. AWS Toolkit for Visual Studio

Se precisar de ajuda com o desenvolvimento de aplicações .NET Core Windows, há vários lugares onde você pode ir:
+  [Fórum de desenvolvimento .NET](https://forums.aws.amazon.com/forum.jspa?forumID=61): poste suas perguntas e receba feedback.
+ [Centro de desenvolvedores .NET](https://aws.amazon.com/net/): parada única para código de amostra, documentação, ferramentas e recursos adicionais.
+ AWS Documentação do [SDK for .NET](https://aws.amazon.com/documentation/sdk-for-net/) — Leia sobre como configurar o SDK e executar amostras de código, recursos do SDK e informações detalhadas sobre as operações de API do SDK.

**nota**  
Essa plataforma não oferece suporte a ambientes de trabalhadores. Para obter mais detalhes, consulte [Ambientes de operador do Elastic Beanstalk](using-features-managing-env-tiers.md). 

**Topics**
+ [QuickStart: Implante um aplicativo.NET Core no Windows no Elastic Beanstalk](dotnet-quickstart.md)
+ [QuickStart: Implante um aplicativo ASP.NET no Elastic Beanstalk](aspnet-quickstart.md)
+ [Configurar seu ambiente de desenvolvimento .NET](dotnet-devenv.md)
+ [Usar o Elastic Beanstalk .NET na plataforma Windows](create_deploy_NET.container.console.md)
+ [Adicionar uma instância de banco de dados do Amazon RDS ao ambiente de aplicações .NET](create_deploy_NET.rds.md)
+ [O AWS Toolkit for Visual Studio](dotnet-toolkit.md)
+ [Migrar a aplicação .NET no local para o Elastic Beanstalk](dotnet-onpremmigration.md)
+ [Recomendações para componentes retirados do Windows Server no Elastic Beanstalk](dotnet-deprecation-recommendations.md)

# QuickStart: Implante um aplicativo.NET Core no Windows no Elastic Beanstalk
<a name="dotnet-quickstart"></a>

Este QuickStart tutorial mostra o processo de criação de um aplicativo.NET Core no Windows e sua implantação em um AWS Elastic Beanstalk ambiente.

**Não é para uso em produção**  
Os exemplos são destinados apenas para demonstração. Não use aplicações de exemplo na produção.

**Topics**
+ [Sua AWS conta](#dotnet-quickstart-aws-account)
+ [Pré-requisitos](#dotnet-quickstart-prereq)
+ [Etapa 1: Criar um aplicação .NET Core no Windows](#dotnet-quickstart-create-app)
+ [Etapa 2: executar a aplicação localmente](#dotnet-quickstart-run-local)
+ [Etapa 3: implantar sua aplicação .NET Core no Windows com a EB CLI](#dotnet-quickstart-deploy)
+ [Etapa 4: executar a aplicação no Elastic Beanstalk](#dotnet-quickstart-run-eb-ap)
+ [Etapa 5: limpar](#go-tutorial-cleanup)
+ [AWS recursos para seu aplicativo](#dotnet-quickstart-eb-resources)
+ [Próximas etapas](#dotnet-quickstart-next-steps)
+ [Implantar com o console do Elastic Beanstalk](#dotnet-quickstart-console)

## Sua AWS conta
<a name="dotnet-quickstart-aws-account"></a>

Se você ainda não é AWS cliente, precisa criar uma AWS conta. A inscrição permite que você acesse o Elastic Beanstalk AWS e outros serviços necessários.

Se você já tem uma AWS conta, você pode passar para[Pré-requisitos](#dotnet-quickstart-prereq).

### Crie uma AWS conta
<a name="dotnet-quickstart-aws-account-procedure"></a>

#### Inscreva-se para um Conta da AWS
<a name="sign-up-for-aws"></a>

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

**Para se inscrever em um Conta da AWS**

1. Abra a [https://portal.aws.amazon.com/billing/inscrição.](https://portal.aws.amazon.com/billing/signup)

1. Siga as instruções online.

   Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.

   Quando você se inscreve em um Conta da AWS, um *Usuário raiz da conta da AWS*é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar [tarefas que exigem acesso de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando [https://aws.amazon.com/e](https://aws.amazon.com/) escolhendo **Minha conta**.

#### Criar um usuário com acesso administrativo
<a name="create-an-admin"></a>

Depois de se inscrever em um Conta da AWS, proteja seu Usuário raiz da conta da AWS Centro de Identidade do AWS IAM, habilite e crie um usuário administrativo para que você não use o usuário root nas tarefas diárias.

**Proteja seu Usuário raiz da conta da AWS**

1.  Faça login [Console de gerenciamento da AWS](https://console.aws.amazon.com/)como proprietário da conta escolhendo **Usuário raiz** e inserindo seu endereço de Conta da AWS e-mail. Na próxima página, insira a senha.

   Para obter ajuda ao fazer login usando o usuário-raiz, consulte [Fazer login como usuário-raiz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) no *Guia do usuário do Início de Sessão da AWS *.

1. Habilite a autenticação multifator (MFA) para o usuário-raiz.

   Para obter instruções, consulte [Habilitar um dispositivo de MFA virtual para seu usuário Conta da AWS raiz (console) no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) do *usuário do IAM*.

**Criar um usuário com acesso administrativo**

1. Habilita o Centro de Identidade do IAM.

   Para obter instruções, consulte [Habilitar o Centro de Identidade do AWS IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.

   Para ver um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como fonte de identidade, consulte [Configurar o acesso do usuário com o padrão Diretório do Centro de Identidade do IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) no *Guia Centro de Identidade do AWS IAM do usuário*.

**Iniciar sessão como o usuário com acesso administrativo**
+ Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.

  Para obter ajuda para fazer login usando um usuário do IAM Identity Center, consulte Como [fazer login no portal de AWS acesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) no *Guia Início de Sessão da AWS do usuário*.

**Atribuir acesso a usuários adicionais**

1. No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.

   Para obter instruções, consulte [Criar um conjunto de permissões](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. Atribua usuários a um grupo e, em seguida, atribua o acesso de logon único ao grupo.

   Para obter instruções, consulte [Adicionar grupos](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

## Pré-requisitos
<a name="dotnet-quickstart-prereq"></a>

Para seguir os procedimentos neste manual, você precisa de um terminal de linha de comando ou de um shell para executar os comandos. Os comandos são mostrados em lisetiquetaens precedidas por um símbolo de prompt (>) e o nome do diretório atual, quando apropriado.

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

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

Este tutorial também usa a Interface de Linhas de Comando do Elastic Beanstalk (CLI do EB). Para obter detalhes sobre a instalação e configuração da CLI do EB, consulte [Instalar a EB CLI com script de configuração (recomendado)](eb-cli3.md#eb-cli3-install) e [Configurar a EB CLI](eb-cli3-configuration.md).

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

Se não tiver o .NET SDK instalado na máquina local, você poderá instalá-lo seguindo o link [Baixar .NET](https://dotnet.microsoft.com/en-us/download) no site de [Documentação do .NET](https://learn.microsoft.com/en-us/dotnet/).

Verifique sua instalação do .NET SDK executando o comando a seguir.

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

## Etapa 1: Criar um aplicação .NET Core no Windows
<a name="dotnet-quickstart-create-app"></a>

Crie um diretório do projeto.

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

Em seguida, crie um exemplo de aplicativo de serviço RESTful web Hello World executando os comandos a seguir.

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

## Etapa 2: executar a aplicação localmente
<a name="dotnet-quickstart-run-local"></a>

Execute o seguinte comando para executar sua aplicação localmente.

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

A saída deve ser semelhante ao texto a seguir.

```
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**  
O comando `dotnet` seleciona uma porta aleatoriamente ao executar a aplicação localmente. Neste exemplo, a porta é 5228. Ao implantar a aplicação no ambiente Elastic Beanstalk, ela será executada na porta 5000.

Insira o endereço URL `http://localhost:port` no navegador. Para este exemplo específico, o comando é `http://localhost:5228`. O navegador deve exibir “Hello World\$1”.

## Etapa 3: implantar sua aplicação .NET Core no Windows com a EB CLI
<a name="dotnet-quickstart-deploy"></a>

Execute os seguintes comandos para criar um ambiente Elastic Beanstalk para essa aplicação.

 

**Para criar um ambiente e implantar sua aplicação .NET Core no Windows**

1. Execute os seguintes comandos no diretório `HelloElasticBeanstalk` para publicar e compactar sua aplicação.

   ```
   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. Crie um novo arquivo no `HelloElasticBeanstalk` chamado `aws-windows-deployment-manifest.json`com o seguinte conteúdo: 

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

1. Inicialize o repositório da EB CLI com o comando **eb init**:

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

   Esse comando cria um aplicação chamado `dotnet-windows-server-tutorial`e configura seu repositório local para criar ambientes com a versão mais recente da plataforma do Windows Server.

1. Crie um ambiente e implante o aplicativo nele com **eb create**. O Elastic Beanstalk cria automaticamente um arquivo zip para a aplicação e o inicia na porta 5000.

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

   O Elastic Beanstalk leva cerca de cinco minutos para criar seu ambiente.

## Etapa 4: executar a aplicação no Elastic Beanstalk
<a name="dotnet-quickstart-run-eb-ap"></a>

Quando o processo de criação de seu ambiente for concluído, abra seu site com **eb open**.

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

Parabéns\$1 Você implantou uma aplicação .NET Core no Windows com o Elastic Beanstalk\$1 Isso abre uma janela do navegador usando o nome de domínio criado para o seu aplicativo.

## Etapa 5: limpar
<a name="go-tutorial-cleanup"></a>

Você pode encerrar o ambiente quando terminar de trabalhar com a aplicação. O Elastic Beanstalk AWS encerra todos os recursos associados ao seu ambiente.

Para encerrar seu ambiente do Elastic Beanstalk com a CLI do EB, execute o seguinte comando.

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

## AWS recursos para seu aplicativo
<a name="dotnet-quickstart-eb-resources"></a>

Você acabou de criar uma aplicação de instância única. Ela serve como uma aplicação de exemplo simples com uma única instância do EC2 e, portanto, não requer balanceamento de carga ou ajuste de escala automático. Para aplicativos de instância única, o Elastic Beanstalk cria os seguintes recursos: AWS 
+ **Instância do EC2**: uma máquina virtual do Amazon EC2 configurada para executar aplicações Web na plataforma de sua escolha.

  Cada plataforma executa um conjunto diferente de software, arquivos de configuração e scripts para oferecer suporte a uma versão de linguagem, framework, contêiner da Web específicos ou a uma combinação deles. A maioria das plataformas usa o Apache ou nginx como um proxy reverso que processa tráfego da web na frente do aplicativo web, encaminha solicitações para ele, atende ativos estáticos e gera logs de acesso e de erro.
+ **Grupo de segurança de instância**: um grupo de segurança do Amazon EC2 configurado para permitir tráfego de entrada na porta 80. Esse recurso permite que o tráfego HTTP do load balancer chegue à instância do EC2 que executa seu aplicativo Web. Por padrão, o tráfego não é permitido em outras portas.
+ **Bucket do Amazon S3**: um local de armazenamento do seu código-fonte, logs e outros artefatos criados quando o Elastic Beanstalk é utilizado.
+ ** CloudWatch Alarmes da Amazon** — Dois CloudWatch alarmes que monitoram a carga nas instâncias em seu ambiente e são acionados se a carga for muito alta ou muito baixa. Quando um alarme é acionado, o seu grupo de Auto Scaling pode aumentar ou diminuir.
+ **CloudFormation stack** — O Elastic CloudFormation Beanstalk usa para lançar os recursos em seu ambiente e propagar as alterações de configuração. Os recursos são definidos em um modelo que você pode visualizar no [console do CloudFormation](https://console.aws.amazon.com/cloudformation).
+  **Nome de domínio** — Um nome de domínio que é direcionado para seu aplicativo da web no formulário **subdomain*. *region*.elasticbeanstalk.com*. 

O Elastic Beanstalk gerencia todos esses recursos. Quando você encerra o ambiente, o Elastic Beanstalk encerra todos os recursos dele.

## Próximas etapas
<a name="dotnet-quickstart-next-steps"></a>

Depois que um ambiente estiver executando um aplicativo, você poderá implantar uma nova versão do aplicativo ou um aplicativo diferente a qualquer momento. A implantação de uma nova versão do aplicativo é muito rápida, pois não é necessário provisionar ou reiniciar as instâncias do EC2. Também é possível explorar o novo ambiente usando o console do Elastic Beanstalk. Para conhecer as etapas detalhadas, consulte [Explore seu ambiente](GettingStarted.md#GettingStarted.Explore), no capítulo *Primeiros passos* deste guia.

**Explore mais tutoriais**  
Se quiser experimentar outros tutoriais com diferentes aplicações de exemplo, consulte [QuickStart para ASP.NET](aspnet-quickstart.md).

Depois de implantar um ou dois aplicações de amostra e estar pronto para começar a desenvolver e executar aplicações .NET Core no Windows localmente, consulte [Configurar seu ambiente de desenvolvimento .NET](dotnet-devenv.md) 

## Implantar com o console do Elastic Beanstalk
<a name="dotnet-quickstart-console"></a>

Você também pode usar o console do Elastic Beanstalk para iniciar a aplicação de exemplo. Para conhecer as etapas detalhadas, consulte [Criar uma aplicação de exemplo](GettingStarted.md#GettingStarted.CreateApp), no capítulo *Primeiros passos* deste guia.

# QuickStart: Implante um aplicativo ASP.NET no Elastic Beanstalk
<a name="aspnet-quickstart"></a>

Este QuickStart tutorial mostra o processo de criação de um aplicativo ASP.NET e sua implantação em um ambiente. AWS Elastic Beanstalk 

**Não é para uso em produção**  
Os exemplos são destinados apenas para demonstração. Não use aplicações de exemplo na produção.

**Topics**
+ [Sua AWS conta](#aspnet-quickstart-aws-account)
+ [Pré-requisitos](#aspnet-quickstart-prereq)
+ [Etapa 1: criar uma aplicação ASP.NET](#aspnet-quickstart-create-app)
+ [Etapa 2: executar a aplicação localmente](#aspnet-quickstart-run-local)
+ [Etapa 3: Implantar seu aplicativo ASP.NET com o AWS Toolkit for Visual Studio](#aspnet-quickstart-deploy)
+ [Etapa 4: executar a aplicação no Elastic Beanstalk](#aspnet-quickstart-run-eb-ap)
+ [Etapa 5: limpar](#aspnet-quickstart-cleanup)
+ [AWS recursos para seu aplicativo](#aspnet-quickstart-eb-resources)
+ [Próximas etapas](#aspnet-quickstart-next-steps)
+ [Implantar com o console do Elastic Beanstalk](#aspnet-quickstart-console)

## Sua AWS conta
<a name="aspnet-quickstart-aws-account"></a>

Se você ainda não é AWS cliente, precisa criar uma AWS conta. A inscrição permite que você acesse o Elastic Beanstalk AWS e outros serviços de que você precisa.

Se você já tem uma AWS conta, você pode passar para[Pré-requisitos](#aspnet-quickstart-prereq).

### Crie uma AWS conta
<a name="aspnet-quickstart-aws-account-procedure"></a>

#### Inscreva-se para um Conta da AWS
<a name="sign-up-for-aws"></a>

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

**Para se inscrever em um Conta da AWS**

1. Abra a [https://portal.aws.amazon.com/billing/inscrição.](https://portal.aws.amazon.com/billing/signup)

1. Siga as instruções online.

   Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.

   Quando você se inscreve em um Conta da AWS, um *Usuário raiz da conta da AWS*é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar [tarefas que exigem acesso de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando [https://aws.amazon.com/e](https://aws.amazon.com/) escolhendo **Minha conta**.

#### Criar um usuário com acesso administrativo
<a name="create-an-admin"></a>

Depois de se inscrever em um Conta da AWS, proteja seu Usuário raiz da conta da AWS Centro de Identidade do AWS IAM, habilite e crie um usuário administrativo para que você não use o usuário root nas tarefas diárias.

**Proteja seu Usuário raiz da conta da AWS**

1.  Faça login [Console de gerenciamento da AWS](https://console.aws.amazon.com/)como proprietário da conta escolhendo **Usuário raiz** e inserindo seu endereço de Conta da AWS e-mail. Na próxima página, insira a senha.

   Para obter ajuda ao fazer login usando o usuário-raiz, consulte [Fazer login como usuário-raiz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) no *Guia do usuário do Início de Sessão da AWS *.

1. Habilite a autenticação multifator (MFA) para o usuário-raiz.

   Para obter instruções, consulte [Habilitar um dispositivo de MFA virtual para seu usuário Conta da AWS raiz (console) no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) do *usuário do IAM*.

**Criar um usuário com acesso administrativo**

1. Habilita o Centro de Identidade do IAM.

   Para obter instruções, consulte [Habilitar o Centro de Identidade do AWS IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.

   Para ver um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como fonte de identidade, consulte [Configurar o acesso do usuário com o padrão Diretório do Centro de Identidade do IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) no *Guia Centro de Identidade do AWS IAM do usuário*.

**Iniciar sessão como o usuário com acesso administrativo**
+ Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.

  Para obter ajuda para fazer login usando um usuário do IAM Identity Center, consulte Como [fazer login no portal de AWS acesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) no *Guia Início de Sessão da AWS do usuário*.

**Atribuir acesso a usuários adicionais**

1. No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.

   Para obter instruções, consulte [Criar um conjunto de permissões](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. Atribua usuários a um grupo e, em seguida, atribua o acesso de logon único ao grupo.

   Para obter instruções, consulte [Adicionar grupos](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

## Pré-requisitos
<a name="aspnet-quickstart-prereq"></a>

Este QuickStart tutorial explica como criar um aplicativo “Hello World” e implantá-lo em um ambiente do Elastic Beanstalk com o Visual Studio e o. AWS Toolkit for Visual Studio

### Visual Studio
<a name="aspnet-quickstart-prereq.vs"></a>

Para fazer download e instalar o Visual Studio, siga as instruções na [página de download](https://visualstudio.microsoft.com/downloads/) do Visual Studio. Este exemplo usa o Visual Studio 2022. Durante a instalação do Visual Studio, selecione esses itens específicos:
+ Na guia **Cargas de trabalho**, selecione **ASP.NET e desenvolvimento da Web**.
+ Na guia **Componentes individuais**, selecione **Ferramentas de desenvolvimento do .NET Framework 4.8** e **Modelos de projeto e item do .NET Framework**.

### AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-prereq.aws-vs-tk"></a>

Para baixar e configurar, AWS Toolkit for Visual Studio siga as instruções no tópico [Introdução](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/getting-set-up.html) do Guia do AWS Toolkit for Visual Studio usuário. 

## Etapa 1: criar uma aplicação ASP.NET
<a name="aspnet-quickstart-create-app"></a>

Em seguida, crie uma aplicação que você implantará em um ambiente Elastic Beanstalk. Criaremos uma aplicação Web ASP.NET "Hello World".

**Para criar uma aplicação ASP.NET**

1. Inicie o Visual Studio. No menu **Arquivo**, selecione **Novo** e, em seguida, **Projeto**.

1. A caixa de diálogo **Criar um novo projeto** é exibida. Selecione **Aplicação Web ASP.NET (.NET Framework)** e selecione **Avançar**.

1. Na caixa de diálogo **Configurar seu novo projeto**, digite `eb-aspnet`como **nome do projeto**. No menu suspenso **Framework**, selecione **.NET Framework 4.8** e depois selecione **Criar**.

   Observe o diretório do projeto. Neste exemplo, o diretório do projeto é `C:\Users\Administrator\source\repos\eb-aspnet\eb-aspnet`.

1. A caixa de diálogo **Criar um nova aplicação Web ASP.NET** é exibida. Selecione o modelo **Vazio**. Em seguida, selecione **Create (Criar**).

   Neste ponto, você criou um projeto vazio de aplicação Web ASP.NET usando o Visual Studio. Em seguida, criaremos um formulário Web que servirá como ponto de entrada para a aplicação Web ASP.NET.

1. No menu **Projeto**, selecione **Adicionar novo item**. Na página **Adocionar novo item**, selecione **Web Form** e nomeie-o como `Default.aspx`. Em seguida, selecione **Adicionar**.

1. Adicione o seguinte a `Default.aspx:`

   ```
   <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="eb_aspnet.Default" %>
   
   <!DOCTYPE html>
   
   <html xmlns="https://www.w3.org/1999/xhtml">
   <head runat="server">
       <title>Hello Elastic Beanstalk!</title>
   </head>
   <body>
       <form id="body" runat="server">
           <div>
               Hello Elastic Beanstalk! This is an ASP.NET on Windows Server application.
           </div>
       </form>
   </body>
   </html>
   ```

## Etapa 2: executar a aplicação localmente
<a name="aspnet-quickstart-run-local"></a>

No Visual Studio, no menu **Depurar**, selecione **Iniciar depuração** para executar sua aplicação localmente. O navegador deve exibir “Hello Elastic Beanstalk\$1. Esta é uma aplicação ASP.NET no Windows Server."

## Etapa 3: Implantar seu aplicativo ASP.NET com o AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-deploy"></a>

Siga estas etapas para criar um ambiente Elastic Beanstalk e implantar sua nova aplicação nele.

**Para criar um ambiente e implantar sua aplicação ASP.NET**

1. No **Explorador de soluções**, clique com o botão direito do mouse na aplicação e selecione **Publicador no AWS Elastic Beanstalk**.

1. Escolha um nome para a nova aplicação e o ambiente Elastic Beanstalk.

1. Além desse ponto, você pode continuar com os padrões fornecidos pelo Elastic Beanstalk ou modificar qualquer uma das opções e configurações a seu gosto.

1. Na página **Review (Revisão** ), selecione **Deploy (Implementar**). Isso empacotará a aplicação Web ASP.NET e a implantará no Elastic Beanstalk.

   O Elastic Beanstalk leva cerca de cinco minutos para criar seu ambiente. O recurso de implantação do Elastic Beanstalk irá monitorar seu ambiente até ele se tornar disponível com o código recém-implantado. Na guia **Env:<**environment name**>**, você verá o status do seu ambiente.

## Etapa 4: executar a aplicação no Elastic Beanstalk
<a name="aspnet-quickstart-run-eb-ap"></a>

Quando o processo de criação do ambiente estiver concluído, o guia **Env:<**environment name**>** exibirá informações sobre o ambiente e a aplicação, incluindo o URL do domínio para iniciar a aplicação. Selecione este URL nesta guia ou copie e cole-o em seu navegador da Web.

Parabéns\$1 Você implantou uma aplicação ASP.NET com o Elastic Beanstalk\$1

## Etapa 5: limpar
<a name="aspnet-quickstart-cleanup"></a>

Quando terminar de trabalhar com a aplicação, você pode encerrar seu ambiente no AWS Toolkit for Visual Studio.

**Para encerrar seu ambiente**

1. Expanda o nó Elastic Beanstalk e o nó da aplicação no **AWS Explorer**. Clique com o botão direito do mouse no ambiente de seu aplicativo e selecione **Encerrar ambiente**.

1. Quando solicitado, selecione **Yes (Sim)** para confirmar que você deseja encerrar o ambiente. O Elastic Beanstalk levará alguns minutos para AWS encerrar os recursos em execução no ambiente.

## AWS recursos para seu aplicativo
<a name="aspnet-quickstart-eb-resources"></a>

Você acabou de criar uma aplicação de instância única. Ela serve como uma aplicação de exemplo simples com uma única instância do EC2 e, portanto, não requer balanceamento de carga ou ajuste de escala automático. Para aplicativos de instância única, o Elastic Beanstalk cria os seguintes recursos: AWS 
+ **Instância do EC2**: uma máquina virtual do Amazon EC2 configurada para executar aplicações Web na plataforma de sua escolha.

  Cada plataforma executa um conjunto diferente de software, arquivos de configuração e scripts para oferecer suporte a uma versão de linguagem, framework, contêiner da Web específicos ou a uma combinação deles. A maioria das plataformas usa o Apache ou nginx como um proxy reverso que processa tráfego da web na frente do aplicativo web, encaminha solicitações para ele, atende ativos estáticos e gera logs de acesso e de erro.
+ **Grupo de segurança de instância**: um grupo de segurança do Amazon EC2 configurado para permitir tráfego de entrada na porta 80. Esse recurso permite que o tráfego HTTP do load balancer chegue à instância do EC2 que executa seu aplicativo Web. Por padrão, o tráfego não é permitido em outras portas.
+ **Bucket do Amazon S3**: um local de armazenamento do seu código-fonte, logs e outros artefatos criados quando o Elastic Beanstalk é utilizado.
+ ** CloudWatch Alarmes da Amazon** — Dois CloudWatch alarmes que monitoram a carga nas instâncias em seu ambiente e são acionados se a carga for muito alta ou muito baixa. Quando um alarme é acionado, o seu grupo de Auto Scaling pode aumentar ou diminuir.
+ **CloudFormation stack** — O Elastic CloudFormation Beanstalk usa para lançar os recursos em seu ambiente e propagar as alterações de configuração. Os recursos são definidos em um modelo que você pode visualizar no [console do CloudFormation](https://console.aws.amazon.com/cloudformation).
+  **Nome de domínio** — Um nome de domínio que é direcionado para seu aplicativo da web no formulário **subdomain*. *region*.elasticbeanstalk.com*. 

O Elastic Beanstalk gerencia todos esses recursos. Quando você encerra o ambiente, o Elastic Beanstalk encerra todos os recursos dele.

## Próximas etapas
<a name="aspnet-quickstart-next-steps"></a>

Depois que um ambiente estiver executando um aplicativo, você poderá implantar uma nova versão do aplicativo ou um aplicativo diferente a qualquer momento. A implantação de uma nova versão do aplicativo é muito rápida, pois não é necessário provisionar ou reiniciar as instâncias do EC2. Também é possível explorar o novo ambiente usando o console do Elastic Beanstalk. Para conhecer as etapas detalhadas, consulte [Explore seu ambiente](GettingStarted.md#GettingStarted.Explore), no capítulo *Primeiros passos* deste guia.

**Explore mais tutoriais**  
Se quiser experimentar outros tutoriais com diferentes aplicações de exemplo, consulte [QuickStart para o.NET Core no Windows](dotnet-quickstart.md).

Depois que você implantar um ou dois aplicações de amostra e estiver pronto para começar a desenvolver e executar aplicações ASP.NET localmente, consulte [Configurar seu ambiente de desenvolvimento .NET](dotnet-devenv.md) 

## Implantar com o console do Elastic Beanstalk
<a name="aspnet-quickstart-console"></a>

Você também pode usar o console do Elastic Beanstalk para iniciar a aplicação de exemplo. Para conhecer as etapas detalhadas, consulte [Criar uma aplicação de exemplo](GettingStarted.md#GettingStarted.CreateApp), no capítulo *Primeiros passos* deste guia.

# Configurar seu ambiente de desenvolvimento .NET
<a name="dotnet-devenv"></a>

Este tópico fornece instruções para configurar um ambiente de desenvolvimento .NET no Windows para testar sua aplicação localmente antes de implantá-la no AWS Elastic Beanstalk. Também faz referência a sites com instruções de instalação para ferramentas úteis.

**Topics**
+ [Instalar um IDE](#dotnet-devenv-ide)
+ [Instalando o AWS Toolkit for Visual Studio](#dotnet-devenv-toolkit)

Se você precisar gerenciar AWS recursos de dentro do seu aplicativo, instale o AWS SDK para.NET. Por exemplo, é possível usar o Amazon S3 para armazenar e recuperar dados.

Com o AWS SDK para.NET, você pode começar em minutos com um único pacote disponível para download, completo com modelos de projeto do Visual Studio, AWS a biblioteca.NET, exemplos de código C\$1 e documentação. São fornecidos exemplos práticos em C\$1 de como usar a biblioteca para criar aplicativos. São fornecidos tutoriais de vídeo online e documentação de referência para ajudar você a aprender a usar as bibliotecas e os exemplos de códigos.

Visite a página inicial do [AWS SDK for .NET](https://aws.amazon.com/sdk-for-net/) para obter mais informações e instruções de instalação.

## Instalar um IDE
<a name="dotnet-devenv-ide"></a>

Ambientes de desenvolvimento integrados (IDEs) fornecem uma ampla variedade de recursos que facilitam o desenvolvimento de aplicativos. Se você nunca usou um IDE para desenvolvimento .NET, experimente o Visual Studio Community para começar.

Visite a página do [Visual Studio Community](https://www.visualstudio.com/vs/community/) para fazer download e instalar o Visual Studio Community.

## Instalando o AWS Toolkit for Visual Studio
<a name="dotnet-devenv-toolkit"></a>

O [AWS Toolkit for Visual Studio](dotnet-toolkit.md)é um plug-in de código aberto para o Visual Studio IDE que torna mais fácil para os desenvolvedores desenvolver, depurar e implantar aplicativos.NET usando o. AWS Acesse a [página inicial do Toolkit for Visual Studio](https://aws.amazon.com/visualstudio/) para obter instruções de instalação.

# Usar o Elastic Beanstalk .NET na plataforma Windows
<a name="create_deploy_NET.container.console"></a>

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

AWS Elastic Beanstalk oferece suporte a várias plataformas para diferentes versões da estrutura de programação.NET e do Windows Server. Consulte [.NET no Windows Server com IIS](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net) no documento *Plataformas do AWS Elastic Beanstalk * para obter uma lista completa.

O Elastic [Beanstalk fornece](command-options.md) opções de configuração que você pode usar para personalizar o software executado EC2 nas instâncias do seu ambiente do Elastic Beanstalk. Você também pode configurar as variáveis do ambiente exigidas pela aplicação, permitir a alternância de logs para o Amazon S3 e definir configurações de framework .NET.

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 no console do Elastic Beanstalk
<a name="dotnet-console"></a>

É possível usar o console do Elastic Beanstalk para habilitar a alternância de logs para o Amazon S3, configurar variáveis que a aplicação pode ler no ambiente e alterar as configurações de framework .NET.

**Como configurar seu ambiente .NET no 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 contêiner
<a name="dotnet-console-framework"></a>
+ **Target .NET runtime (runtime de .NET de destino)**: defina como `2.0` para executar CLR v2.
+ **Enable 32-bit applications (Habilitar aplicações 32 bits)**: defina como `True` para executar aplicações de 32 bits.

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

A seção Log Options 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.
+ **Habilitar a rotação de arquivos de log para o Amazon S3** — Especifica se os arquivos de log das EC2 instâncias da Amazon do seu aplicativo são copiados para o bucket do Amazon S3 associado ao seu aplicativo.

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

A seção **Propriedades do ambiente** permite que você especifique as configurações do ambiente nas EC2 instâncias da Amazon que estão executando seu aplicativo. Essas definições são passadas para o aplicativo como pares de chave-valor. Use `System.GetEnvironmentVariable` para leitura. Chaves idênticas podem existir em `web.config` e como propriedades do ambiente. Use o namespace `System.Configuration` para ler valores de `web.config`.

```
NameValueCollection appConfig = ConfigurationManager.AppSettings;
string endpoint = appConfig["API_ENDPOINT"];
```

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

## O namespace aws:elasticbeanstalk:container:dotnet:apppool
<a name="dotnet-namespaces"></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 define opções no namespace `aws:elasticbeanstalk:container:dotnet:apppool` que você pode usar para configurar o runtime do .NET.

O arquivo de configuração de exemplo a seguir mostra as configurações de cada uma das opções disponíveis neste namespace:

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

```
option_settings:
  aws:elasticbeanstalk:container:dotnet:apppool:
    Target Runtime: 2.0
    Enable 32-bit Applications: True
```

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.

# Migrar entre versões principais da plataforma do Windows Server do Elastic Beanstalk
<a name="dotnet-v2migration"></a>

AWS Elastic Beanstalk teve várias versões principais de sua plataforma Windows Server. Esta página aborda as principais melhorias para cada versão principal e o que deve ser considerado antes de migrar para uma versão mais recente.

A plataforma do Windows Server está na versão 2 (v2) no momento. Se o aplicativo usar qualquer versão de plataforma do Windows Server anterior à v2, recomendamos migrar para a v2.

## Novidades das versões principais da plataforma do Windows Server
<a name="dotnet-v2migration.diffs"></a>

### Plataforma do Windows Server V2
<a name="dotnet-v2migration.diffs.v2"></a>

A versão 2 (v2) da plataforma Windows Server do Elastic Beanstalk foi [lançada em fevereiro de 2019](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2019-02-21-windows-v2.html). A V2 aproxima o comportamento da plataforma Windows Server das plataformas Linux do Elastic Beanstalk de várias maneiras importantes. A V2 é totalmente compatível com a v1, o que facilita a migração da v1.

Agora, a plataforma do Windows Server oferece suporte a:
+ *Versionamento*: cada versão obtém um novo número de versão, e você pode fazer referência às versões anteriores (que ainda estão disponíveis para você) ao criar e gerenciar ambientes.
+ *Integridade aprimorada*: para obter detalhes, consulte [Relatórios e monitoramento de integridade aprimorados no Elastic Beanstalk](health-enhanced.md).
+ Implantações *imutáveis* e *contínuas com um lote adicional*: para obter detalhes sobre as políticas de implantação, consulte [Implantar aplicações em ambientes do Elastic Beanstalk](using-features.deploy-existing-version.md).
+ *Atualizações imutáveis*: para obter detalhes sobre os tipos de atualização, consulte [Alterações de configuração](environments-updating.md).
+ *Atualizações gerenciadas de plataforma*: para obter detalhes, consulte [Atualizações gerenciadas de plataforma](environment-platform-update-managed.md).

**nota**  
Os novos recursos de implantação e atualização dependem da integridade aprimorada. Habilite a integridade aprimorada para usá-los. Para obter mais detalhes, consulte [Habilitar relatórios de integridade aprimorada do Elastic Beanstalk](health-enhanced-enable.md).

### Plataforma do Windows Server V1
<a name="dotnet-v2migration.diffs.v1"></a>

A versão 1.0.0 (v1) da plataforma Windows Server do Elastic Beanstalk foi lançada em outubro de 2015. Essa versão altera a ordem na qual o Elastic Beanstalk processa comandos em [arquivos de configuração](ebextensions.md) durante a criação e as atualizações do ambiente.

As versões de plataformas anteriores não têm um número de versão no nome da pilha de soluções:
+ Windows Server 2012 R2 de 64 bits executando IIS 8.5
+ Windows Server Core 2012 R2 de 64 bits executando IIS 8.5
+ Windows Server 2012 de 64 bits executando IIS 8
+ Windows Server 2008 R2 de 64 bits executando IIS 7.5

Em versões anteriores, a ordem de processamento dos arquivos de configuração é inconsistente. Durante a criação do ambiente, `Container Commands` executam depois que o código-fonte do aplicativo é implantado no IIS. Durante uma implantação em um ambiente em execução, os comandos de contêiner executam antes da implantação da nova versão. Durante uma expansão, os arquivos de configuração não são processados.

Além disso, o IIS inicia antes da execução dos comandos de contêiner. Esse comportamento levou alguns clientes a implementar soluções em comandos de contêiner, pausando o servidor IIS antes da execução dos comandos e reiniciando-o após a conclusão.

A versão 1 corrige a inconsistência e aproxima o comportamento da plataforma Windows Server ao das plataformas baseadas em Linux do Elastic Beanstalk. Na plataforma v1, o Elastic Beanstalk sempre executa comandos de contêiner antes de iniciar o servidor IIS.

As pilhas de soluções da plataforma v1 têm um `v1` após a versão do Windows Server:
+ Windows Server 2012 R2 v1.1.0 de 64 bits executando IIS 8.5
+ Windows Server Core 2012 R2 v1.1.0 de 64 bits executando IIS 8.5
+ Windows Server 2012 v1.1.0 de 64 bits executando IIS 8
+ Windows Server 2008 R2 v1.1.0 de 64 bits executando IIS 7.5

Além disso, a plataforma v1 extrai o conteúdo do pacote de origem do aplicativo em `C:\staging\` antes da execução de comandos de contêiner. Após a conclusão dos comandos de contêiner, o conteúdo dessa pasta é compactado em um arquivo .zip e implantado no IIS. Esse fluxo de trabalho permite que você modifique o conteúdo do pacote de origem do aplicativo com comandos ou com um script antes da implantação.

## Migrar de versões principais anteriores da plataforma do Windows Server
<a name="dotnet-v2migration.migration"></a>

Leia esta seção sobre considerações de migração antes de atualizar seu ambiente. Para atualizar a plataforma de seu ambiente para uma versão mais recente, visite [Atualizar a versão de plataforma do ambiente Elastic Beanstalk](using-features.platform.upgrade.md).

### De V1 para V2
<a name="dotnet-v2migration.migration.fromv1"></a>

A plataforma v2 do Windows Server não oferece suporte a .NET Core 1.x e 2.0. Se você está migrando o aplicativo do Windows Server v1 para v2 e o aplicativo usa uma dessas versões do .NET Core, atualize o aplicativo para uma versão do .NET Core que ofereça suporte a v2. Para obter uma lista de versões compatíveis, consulte [.NET no Windows Server com IIS](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net) nas *Plataformas do AWS Elastic Beanstalk *.

Se o aplicativo usar uma imagem de máquina da Amazon (AMI), crie uma nova AMI personalizada com base em uma AMI da plataforma Windows Server v2. Para saber mais, consulte [Usar uma imagem de máquina Amazon personalizada (AMI) no ambiente Elastic Beanstalk](using-features.customenv.md).

**nota**  
Os recursos de implantação e atualização que são novos no Windows Server v2 dependem da integridade aprimorada. Ao migrar um ambiente para v2, a integridade aprimorada é desabilitada. Habilite-a para usar esses recursos. Para obter mais detalhes, consulte [Habilitar relatórios de integridade aprimorada do Elastic Beanstalk](health-enhanced-enable.md).

### Da pré-V1
<a name="dotnet-v2migration.migration.fromv0"></a>

Além das considerações sobre a migração de v1, se você estiver migrando o aplicativo de uma pilha de soluções do Windows Server anterior à v1 e estiver usando comandos de contêiner, remova todos os comandos adicionados para resolver as inconsistências de processamento ao migrar para uma versão mais recente. A partir da v1, é garantido que os comandos de contêiner sejam executados completamente antes da origem do aplicativo implantado e antes do início do IIS. Isso permite que você faça qualquer alteração na origem em `C:\staging` e modifique os arquivos de configuração do IIS durante esta etapa sem problemas.

Por exemplo, você pode usar o AWS CLI para baixar um arquivo DLL para a fonte do seu aplicativo a partir do Amazon S3:

`.ebextensions\copy-dll.config`

```
container_commands:
  copy-dll:
    command: aws s3 cp s3://amzn-s3-demo-bucket/dlls/large-dll.dll .\lib\
```

Para obter mais informações sobre o uso de arquivos de configuração, consulte [Personalização avançada de ambiente com arquivos de configuração (`.ebextensions`)](ebextensions.md).

# Executar vários aplicativos e aplicativos ASP.NET Core com um manifesto de implantação
<a name="dotnet-manifest"></a>

É possível usar um manifesto de implantação para informar o Elastic Beanstalk como implantar a aplicação. Ao usar esse método, você não precisa usar `MSDeploy` para gerar um pacote de origem para uma única aplicação ASP.NET que é executada no caminho raiz do seu site. Em vez disso, você pode usar um arquivo de manifesto para executar várias aplicações em caminhos diferentes. Ou, como alternativa, você pode dizer ao Elastic Beanstalk para implantar e executar a aplicação com o ASP.NET Core. Também é possível usar um manifesto de implantação para configurar um grupo de aplicações para executar suas aplicações.

Os manifestos de implantação adicionam suporte para [aplicações .NET Core](#dotnet-manifest-dotnetcore) ao Elastic Beanstalk. Você pode implantar uma aplicação .NET Framework sem um manifesto de implantação. No entanto, as aplicações .NET Core exigem um manifesto de implantação para execução no Elastic Beanstalk. Ao usar um manifesto de implantação, você cria um arquivo do site para cada aplicação e, em seguida, empacota os arquivos do site em um segundo arquivo ZIP que contém o manifesto de implantação.

Os manifestos de implantação também adicionam a capacidade de [executar vários aplicativos em diferentes caminhos](#dotnet-manifest-multiapp). Um manifesto de implantação define um conjunto de alvos de implantação, cada um com um arquivamento do site e um caminho em que o IIS deve executá-lo. Por exemplo, você pode executar uma API da Web no caminho `/api` para atender a solicitações assíncronas e um aplicativo web no caminho raiz que consome a API.

É possível usar um manifesto de implantação para [configurar sites do IIS com vinculações personalizadas e caminhos físicos](#dotnet-manifest-websites). Isso permite configurar sites que recepcionam portas ou nomes de host específicos antes de implantar aplicações.

Você também pode usar um manifesto de implantação para [executar várias aplicações usando grupos de aplicações no IIS ou no Kestrel](#dotnet-manifest-apppool). Você pode configurar um grupo de aplicativos para reiniciar seus aplicativos periodicamente, executar aplicativos de 32 bits ou usar uma versão específica do runtime do .NET Framework.

Para uma personalização completa, você pode [escrever seus próprios scripts de implantação](#dotnet-manifest-custom) no Windows PowerShell e informar ao Elastic Beanstalk quais scripts executar para instalar, desinstalar e reiniciar seu aplicativo.

Os manifestos de implantação e os recursos relacionados exigem uma plataforma do Windows Server [versão 1.2.0 ou posterior](dotnet-v2migration.md).

Para obter informações detalhadas sobre todas as opções de configuração, propriedades e recursos avançados disponíveis, como ignorar redefinições do IIS, consulte a [referência do esquema do manifesto de implantação](dotnet-manifest-schema.md).

**Topics**
+ [Aplicativos .NET Core](#dotnet-manifest-dotnetcore)
+ [Executar vários aplicativos](#dotnet-manifest-multiapp)
+ [Configurar sites do IIS](#dotnet-manifest-websites)
+ [Usar o Roteamento de solicitação de aplicação (ARR)](#dotnet-manifest-arr)
+ [Configurar grupos de aplicativos](#dotnet-manifest-apppool)
+ [Definir implantações personalizadas](#dotnet-manifest-custom)
+ [Referência de esquema de manifesto de implantação](dotnet-manifest-schema.md)

## Aplicativos .NET Core
<a name="dotnet-manifest-dotnetcore"></a>

É possível usar um manifesto de implantação para executar aplicações .NET Core no Elastic Beanstalk. .NET Core é uma versão multiplataforma do .NET que é fornecida com uma ferramenta de linha de comando (`dotnet`). Você pode usá-lo para gerar uma aplicação, executá-lo localmente e prepará-lo para publicação.

Para executar uma aplicação .NET Core no Elastic Beanstalk, execute `dotnet publish` e empacote a saída em um arquivo ZIP, sem incluir os diretórios. Coloque o arquivo do site em um pacote de origem com um manifesto de implantação com um destino de implantação do tipo `aspNetCoreWeb`.

O seguinte manifesto de implantação executa um aplicativo .NET Core em um arquivo de site chamado `dotnet-core-app.zip` no caminho raiz.

**Example aws-windows-deployment-manifest.json - Núcleo.NET**  

```
{
  "manifestVersion": 1,
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "my-dotnet-core-app",
        "parameters": {
          "archive": "dotnet-core-app.zip",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

Inclua o arquivo de manifesto e de site em um arquivo ZIP para criar um pacote de origem.

**Example dotnet-core-bundle.zip**  

```
.
|-- aws-windows-deployment-manifest.json
`-- dotnet-core-app.zip
```

O arquivo do site contém o código do aplicativo compilado, as dependências e o arquivo `web.config`.

**Example dotnet-core-app.zip**  

```
.
|-- Microsoft.AspNetCore.Hosting.Abstractions.dll
|-- Microsoft.AspNetCore.Hosting.Server.Abstractions.dll
|-- Microsoft.AspNetCore.Hosting.dll
|-- Microsoft.AspNetCore.Http.Abstractions.dll
|-- Microsoft.AspNetCore.Http.Extensions.dll
|-- Microsoft.AspNetCore.Http.Features.dll
|-- Microsoft.AspNetCore.Http.dll
|-- Microsoft.AspNetCore.HttpOverrides.dll
|-- Microsoft.AspNetCore.Server.IISIntegration.dll
|-- Microsoft.AspNetCore.Server.Kestrel.dll
|-- Microsoft.AspNetCore.WebUtilities.dll
|-- Microsoft.Extensions.Configuration.Abstractions.dll
|-- Microsoft.Extensions.Configuration.EnvironmentVariables.dll
|-- Microsoft.Extensions.Configuration.dll
|-- Microsoft.Extensions.DependencyInjection.Abstractions.dll
|-- Microsoft.Extensions.DependencyInjection.dll
|-- Microsoft.Extensions.FileProviders.Abstractions.dll
|-- Microsoft.Extensions.FileProviders.Physical.dll
|-- Microsoft.Extensions.FileSystemGlobbing.dll
|-- Microsoft.Extensions.Logging.Abstractions.dll
|-- Microsoft.Extensions.Logging.dll
|-- Microsoft.Extensions.ObjectPool.dll
|-- Microsoft.Extensions.Options.dll
|-- Microsoft.Extensions.PlatformAbstractions.dll
|-- Microsoft.Extensions.Primitives.dll
|-- Microsoft.Net.Http.Headers.dll
|-- System.Diagnostics.Contracts.dll
|-- System.Net.WebSockets.dll
|-- System.Text.Encodings.Web.dll
|-- dotnet-core-app.deps.json
|-- dotnet-core-app.dll
|-- dotnet-core-app.pdb
|-- dotnet-core-app.runtimeconfig.json
`-- web.config
```

## Executar vários aplicativos
<a name="dotnet-manifest-multiapp"></a>

Você pode executar vários aplicativos com um manifesto de implantação definindo vários alvos de implantação.

O seguinte manifesto de implantação configura dois aplicativos .NET Core. A aplicação `WebApiSampleApp` implementa uma API simples da Web e atende a solicitações assíncronas no caminho `/api`. O aplicativo `DotNetSampleApp` é um aplicativo web que atende solicitações no caminho raiz.

**Example aws-windows-deployment-manifest.json - vários aplicativos**  

```
{
  "manifestVersion": 1,
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "WebAPISample",
        "parameters": {
          "appBundle": "WebApiSampleApp.zip",
          "iisPath": "/api"
        }
      },
      {
        "name": "DotNetSample",
        "parameters": {
          "appBundle": "DotNetSampleApp.zip",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

Um aplicativo de exemplo com vários aplicativos está disponível em:
+ **Pacote de origem implantável -** [-v2.zip dotnet-multiapp-sample-bundle](samples/dotnet-multiapp-sample-bundle-v2.zip)
+ **Código fonte** - [dotnet-multiapp-sample-source-v2.zip](samples/dotnet-multiapp-sample-source-v2.zip)

## Configurar sites do IIS
<a name="dotnet-manifest-websites"></a>

É possível configurar sites do IIS com vinculações personalizadas e caminhos físicos usando o manifesto de implantação. Isso é útil quando é necessário configurar sites que recepcionam em portas específicas, usam nomes de host personalizados ou veiculam conteúdo de diretórios específicos.

O manifesto de implantação a seguir configura um site personalizado do IIS que recepciona HTTP com um número de porta específico e um caminho físico personalizado:

**Example aws-windows-deployment-manifest.json - Configuração do site IIS**  

```
{
  "manifestVersion": 1,
  "iisConfig": {
    "websites": [
      {
        "name": "MyCustomSite",
        "physicalPath": "C:\inetpub\wwwroot\mysite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "mysite.local"
          }
        ]
      }
    ]
  },
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "my-dotnet-core-app",
        "parameters": {
          "appBundle": "dotnet-core-app.zip",
          "iisWebSite": "MyCustomSite",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

Neste exemplo:
+ Um site chamado "MyCustomSite" é criado com um caminho físico personalizado
+ O site tem uma associação HTTP na porta 8080 com um nome de host específico
+ A aplicação ASP.NET Core é implantada nesse site personalizado usando o parâmetro `iisWebSite`

## Usar o Roteamento de solicitação de aplicação (ARR)
<a name="dotnet-manifest-arr"></a>

Os módulos Application Request Routing (ARR) e URL Rewrite estão pré-instalados e disponíveis no Elastic Beanstalk Windows. AMIs Esses módulos permitem cenários avançados de roteamento e manipulação de URL por meio da configuração do IIS usando a configuração de ebextensions ou aplicações.

O exemplo a seguir mostra um manifesto de implantação simples que configura um site com uma porta personalizada, combinado com uma configuração ebextensions que configura o roteamento do ARR básico:

**Example aws-windows-deployment-manifest.json - Configuração simples de ARR**  

```
{
  "manifestVersion": 1,
  "iisConfig": {
    "websites": [
      {
        "name": "ARRSite",
        "physicalPath": "C:\\inetpub\\wwwroot\\arrsite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "localhost"
          }
        ]
      }
    ]
  },
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "BackendApp",
        "parameters": {
          "appBundle": "backend-app.zip",
          "iisWebSite": "ARRSite",
          "iisPath": "/backend"
        }
      }
    ]
  }
}
```

A configuração do ARR é feita por meio de ebextensions. A configuração a seguir define as regras básicas de roteamento do ARR:

**Example .ebextensions/arr-config.config - Configuração básica do ARR**  

```
files:
  "C:\\temp\\configure-arr.ps1":
    content: |
      # Enable ARR proxy at server level
      Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/proxy' -Name 'enabled' -Value 'True'
      
      # Clear any existing global rules to avoid conflicts
      Clear-WebConfiguration -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/rewrite/globalRules'

      # Add global rule to route all requests to backend
      Add-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' `
        -Filter 'system.webServer/rewrite/globalRules' `
        -Name '.' `
        -Value @{
          name = 'Route_to_Backend'
          stopProcessing = 'True'
          match = @{ url = '^(?!backend/)(.*)' }
          action = @{
            type = 'Rewrite'
            url = 'http://localhost:8080/backend/{R:1}'
          }
        }

container_commands:
  01_configure_arr:
    command: powershell -ExecutionPolicy Bypass -File "C:\\temp\\configure-arr.ps1"
    waitAfterCompletion: 0
```

Essa configuração cria um site na porta 8080 e configura o ARR para rotear todas as solicitações recebidas para a aplicação de backend executada nesse site.

## Configurar grupos de aplicativos
<a name="dotnet-manifest-apppool"></a>

Você pode oferecer suporte a várias aplicações no seu ambiente Windows. Duas abordagens estão disponíveis:
+ Você pode usar o modelo de out-of-process hospedagem com o servidor web Kestrel. Com esse modelo, você configura várias aplicações para serem executadas em um grupo de aplicações.
+ Você pode usar o modelo de hospedagem no processo. Com esse modelo, você usa vários grupos de aplicações para executar várias aplicações com apenas uma aplicação em cada grupo. Se você estiver usando o servidor IIS e precisar executar várias aplicações, deverá usar essa abordagem.

Para configurar o Kestrel para executar várias aplicações em um grupo de aplicações, adicione `hostingModel="OutofProcess"` ao arquivo `web.config`. Considere os seguintes exemplos:

**Example web.config - para o modelo de hospedagem Kestrel out-of-process**  

```
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add 
    name="aspNetCore" 
    path="*" verb="*" 
    modules="AspNetCoreModuleV2" 
    resourceType="Unspecified" />
</handlers>
<aspNetCore 
    processPath="dotnet" 
    arguments=".\CoreWebApp-5-0.dll" 
    stdoutLogEnabled="false" 
    stdoutLogFile=".\logs\stdout" 
    hostingModel="OutofProcess" />
</system.webServer>
</location>
</configuration>
```

**Example aws-windows-deployment-manifest.json - vários aplicativos**  

```
{
"manifestVersion": 1,
  "deployments": {"msDeploy": [
      {"name": "Web-app1",
        "parameters": {"archive": "site1.zip",
          "iisPath": "/"
        }
      },
      {"name": "Web-app2",
        "parameters": {"archive": "site2.zip",
          "iisPath": "/app2"
        }
      }
    ]
  }
}
```

O IIS não suporta várias aplicações em um grupo de aplicações porque ele usa o modelo de hospedagem no processo. Portanto, você precisa configurar várias aplicações atribuindo cada aplicação a um grupo de aplicações. Em outras palavras, atribua apenas uma aplicação a um grupo de aplicações.

Você pode configurar o IIS para usar grupos de aplicações diferentes no arquivo `aws-windows-deployment-manifest.json`. Faça as seguintes atualizações conforme você se refere ao próximo arquivo de exemplo:
+ Adicione uma `iisConfig` seção que inclua uma subseção chamada `appPools`.
+ No bloco `appPools`, liste os grupos de aplicações. 
+ Na seção `deployments`, defina uma seção `parameters` para cada aplicação.
+ Para cada aplicação, a seção `parameters` especifica um arquivo, um caminho para executá-la e um `appPool` no qual executá-la.

O manifesto de implantação a seguir configura dois grupos de aplicações que reiniciam sua aplicação a cada 10 minutos. Eles também anexam suas aplicações a uma aplicação web .NET Framework que é executada no caminho especificado.

**Example aws-windows-deployment-manifest.json - um aplicativo por pool de aplicativos**  

```
{
"manifestVersion": 1,
  "iisConfig": {"appPools": [
      {"name": "MyFirstPool",
       "recycling": {"regularTimeInterval": 10}
      },
      {"name": "MySecondPool",
       "recycling": {"regularTimeInterval": 10}
      }
     ]
    },
  "deployments": {"msDeploy": [
      {"name": "Web-app1",
        "parameters": {
           "archive": "site1.zip",
           "iisPath": "/",
           "appPool": "MyFirstPool"
           }
      },
      {"name": "Web-app2",
        "parameters": {
           "archive": "site2.zip",
           "iisPath": "/app2",
           "appPool": "MySecondPool"
          }
      }
     ]
    }
}
```

## Definir implantações personalizadas
<a name="dotnet-manifest-custom"></a>

Para controle ainda maior, você pode personalizar totalmente a implantação de um aplicativo definindo uma *implantação personalizada*.

Esse manifesto de implantação instrui o Elastic Beanstalk PowerShell a executar scripts no modo de 32 bits. Ele especifica três scripts: um `install` script (`siteInstall.ps1`) que é executado durante a inicialização e as implantações da instância, um `uninstall` script (`siteUninstall.ps1`) que é executado antes de instalar novas versões durante as implantações e um `restart` script (`siteRestart.ps1`) que é executado quando você seleciona [Reiniciar o App Server](environments-dashboard-actions.md) no console de gerenciamento. AWS 

**Example aws-windows-deployment-manifest.json - implantação personalizada**  

```
{
  "manifestVersion": 1,
  "deployments": {
    "custom": [
      {
        "name": "Custom site",
        "architecture" : 32,
        "scripts": {
          "install": {
            "file": "siteInstall.ps1"
          },
          "restart": {
            "file": "siteRestart.ps1"
          },
          "uninstall": {
            "file": "siteUninstall.ps1"
          }
        }
      }
    ]
  }
}
```

Inclua todos os artefatos necessários para executar o aplicativo em seu pacote de origem com o manifesto e os scripts.

**Example ustom-site-bundleC.zip**  

```
.
|-- aws-windows-deployment-manifest.json
|-- siteInstall.ps1
|-- siteRestart.ps1
|-- siteUninstall.ps1
`-- site-contents.zip
```

# Referência de esquema de manifesto de implantação
<a name="dotnet-manifest-schema"></a>

O manifesto de implantação é um arquivo JSON que define como o Elastic Beanstalk deve implantar e configurar suas aplicações Windows. Esta seção fornece uma referência abrangente para todas as propriedades e opções de configuração compatíveis no esquema do manifesto.

## Estrutura do manifesto
<a name="dotnet-manifest-schema-structure"></a>

O manifesto de implantação segue um esquema JSON específico com a seguinte estrutura de nível superior:

**Example Estrutura básica do manifesto**  

```
{
  "manifestVersion": 1,
  "skipIISReset": false,
  "iisConfig": {
    "websites": [...],
    "appPools": [...]
  },
  "deployments": {
    "msDeploy": [...],
    "aspNetCoreWeb": [...],
    "custom": [...]
  }
}
```

### Propriedades de nível superior
<a name="dotnet-manifest-schema-top-level"></a>

`manifestVersion`(obrigatório)  
*Tipo*: número  
*Padrão*: 1  
*Valores válidos:* 1  
Especifica a versão do esquema do manifesto. Atualmente, apenas a versão 1 é compatível.

`skipIISReset` (opcional)  
*Tipo*: booliano  
*Padrão:* falso  
Controla se o IIS é redefinido durante as implantações da aplicação. Esse sinalizador afeta ambos os tipos de implantação: `msDeploy` e `aspNetCoreWeb`.  
*Comportamento:*  
+ *Não especificado ou `false` (padrão):* as redefinições do IIS são realizadas durante as operações de instalação, desinstalação e atualização. Esse é o comportamento tradicional.
+ *`true`:* as redefinições do IIS são ignoradas durante as operações de implantação.
*Benefícios:*  
+ *Tempo de inatividade reduzido*: as aplicações sofrem menos interrupções de serviço durante as implantações.
+ *Implantações mais rápidas*: elimina o tempo necessário para que o IIS seja totalmente reiniciado e reinicializado.
Ao usar`skipIISReset`, a [RestartAppServer](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_RestartAppServer.html)operação executa uma redefinição do IIS independentemente dessa configuração de sinalizador.
*Exemplo:*  

```
{
  "manifestVersion": 1,
  "skipIISReset": true,
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "my-dotnet-core-app",
        "parameters": {
          "archive": "dotnet-core-app.zip",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

`deployments`(obrigatório)  
*Tipo:* Objeto  
Contém as configurações de implantação para suas aplicações. Esse objeto pode incluir os tipos de implantação `msDeploy`, `aspNetCoreWeb` e `custom`.

`iisConfig` (opcional)  
*Tipo:* Objeto  
Define as configurações do IIS a serem aplicadas antes da implantação das aplicações. Oferece suporte à configuração do site e do grupo de aplicações.

## Configuração do IIS
<a name="dotnet-manifest-schema-iis-config"></a>

A seção `iisConfig` permite que você defina as configurações do IIS antes de implantar suas aplicações. Isso inclui a configuração de grupos de aplicações com configurações específicas e a configuração de sites do IIS com associações personalizadas.

### Sites do IIS
<a name="dotnet-manifest-schema-websites"></a>

Sites do IIS permitem que você defina configurações personalizadas do site, incluindo caminhos físicos e associações de rede, antes de implantar suas aplicações.

**Considerações importantes para criar sites diferentes do IIS**  
*Ordem de configuração de sites:* os sites são configurados sequencialmente na ordem em que aparecem na matriz `websites`. A plataforma processa cada configuração do site em sequência, portanto, garanta o pedido adequado se você tiver dependências entre os sites.
*Firewall e acesso à porta:* somente a porta 80 é automaticamente exposta por meio da configuração padrão de firewall do Elastic Beanstalk para Windows. Se você configurar sites para usar portas não padrão, deverá definir regras de firewall personalizadas por meio de ebextensions ou scripts de implantação personalizados para permitir acesso externo a essas portas.

**Example Configuração de site**  

```
{
  "iisConfig": {
    "websites": [
      {
        "name": "MyCustomSite",
        "physicalPath": "C:\inetpub\wwwroot\mysite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "mysite.local"
          },
          {
            "protocol": "https",
            "port": 8443
          }
        ]
      }
    ]
  }
}
```Propriedades do site

`name`(obrigatório)  
*Tipo:* string  
O nome do site do IIS. Esse nome é usado para identificar o site no Gerenciador do IIS e deve ser exclusivo na configuração do IIS.

`physicalPath`(obrigatório)  
*Tipo:* string  
O caminho físico no servidor no qual os arquivos do site são armazenados. Esse caminho deve estar acessível ao processo de trabalho do IIS.

`bindings`(obrigatório)  
*Tipo*: matriz  
*Itens mínimos:* 1  
Uma variedade de configurações de vinculação que definem como o site responde a solicitações de rede. Cada associação especifica um protocolo, uma porta e um nome de host opcional.

#### Associações de sites
<a name="dotnet-manifest-schema-bindings"></a>

As associações de sites definem os endpoints de rede nos quais o site do IIS escutará as solicitações recebidas.

`protocol`(obrigatório)  
*Tipo:* string  
*Valores válidos:* “http”, “https”  
O protocolo usado para a vinculação.

`port`(obrigatório)  
*Tipo*: inteiro  
*Intervalo válido: 1-65535*  
O número da porta na qual o site receberá solicitações.

`hostName` (opcional)  
*Tipo:* string  
O nome do host (nome de domínio) para a associação.

### Grupos de aplicações
<a name="dotnet-manifest-schema-app-pools"></a>

Os grupos de aplicações fornecem isolamento entre aplicações e permitem que você defina as configurações de runtime para grupos de aplicações.

**Example Configuração do grupo de aplicações**  

```
{
  "iisConfig": {
    "appPools": [
      {
        "name": "MyAppPool",
        "enable32Bit": false,
        "managedPipelineMode": "Integrated",
        "managedRuntimeVersion": "v4.0",
        "queueLength": 1000,
        "cpu": {
          "limitPercentage": 80,
          "limitAction": "Throttle",
          "limitMonitoringInterval": 5
        },
        "recycling": {
          "regularTimeInterval": 1440,
          "requestLimit": 10000,
          "memory": 1048576,
          "privateMemory": 524288
        }
      }
    ]
  }
}
```Propriedades do grupo de aplicações

`name`(obrigatório)  
*Tipo:* string  
O nome do grupo de aplicações. Esse nome é usado para referenciar o grupo nas configurações de implantação.

`enable32Bit` (opcional)  
*Tipo*: booliano  
Permite que uma aplicação de 32 bits seja executada em uma versão de 64 bits do Windows. Defina como `true` para aplicações legadas que exigem compatibilidade de 32 bits.

`managedPipelineMode` (opcional)  
*Tipo:* string  
*Valores válidos:* “Integrado”, “Clássico”  
Especifica o modo de processamento de solicitações para o grupo de aplicações.

`managedRuntimeVersion` (opcional)  
*Tipo:* string  
*Valores válidos:* “Sem código gerenciado”, “v2.0", “v4.0"  
Especifica a versão do .NET Framework para o grupo de aplicações.

`queueLength` (opcional)  
*Tipo*: inteiro  
Número máximo de solicitações que o HTTP.sys enfileira para o grupo de aplicações antes de rejeitar solicitações adicionais.

#### Configuração da CPU
<a name="dotnet-manifest-schema-cpu-config"></a>

O objeto `cpu` configura os limites de uso da CPU e o monitoramento do grupo de aplicações.

`limitPercentage` (opcional)  
*Tipo*: número  
Porcentagem máxima de tempo de CPU que os processos de trabalho no grupo de aplicações podem consumir.

`limitAction` (opcional)  
*Tipo:* string  
*Valores válidos:* "NoAction“, “KillW3wp”, “Throttle”, "” ThrottleUnderLoad  
Ação a ser realizada quando o limite de CPU for atingido.

`limitMonitoringInterval` (opcional)  
*Tipo*: número  
Período de redefinição (em minutos) para monitoramento da CPU e limites de controle de utilização.

#### Configuração de reciclagem
<a name="dotnet-manifest-schema-recycling-config"></a>

O objeto `recycling` configura quando e como os processos de trabalho do grupo de aplicações são reciclados.

`regularTimeInterval` (opcional)  
*Tipo*: inteiro  
Intervalo de tempo (em minutos) após o qual o grupo de aplicações é reciclado. Defina como 0 para desabilitar a reciclagem baseada em tempo.

`requestLimit` (opcional)  
*Tipo*: inteiro  
Número máximo de solicitações que o grupo de aplicações processa antes da reciclagem.

`memory` (opcional)  
*Tipo*: inteiro  
Quantidade de memória virtual (em kilobytes) que aciona a reciclagem do processo de trabalho.

`privateMemory` (opcional)  
*Tipo*: inteiro  
Quantidade de memória privada (em kilobytes) que aciona a reciclagem do processo de trabalho.

## Tipos de implantação
<a name="dotnet-manifest-schema-deployments"></a>

O objeto `deployments` contém matrizes de configurações de implantação para diferentes tipos de aplicações. Cada tipo de implantação tem propriedades e casos de uso específicos.

### MSDeploy implantações
<a name="dotnet-manifest-schema-msdeploy"></a>

MSDeploy as implantações são usadas para aplicativos do.NET Framework tradicionais que podem ser implantados usando o Web Deploy ()MSDeploy.

**Example MSDeploy configuração de implantação**  

```
{
  "deployments": {
    "msDeploy": [
      {
        "name": "WebApp",
        "description": "Main web application",
        "parameters": {
          "appBundle": "webapp.zip",
          "iisPath": "/",
          "appPool": "DefaultAppPool"
        }
      }
    ]
  }
}
```MSDeploy propriedades de implantação

`name`(obrigatório)  
*Tipo:* string  
Nome exclusivo da implantação. Esse nome deve ser exclusivo entre todas as implantações no manifesto.

`description` (opcional)  
*Tipo:* string  
Descrição legível por humanos da implantação.

`parameters`(obrigatório)  
*Tipo:* Objeto  
Parâmetros de configuração para a MSDeploy operação.

`scripts` (opcional)  
*Tipo:* Objeto  
PowerShell scripts para execução em vários estágios do ciclo de vida da implantação.

#### MSDeploy parâmetros
<a name="dotnet-manifest-schema-msdeploy-parameters"></a>

`appBundle`(obrigatório)  
*Tipo:* string  
Caminho para o pacote de aplicações (arquivo ZIP) em relação ao arquivo de manifesto. Esse pacote contém os arquivos da aplicação a serem implantados.

`iisWebSite` (opcional)  
*Tipo:* string  
*Padrão:* “Site padrão”  
O site do IIS no qual implantar a aplicação. Por padrão, as aplicações são implantadas no “Site padrão”. Opcionalmente, você pode especificar um nome de site diferente, como aquele configurado na seção `iisConfig.websites`.

`iisPath` (opcional)  
*Tipo:* string  
*Padrão:* “/”  
Caminho do diretório virtual no IIS em que a aplicação será implantada. Use “/” para o caminho raiz ou “/api” para um subdiretório.

`appPool` (opcional)  
*Tipo:* string  
Nome do grupo de aplicações para executar essa aplicação.

### Implantações do ASP.NET Core
<a name="dotnet-manifest-schema-aspnetcore"></a>

As implantações ASP.NET Core são projetadas especificamente para aplicações .NET Core e o .NET 5\$1.

**Example Configuração da implantação de ASP.NET Core**  

```
{
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "CoreAPI",
        "description": "ASP.NET Core Web API",
        "parameters": {
          "appBundle": "coreapi.zip",
          "iisPath": "/api",
          "appPool": "CoreAppPool"
        }
      }
    ]
  }
}
```

As implantações do ASP.NET Core usam a mesma estrutura de propriedades das MSDeploy implantações, com a principal diferença sendo o ambiente de tempo de execução e o modelo de hospedagem usados para o aplicativo.Parâmetros da implantação de ASP.NET Core

`appBundle`(obrigatório)  
*Tipo:* string  
Caminho até o pacote de aplicações em relação ao arquivo manifesto. Pode ser um arquivo ZIP ou um caminho de diretório contendo a aplicação ASP.NET Core publicada.

`iisWebSite` (opcional)  
*Tipo:* string  
*Padrão:* “Site padrão”  
O site do IIS no qual implantar a aplicação ASP.NET Core. Por padrão, as aplicações são implantadas no “Site padrão”. Opcionalmente, você pode especificar um nome de site diferente, como aquele configurado na seção `iisConfig.websites`.

`iisPath` (opcional)  
*Tipo:* string  
*Padrão:* “/”  
Caminho de diretório virtual no IIS para a aplicação ASP.NET Core.

`appPool` (opcional)  
*Tipo:* string  
Grupo de aplicações da aplicação ASP.NET Core. O grupo será configurado adequadamente para hospedagem de ASP.NET Core.

### implantações personalizadas
<a name="dotnet-manifest-schema-custom"></a>

As implantações personalizadas fornecem controle total sobre o processo de implantação por meio de PowerShell scripts. Esse tipo de implantação é útil para cenários complexos que exigem instalação, configuração ou lógica de implantação personalizadas.

**Example Configuração de implantação personalizada**  

```
{
  "deployments": {
    "custom": [
      {
        "name": "CustomService",
        "description": "Custom Windows service deployment",
        "architecture": 32,
        "scripts": {
          "install": {
            "file": "install-service.ps1"
          },
          "restart": {
            "file": "restart-service.ps1"
          },
          "uninstall": {
            "file": "uninstall-service.ps1",
            "ignoreErrors": true
          }
        }
      }
    ]
  }
}
```Propriedades de implantação personalizadas

`name`(obrigatório)  
*Tipo:* string  
Nome exclusivo da implantação personalizada.

`description` (opcional)  
*Tipo:* string  
Descrição da implantação personalizada.

`architecture` (opcional)  
*Tipo*: inteiro  
*Padrão:* 32  
*Valores válidos:* 32, 64  
A especificação de arquitetura para o modo de execução de scripts do PowerShell

`scripts`(obrigatório)  
*Tipo:* Objeto  
PowerShell scripts que definem o comportamento da implantação. Implantações personalizadas oferecem suporte a tipos de script adicionais em comparação com outros tipos de implantação.

## Scripts de implantação
<a name="dotnet-manifest-schema-scripts"></a>

Os scripts de implantação são PowerShell scripts executados em pontos específicos durante o ciclo de vida da implantação. Diferentes tipos de implantação oferecem suporte a diferentes conjuntos de eventos de scripts.

### Eventos de script
<a name="dotnet-manifest-schema-script-events"></a>

Os seguintes eventos de scripts estão disponíveis dependendo do tipo de implantação:Scripts de implantação padrão (MSDeploy e aspNetCore Web)

`preInstall`  
É executado antes que a aplicação seja instalada ou atualizada.

`postInstall`  
É executado depois que a aplicação é instalada ou atualizada.

`preRestart`  
É executado antes que a aplicação seja reiniciada.

`postRestart`  
É executado depois que a aplicação é reiniciada.

`preUninstall`  
É executado antes da desinstalação da aplicação.

`postUninstall`  
É executado após a desinstalação da aplicação.Scripts de implantação personalizados (somente implantações personalizadas)

`install`  
Script de instalação principal para implantações personalizadas. Esse script é responsável pela instalação da aplicação ou serviço.

`restart`  
Script para reiniciar a aplicação ou serviço. Chamado quando o ambiente é reiniciado.

`uninstall`  
Script para desinstalar a aplicação ou serviço. Chamado durante o encerramento do ambiente ou a remoção da aplicação.

### Propriedades do script
<a name="dotnet-manifest-schema-script-properties"></a>

Cada script é definido como um objeto com as seguintes propriedades:

`file`(obrigatório)  
*Tipo:* string  
Caminho para o arquivo de PowerShell script em relação ao arquivo de manifesto. O script deve ter uma extensão `.ps1`.

`ignoreErrors` (opcional)  
*Tipo*: booliano  
*Padrão:* falso  
Quando definido como `true`, a implantação continua mesmo se o script falhar. Use para scripts não críticos ou operações de limpeza.

**Example Exemplo de configuração de script**  

```
{
  "scripts": {
    "preInstall": {
      "file": "backup-config.ps1",
      "ignoreErrors": true
    },
    "postInstall": {
      "file": "configure-app.ps1"
    }
  }
}
```

# Usando o EC2 Fast Launch com ramificações da plataforma Windows
<a name="dotnet-ec2fastlaunch"></a>

O recurso EC2 Fast Launch reduz os tempos de execução de instâncias do Windows em seus ambientes do Elastic Beanstalk. O objetivo deste tópico é orientar sobre como usar esse recurso com ambientes do Elastic Beanstalk. A partir da versão 2.16.2 da plataforma Windows, lançada em [22 de janeiro de 2025,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2025-01-22-windows.html) os lançamentos da plataforma Elastic Beanstalk incluem base com o Fast Launch ativado. AMIs EC2 

## Disponibilidade padrão de lançamento EC2 rápido
<a name="dotnet-ec2fastlaunch-default"></a>

As versões mais recentes da plataforma Windows do Elastic Beanstalk AMIs incluem EC2 base com o Fast Launch ativado automaticamente, sem custos adicionais. No entanto, quando versões mais recentes da plataforma são lançadas, o EC2 Fast Launch pode não permanecer ativado automaticamente com base nas versões mais antigas AMIs da plataforma.

Recomendamos atualizar para a versão mais recente da plataforma Windows para usar o base AMIs com o EC2 Fast Launch ativado automaticamente. No entanto, se precisar continuar usando sua versão de plataforma existente, você pode habilitar manualmente o EC2 Fast Launch na AMI básica do seu ambiente. Para instruções, consulte [Configurando manualmente o EC2 Fast Launch](#dotnet-ec2fastlaunch-manual).

## Configurando manualmente o EC2 Fast Launch
<a name="dotnet-ec2fastlaunch-manual"></a>

**nota**  
A ativação manual do EC2 Fast Launch pode gerar custos adicionais em comparação com o uso de versões da plataforma com o EC2 Fast Launch ativado automaticamente. Para obter mais informações sobre os custos do EC2 Fast Launch, consulte a página [Gerenciar custos dos recursos subjacentes do EC2 Fast Launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/win-fast-launch-manage-costs.html) no *Guia EC2 do usuário da Amazon*.

Siga estas etapas para habilitar o EC2 Fast Launch em uma AMI baseada no Windows usada pelo seu ambiente do Elastic Beanstalk:

**Para habilitar manualmente o EC2 Fast Launch para seu ambiente Elastic Beanstalk**

1. Identifique a AMI base do seu ambiente:

   Siga as etapas em [Criar uma AMI personalizada](using-features.customenv.md) para identificar o ID da AMI base do seu ambiente. Observe que não é necessário criar uma AMI personalizada. Basta seguir as etapas para localizar o ID da sua AMI base atual.

1. Ative o EC2 Fast Launch na AMI:

   Use as instruções em [Habilitar o EC2 Fast Launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/win-fast-launch-configure.html) no *Guia EC2 do usuário da Amazon* para configurar o EC2 Fast Launch para sua AMI.

# Adicionar uma instância de banco de dados do Amazon RDS ao ambiente de aplicações .NET
<a name="create_deploy_NET.rds"></a>

Este tópico fornece instruções para criar o Amazon RDS usando o console do Elastic Beanstalk. É possível usar uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) para armazenar dados coletados e modificados pela aplicação. O banco de dados pode ser acoplado ao seu ambiente e gerenciado pelo Elastic Beanstalk ou pode ser criado como desacoplado e gerenciado externamente por outro serviço. Nestas instruções, o banco de dados é acoplado ao ambiente e gerenciado pelo Elastic Beanstalk. Para obter mais informações sobre como integrar um Amazon RDS com o Elastic Beanstalk, consulte [Adição de um banco de dados ao seu ambiente do Elastic Beanstalk](using-features.managing.db.md).

**Topics**
+ [Adicionar uma instância de banco de dados ao seu ambiente](#dotnet-rds-create)
+ [Download de um driver](#dotnet-rds-drivers)
+ [Conectar-se a um banco de dados](#dotnet-rds-connect)

## Adicionar uma instância de banco de dados ao seu ambiente
<a name="dotnet-rds-create"></a>

**Para adicionar uma instância de banco de dados ao ambiente**

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 **Database (Banco de dados)**, escolha **Edit (Editar)**.

1. Escolha um mecanismo de banco de dados e insira um nome de usuário e senha.

1. Para salvar as alterações, escolha **Apply (Aplicar)** na parte inferior da página.

A adição de uma instância de banco de dados leva cerca de 10 minutos. Quando a atualização do ambiente for concluída, o nome de host da instância de banco de dados e outras informações de conexão estarão disponíveis para o seu aplicativo por meio das seguintes propriedades de ambiente:


| Nome da propriedade | Descrição | Valor da propriedade | 
| --- | --- | --- | 
|  `RDS_HOSTNAME`  |  O nome do host da instância de banco de dados.  |  Na guia **Connectivity & security (Conectividade e segurança)** no console do Amazon RDS: **Endpoint**.  | 
|  `RDS_PORT`  |  A porta na qual a instância de banco de dados aceita conexões. O valor padrão varia entre os mecanismos de banco de dados.  |  Na guia **Connectivity & security (Conectividade e segurança)** do console do Amazon RDS: **Port (Porta)**.  | 
|  `RDS_DB_NAME`  |  O nome do banco de dado, **ebdb**.  |  Na guia **Configuration (Configuração)** no console do Amazon RDS: **DB Name (Nome do banco de dados)**.  | 
|  `RDS_USERNAME`  |  O nome de usuário que você configurou para seu banco de dados.  |  Na guia **Configuration (Configuração)** do console do Amazon RDS: **Nome de usuário primário**.  | 
|  `RDS_PASSWORD`  |  A senha que você configurou para seu banco de dados.  |  Não disponível para referência no console do Amazon RDS.  | 

Para obter mais informações sobre como configurar uma instância de banco de dados acoplada a um ambiente Elastic Beanstalk, consulte [Adição de um banco de dados ao seu ambiente do Elastic Beanstalk](using-features.managing.db.md).

## Download de um driver
<a name="dotnet-rds-drivers"></a>

Faça download e instale o pacote `EntityFramework` e um driver de banco de dados para o seu ambiente de desenvolvimento com `NuGet`.

**Provedores comuns de banco de dados de framework de entidade para .NET**
+ **SQL Server** – `Microsoft.EntityFrameworkCore.SqlServer`
+ **MySQL** – `Pomelo.EntityFrameworkCore.MySql`
+ **PostgreSQL** – `Npgsql.EntityFrameworkCore.PostgreSQL`

## Conectar-se a um banco de dados
<a name="dotnet-rds-connect"></a>

O Elastic Beanstalk fornece informações de conexão referentes às instâncias de banco de dados associadas nas propriedades de ambiente. Use `ConfigurationManager.AppSettings` para ler as propriedades e configurar uma conexão de banco de dados.

**Example Helpers.cs - método de string de conexão**  

```
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;

namespace MVC5App.Models
{
  public class Helpers
  {
    public static string GetRDSConnectionString()
    {
      var appConfig = ConfigurationManager.AppSettings;

      string dbname = appConfig["RDS_DB_NAME"];

      if (string.IsNullOrEmpty(dbname)) return null;

      string username = appConfig["RDS_USERNAME"];
      string password = appConfig["RDS_PASSWORD"];
      string hostname = appConfig["RDS_HOSTNAME"];
      string port = appConfig["RDS_PORT"];

      return "Data Source=" + hostname + ";Initial Catalog=" + dbname + ";User ID=" + username + ";Password=" + password + ";";
    }
  }
}
```

Use a string de conexão para inicializar o contexto do banco de dados.

**Example DBContext.cs**  

```
using System.Data.Entity;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;

namespace MVC5App.Models
{
  public class RDSContext : DbContext
  { 
    public RDSContext()
      : base(GetRDSConnectionString())
    {
    }

    public static RDSContext Create()
    {
      return new RDSContext();
    }
  }
}
```

# O AWS Toolkit for Visual Studio
<a name="dotnet-toolkit"></a>

O Visual Studio fornece modelos para diferentes linguagens de programação e tipos de aplicativos. Você pode começar com qualquer um desses modelos. O AWS Toolkit for Visual Studio também fornece três modelos de projeto que inicializam o desenvolvimento do seu aplicativo AWS : Console Project AWS , Web Project AWS e Empty Project. Para este exemplo, você vai criar um novo aplicativo web ASP.NET.

**Como criar um novo projeto de aplicativo web ASP.NET**

1. No Visual Studio, no menu **Arquivo**, clique em **Novo** e em **Projeto**.

1. Na caixa de diálogo **Novo projeto**, clique em **Modelos instalados**, clique em **Visual C\$1** e, em seguida, clique em **Web**. Clique em **Aplicativo web ASP.NET vazio**, digite um nome de projeto e, em seguida, clique em **OK**. 

**Para executar um projeto**

Execute um destes procedimentos:

1. Pressione **F5**.

1. Selecione **Iniciar depuração** no menu **Depurar**.

## Testar localmente
<a name="create_deploy_NET.sdlc.testlocal"></a>

O Visual Studio facilita testar seu aplicativo localmente. Para testar ou executar aplicativos web em ASP.NET, você precisa de um servidor web. O Visual Studio oferece várias opções, como o Internet Information Services (IIS), IIS Express ou o Visual Studio Development Server. Para saber mais sobre cada uma dessas opções e decidir qual é a melhor para você, consulte [Servidores Web no Visual Studio para projetos Web ASP.NET ](http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx).

## Criar um ambiente do Elastic Beanstalk
<a name="create_deploy_NET.sdlc.deploy"></a>

Depois de testar a aplicação, você estará pronto para implantá-la no Elastic Beanstalk.

**nota**  
O [Arquivo de configuração](ebextensions.md) precisa fazer parte do projeto para ser incluído no arquivo. Se preferir, em vez de incluir os arquivos de configuração no projeto, você pode usar o Visual Studio para implantar todos os arquivos na pasta do projeto. Em **Solution Explorer**, clique com o botão direito do mouse no nome do projeto e, em seguida, clique em **Propriedades**. Clique na guia **Package/Publish Web**. Na seção **Items to deploy**, selecione **All Files in the Project Folder** na lista suspensa.

**Para implantar seu aplicativo no Elastic Beanstalk AWS usando o kit de ferramentas do Visual Studio**

1. No **Solution Explorer**, clique com o botão direito do mouse em seu aplicativo e selecione **Publicar em AWS**.

1. No assistente **Publicar na AWS**, insira as informações da sua conta.

   1. Para **Conta da AWS a utilizar para implantação**, selecione sua conta ou selecione **Outra** para inserir as informações da nova conta. 

   1. Para **Região**, selecione a região em que você deseja implantar o aplicativo. Para obter informações sobre AWS regiões disponíveis, consulte [AWS Elastic Beanstalk Endpoints e cotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) no. *Referência geral da AWS* Se você selecionar uma região não compatível com o Elastic Beanstalk, a opção para implantar no Elastic Beanstalk se tornará indisponível.

   1.  Clique em **Implantar novo aplicativo com modelo** e selecione **Elastic Beanstalk**. Em seguida, clique em **Próximo**.  
![\[Publicar no AWS assistente 1\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-create-newapp-template.png)

1. Na página **Aplicativo**, insira os detalhes de seu aplicativo.

   1. Em **Nome**, digite o nome do aplicativo.

   1. Em **Descrição**, digite uma descrição do aplicativo. Esta etapa é opcional.

   1. O rótulo da versão do aplicativo é exibido automaticamente em **Deployment version label (Rótulo da versão de implantação)**

   1. Selecione **Implantar aplicativo incrementalmente** para implantar somente os arquivos alterados. Uma implantação incremental é mais rápida porque você está atualizando somente os arquivos alterados em vez de todos os arquivos. Se você escolher essa opção, uma versão do aplicativo será definida a partir do ID de confirmação do Git. Se você optar por não implantar seu aplicativo de forma incremental, poderá atualizar o rótulo da versão na caixa **Rótulo da versão de implantação**.   
![\[Assistente Publish to beanstalk 2\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk1.png)

   1. Clique em **Next**.

1. Na página **Ambiente**, descreva os detalhes de seu ambiente.

   1. Selecione **Criar um novo ambiente para este aplicativo**.

   1. Em **Nome**, digite um nome para o ambiente.

   1. Em **Descrição**, caracterize seu ambiente. Esta etapa é opcional.

   1. Em **Tipo**, selecione o tipo de ambiente que deseja.

      Você pode selecionar um ambiente **Carga balanceada, escalabilidade automática** ou **Única instância**. Para obter mais informações, consulte [Tipos de ambiente](using-features-managing-env-types.md).

       
**nota**  
Para ambientes de uma única instância, as configurações de balanceamento de carga, autoescalabilidade e URL de verificação de integridade não se aplicam

   1. O URL do ambiente é exibido automaticamente em **URL do ambiente** assim que você move o cursor para essa caixa.

   1. Clique em **Verificar disponibilidade** para garantir que o URL do ambiente esteja disponível.  
![\[Assistente Publish to beanstalk 3\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk2.png)

   1. Clique em **Next**.

1. Na página **Opções da AWS **, configure as opções adicionais e as informações de segurança de sua implantação. 

   1.  Em **Tipo de contêiner**, selecione **Windows Server 2012 de 64 bits executando IIS 8** ou **Windows Server 2008 de 64 bits executando IIS 7.5**.

   1. Para **Tipo de instância**, selecione **Micro**. 

   1. Para **Par de chaves**, selecione **Criar novo par de chaves**. Digite um nome para o novo par de chaves: neste exemplo, usamos **myuswestkeypair** e, depois, clique em **OK**. Um key pair permite o acesso por desktop remoto às suas instâncias da Amazon EC2 . Para obter mais informações sobre os pares de EC2 chaves da Amazon, consulte [Usando credenciais no Guia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-credentials.html) do *usuário do Amazon Elastic Compute Cloud*. 

   1. Selecione um perfil da instância.

      Se você não tiver um perfil da instância, selecione **Criar um perfil da instância padrão**. Para obter informações sobre como usar perfis de instância com o Elastic Beanstalk, consulte [Gerenciar perfis de instância do Elastic Beanstalk](iam-instanceprofile.md).

   1. Se você tiver uma VPC personalizada que gostaria de usar com seu ambiente, clique em **Iniciar no VPC**. Você pode configurar as informações da VPC na próxima página. Para obter mais informações sobre a Amazon VPC, consulte [Amazon Virtual Private Cloud (Amazon VPC)](https://aws.amazon.com/vpc/). Para obter uma lista de tipos de contêiner não legados compatíveis, consulte [Por que algumas versões de plataforma são marcadas como legadas?](using-features.migration.md#using-features.migration.why)  
![\[Assistente Publish to beanstalk 4\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_iam.png)

   1.  Clique em **Next**. 

1. Se você optou por iniciar seu ambiente dentro de uma VPC, a **Opções da VPC** será exibida; caso contrário, a página **Opções adicionais** será exibida. Aqui você configurará as opções de sua VPC.  
![\[Opções de VPC para ambiente escalável e com balanceamento de carga\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_vpc.png)  
![\[Opções da VPC para ambiente de única instância\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_vpc-single.png)

   1. Selecione o ID da VPC em que gostaria de iniciar seu ambiente. 

   1. Para um ambiente escalável e com balanceamento de carga, selecione **private (privado)** em **ELB Scheme (Esquema ELB)** se não quiser que o Elastic Load Balancer fique disponível na Internet.

      Para um ambiente de única instância, essa opção não é aplicável porque o ambiente não tem um load balancer. Para obter mais informações, consulte [Tipos de ambiente](using-features-managing-env-types.md).

   1. Para um ambiente escalável e com balanceamento de carga, selecione as sub-redes para o balanceador de carga elástico e as instâncias. EC2 Se você criou sub-redes públicas e privadas, certifique-se de que o balanceador de carga elástico e as EC2 instâncias estejam associados à sub-rede correta. Por padrão, a Amazon VPC cria uma sub-rede pública padrão usando 10.0.0.0/24 e uma sub-rede privada usando 10.0.1.0/24. Você pode visualizar suas sub-redes existentes no console da Amazon VPC em. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

      Para um ambiente de única instância, a VPC precisa apenas de uma sub-rede pública para a instância. A seleção de uma sub-rede para o load balancer não é aplicável porque o ambiente não tem um load balancer. Para obter mais informações, consulte [Tipos de ambiente](using-features-managing-env-types.md).

   1. Para um ambiente escalável e com balanceamento de carga, selecione o grupo de segurança criado para as instâncias, se aplicável.

      Para um ambiente de única instância, você não precisa de um dispositivo NAT. Selecione o security group padrão. O Elastic Beanstalk atribui um endereço IP elástico à instância, permitindo que ela acesse a Internet.

   1. Clique em **Next**.

1. Na página **Opções do aplicativo**, configure as opções de seu aplicativo. 

   1. Para o framework de destino, selecione **.NET Framework 4.0**. 

   1. O Elastic Load Balancing usa uma verificação de saúde para determinar se as EC2 instâncias da Amazon que executam seu aplicativo estão íntegras. A verificação de integridade determina um status de integridade da instância sondando um URL especificado em um intervalo definido. Você pode substituir o URL padrão para corresponder a um recurso existente no seu aplicativo (por exemplo, `/myapp/index.aspx`), inserindo-o na caixa **URL da verificação de integridade do aplicativo**. Para obter mais informações sobre como configurar verificações de integridade do aplicativo, consulte [Verificação de saúde](environments-cfg-clb.md#using-features.managing.elb.healthchecks). 

   1. Digite um endereço de e-mail para receber notificações do Amazon Simple Notification Service (Amazon SNS) sobre eventos importantes que afetam o seu aplicativo.

   1. A seção **Ambiente do aplicativo** permite que você especifique variáveis de ambiente nas EC2 instâncias da Amazon que estão executando seu aplicativo. Essa configuração proporciona maior portabilidade, pois acaba com a necessidade de recompilar o código-fonte quando você move entre ambientes.

   1. Selecione a opção de credenciais do aplicativo que deseja usar para implantar seu aplicativo.  
![\[Assistente Publish to beanstalk 6\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3a.png)

   1. Clique em **Next**.

1. Se você já tiver configurado um banco de dados do Amazon RDS, a página **Security group do banco de dados do Amazon RDS** será exibida. Se você deseja conectar seu ambiente do Elastic Beanstalk com sua instância de banco de dados do Amazon RDS, selecione um ou mais security groups. Caso contrário, vá para a próxima etapa. Quando estiver pronto, clique em **Próximo**.  
![\[Assistente Publish to beanstalk 7\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk6b.png)

1.  Revise as opções de implantação. Se tudo estiver como você deseja, clique em **Implantar**.   
![\[Assistente Publish to beanstalk 8\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk4.png)

   Seu projeto ASP.NET atualizado será exportado como um arquivo de implantação da web, enviado para o Amazon S3 e registrado como uma nova versão do aplicativo no Elastic Beanstalk. O recurso de implantação do Elastic Beanstalk irá monitorar seu ambiente até ele se tornar disponível com o código recém-implantado. Na guia env:<nome do ambiente>, você verá o status do seu ambiente.   
![\[Status do ambiente\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-env-status.png)

## Encerrar um ambiente
<a name="create_deploy_NET.terminating"></a>

Para evitar cobranças por AWS recursos não utilizados, você pode encerrar um ambiente em execução usando o AWS Toolkit for Visual Studio.

**nota**  
 Você sempre pode iniciar um novo ambiente usando a mesma versão mais tarde. 

**Para encerrar um ambiente**

1.  Expanda o nó Elastic Beanstalk e o nó da aplicação no **AWS Explorer**. Clique com o botão direito do mouse no ambiente de seu aplicativo e selecione **Encerrar ambiente**.

1. Quando solicitado, clique em **Sim** para confirmar que você deseja encerrar o ambiente. O Elastic Beanstalk levará alguns minutos para AWS encerrar os recursos em execução no ambiente.  
![\[Caixa de diálogo de encerramento do ambiente do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-terminate-confirm.png)
**nota**  
Quando você encerra o ambiente, o CNAME associado ao ambiente encerrado torna-se disponível para qualquer pessoa utilizar. 

# Implantar em seu ambiente
<a name="create_deploy_NET.sdlc.create.edit"></a>

Agora que você testou o seu aplicativo, é fácil editá-lo, reimplantá-lo e ver os resultados em instantes. 

 **Para editar e reimplantar seu aplicativo web ASP.NET ** 

1.  No **Solution Explorer**, clique com o botão direito do mouse em seu aplicativo e clique em **Republicar no ambiente < > *your environment name***. O assistente **Republicar no AWS Elastic Beanstalk** é aberto.  
![\[Assistente Publish to beanstalk 1\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-republish-beanstalk-sameenv.png)

1.  Revise os detalhes de implantação e clique em **Deploy**. 
**nota**  
Se você quiser alterar as configurações, clique em **Cancelar** e use, em vez disso, o assistente **Publicar na AWS**. Para obter instruções, consulte [Criar um ambiente do Elastic Beanstalk](dotnet-toolkit.md#create_deploy_NET.sdlc.deploy).

   Seu projeto web ASP.NET atualizado será exportado como um arquivo de implantação da web com o rótulo da nova versão, enviado para o Amazon S3 e registrado como uma nova versão do aplicativo no Elastic Beanstalk. O recurso de implantação do Elastic Beanstalk monitora seu ambiente existente até ele se tornar disponível com o código recém-implantado. Na guia **env: < *environment name* >**, você verá o status do seu ambiente. 

Você também pode implantar um aplicativo existente em um ambiente existente se, por exemplo, você precisar reverter para uma versão anterior do aplicativo. 

**Para implantar uma versão do aplicativo em um ambiente existente**

1. Clique com o botão direito do mouse na aplicação do Elastic Beanstalk expandindo o nó Elastic Beanstalk no **AWS Explorer**. Selecione **View Status**. 

1. Na guia **Aplicativo: < *application name* >**, clique em **Versões**.   
![\[Versões da aplicação\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-app-version.png)

1. Clique na versão do aplicativo que você deseja implantar e clique em **Publish Version**.

1.  No assistente **Publish Application Version**, clique em **Next**.  
![\[Assistente Publish application version 1\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-republish-beanstalk2a.png)

1.  Analise as opções de implantação e clique em **Deploy**.   
![\[Assistente Publish application version 2\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-publish-app-version-wizard3.png)

   Seu projeto ASP.NET será exportado como um arquivo de implantação da web e enviado para o Amazon S3. O recurso de implantação do Elastic Beanstalk irá monitorar seu ambiente até ele se tornar disponível com o código recém-implantado. Na guia **env: < *environment name* >**, você verá o status do seu ambiente. 

# Gerenciar os ambientes de aplicações do Elastic Beanstalk
<a name="create_deploy_NET.managing"></a>

Com o AWS Toolkit for Visual Studio e AWS o Management Console, você pode alterar o provisionamento e a configuração dos recursos usados pelos AWS ambientes de aplicativos. Para obter informações sobre como gerenciar seus ambientes de aplicativos usando o AWS Management Console, consulte[Gerenciar ambientes do Elastic Beanstalk](using-features.managing.md). Esta seção discute as configurações de serviço específicas que você pode editar no AWS Toolkit for Visual Studio como parte da configuração de ambientes de aplicações.

## Alterar os ajustes de configuração do ambiente
<a name="create_deploy_NET.managing.env"></a>

Quando você implanta seu aplicativo, o Elastic Beanstalk configura vários serviços de computação em nuvem. AWS Você pode controlar como esses serviços individuais são configurados usando o AWS Toolkit for Visual Studio.

**Para editar as configurações de ambiente de um aplicativo**
+ Expanda o nó do Elastic Beanstalk e o nó da aplicação. Depois, clique com o botão direito no ambiente do Elastic Beanstalk no **AWS Explorer**. Selecione **View Status**. 

  Agora, você pode definir as seguintes configurações:
  + de aplicativos
  + Balanceamento de carga
  + Auto Scaling
  + Notificações
  + Propriedades de ambiente

# Configurando instâncias EC2 do servidor usando o AWS kit de ferramentas do Visual Studio
<a name="create_deploy_NET.managing.ec2"></a>

O Amazon Elastic Compute Cloud (Amazon EC2) é um serviço web que você usa para iniciar e gerenciar instâncias de servidor nos datacenters da Amazon. Você pode usar as instâncias EC2 do servidor Amazon a qualquer momento, pelo tempo que precisar e para qualquer finalidade legal. As instâncias estão disponíveis em diferentes tamanhos e configurações. Para obter mais informações, acesse a [Amazon EC2](https://aws.amazon.com/ec2/).

Você pode editar a **configuração** da instância Amazon do ambiente EC2 do Elastic Beanstalk com a guia Servidor dentro da guia do ambiente do aplicativo no Toolkit for AWS Visual Studio. 

![\[Painel de configuração dos servidores do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-server.png)


## Tipos de EC2 instância da Amazon
<a name="create_deploy_NET.managing.ec2.instancetypes"></a>

**Instance type (Tipo de instância)** exibe os tipos de instância disponíveis para a aplicação do Elastic Beanstalk. Altere o tipo de instância para selecionar um servidor com as características (inclusive o tamanho da memória e a capacidade de CPU) mais adequadas à aplicação. Por exemplo, os aplicativos com operações muito intensas e demoradas podem exigir mais CPU ou memória.

Para obter mais informações sobre os tipos de EC2 instância da Amazon disponíveis para seu aplicativo Elastic Beanstalk[, consulte Tipos de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) no Guia do usuário *do Amazon* Elastic Compute Cloud.

## Grupos EC2 de segurança da Amazon
<a name="create_deploy_NET.managing.ec2.securitygroups"></a>

Você pode controlar o acesso ao seu aplicativo Elastic Beanstalk *usando EC2 * um grupo de segurança da Amazon. Um grupo de segurança define regras de firewall para suas instâncias. Essas regras especificam o tráfego de rede de entrada que será entregue à sua instância. Qualquer outro tráfego de entrada será descartado. Você pode modificar as regras para um grupo a qualquer momento. As novas regras são aplicadas automaticamente para todas as instâncias em execução e as iniciadas no futuro. 

Você pode configurar seus grupos de EC2 segurança da Amazon usando o AWS Management Console ou usando o AWS Toolkit for Visual Studio. **Você pode especificar quais grupos de EC2 segurança da Amazon controlam o acesso ao seu aplicativo Elastic Beanstalk inserindo os nomes de um ou mais nomes de grupos de segurança da EC2 Amazon (delimitados por vírgulas) na caixa de texto Security Groups. EC2 ** 

**nota**  
Certifique-se de que a porta 80 (HTTP) esteja acessível a partir de 0.0.0.0/0 como o intervalo CIDR de origem, caso deseje permitir verificações de integridade do seu aplicativo. Para obter mais informações sobre as verificações de integridade, consulte [Verificações de integridade](create_deploy_NET.managing.elb.md#create_deploy_NET.managing.elb.healthchecks).

**Para criar um grupo de segurança usando o AWS kit de ferramentas do Visual Studio**

1.  No Visual Studio, no **AWS Explorer**, expanda o EC2 nó da **Amazon** e clique duas vezes em **Security Groups**. 

1.  Clique em **Create Security Group** e insira um nome e uma descrição para o seu security group. 

1.  Clique em **OK**. 

Para obter mais informações sobre os grupos EC2 de segurança da Amazon, consulte Como [usar grupos de segurança](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) no *Guia do usuário do Amazon Elastic Compute Cloud*.

## Pares de EC2 chaves da Amazon
<a name="create_deploy_NET.managing.ec2.keypair"></a>

Você pode fazer login com segurança nas EC2 instâncias da Amazon provisionadas para seu aplicativo Elastic Beanstalk com um par de chaves da Amazon. EC2 

**Importante**  
Você deve criar um par de EC2 chaves da Amazon e configurar suas instâncias da Amazon provisionadas pelo Elastic Beanstalk para usar o EC2 par de chaves da Amazon antes de poder acessar suas EC2 instâncias da Amazon provisionadas pelo Elastic Beanstalk. EC2 Você pode criar seu par de chaves usando o AWS assistente **Publish to** dentro do AWS Toolkit for Visual Studio ao implantar seu aplicativo no Elastic Beanstalk. Se você quiser criar pares de chaves adicionais usando o Toolkit, siga as etapas abaixo. Como alternativa, você pode configurar seus pares de EC2 chaves da Amazon usando o [AWS Management Console](https://console.aws.amazon.com/). Para obter instruções sobre como criar um par de chaves para a Amazon EC2, consulte o [Guia de introdução do Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/AWSEC2/latest/GettingStartedGuide/). 

 A caixa de texto **Existing Key Pair** permite que você especifique o nome de um par de EC2 chaves da Amazon que você pode usar para fazer login com segurança nas EC2 instâncias da Amazon que executam seu aplicativo Elastic Beanstalk. 

**Para especificar o nome de um par de EC2 chaves da Amazon**

1. Expanda o EC2 nó **da Amazon** e clique duas vezes em **Key Pairs**.

1.  Clique em **Create Key Pair** e insira o nome do par de chaves. 

1.  Clique em **OK**. 

Para obter mais informações sobre os pares de EC2 chaves da Amazon, acesse [Como usar EC2 as credenciais da Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-credentials.html) no Guia do *usuário do Amazon Elastic Compute Cloud*. Para obter mais informações sobre como se conectar às EC2 instâncias da Amazon, consulte[Listar e conectar com instâncias de servidor](create_deploy_NET.ec2connect.md). 

## Intervalo de monitoramento
<a name="create_deploy_NET.managing.monitoring"></a>

 Por padrão, somente as CloudWatch métricas básicas da Amazon estão habilitadas. Elas retornam dados em intervalos de cinco minutos. Você pode habilitar CloudWatch métricas mais granulares de um minuto selecionando **1 minuto** para o **Intervalo de monitoramento** na seção **Servidor** da guia **Configuração** do seu ambiente no. AWS Toolkit for Eclipse

**nota**  
As taxas CloudWatch de serviço da Amazon podem ser aplicadas a métricas de intervalo de um minuto. Consulte a [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) para obter mais informações.

## ID da AMI personalizado
<a name="create_deploy_NET.managing.customami"></a>

 Você pode substituir a AMI padrão usada para suas EC2 instâncias da Amazon por sua própria AMI personalizada inserindo o identificador da sua AMI **personalizada na caixa ID de AMI personalizada** na seção **Servidor** da guia **Configuração** do seu ambiente no AWS Toolkit for Eclipse. 

**Importante**  
O uso da AMI própria é uma tarefa avançada que deve ser feita com cuidado. Se você precisar de uma AMI personalizada, recomendamos começar com a AMI do Elastic Beanstalk padrão e depois modificá-la. Para serem consideradas saudáveis, o Elastic Beanstalk EC2 espera que as instâncias da Amazon atendam a um conjunto de requisitos, incluindo ter um gerenciador de host em execução. Se esses requisitos não forem atendidos, talvez o ambiente não funcione corretamente.

# Configurando o Elastic Load Balancing usando AWS o kit de ferramentas para Visual Studio
<a name="create_deploy_NET.managing.elb"></a>

O Elastic Load Balancing é um serviço web da Amazon que ajuda você a aprimorar a disponibilidade e a escalabilidade de seu aplicativo. Esse serviço facilita a distribuição de cargas de aplicativos entre duas ou mais EC2 instâncias da Amazon. O Elastic Load Balancing permite disponibilidade através de redundância e é compatível com aumento de tráfego do seu aplicativo. 

 O Elastic Load Balancing permite que você distribua e balanceie automaticamente o tráfego de entrada dos aplicativos em todas as instâncias que você está executando. O serviço também facilita a adição de novas instâncias, caso você precise aumentar a capacidade do aplicativo.

 O Elastic Beanstalk provisiona automaticamente o Elastic Load Balancing ao implantar uma aplicação. Você pode editar a configuração da instância Amazon do ambiente EC2 do Elastic Beanstalk com **a guia Load Balancer dentro da** guia do ambiente do aplicativo no Toolkit AWS for Visual Studio.

![\[Painel de configuração do Elastic Load Balancing do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer.png)


 As seções a seguir descrevem os parâmetros do Elastic Load Balancing que você pode configurar para o seu aplicativo.

## Portas
<a name="create_deploy_NET.managing.elb.ports"></a>

O balanceador de carga provisionado para lidar com solicitações para seu aplicativo Elastic Beanstalk envia solicitações para as instâncias da Amazon que estão executando seu aplicativo. EC2 O balanceador de carga provisionado pode ouvir solicitações nas portas HTTP e HTTPS e rotear solicitações para as EC2 instâncias da Amazon em seu aplicativo. AWS Elastic Beanstalk Por padrão, o load balancer lida com solicitações na porta HTTP. Pelo menos uma das portas (HTTP ou HTTPS) deve estar ativada.

![\[Configuração do Elastic Load Balancing do Elastic Beanstalk: portas\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer-ports.png)


**Importante**  
Certifique-se de que a porta especificada não esteja bloqueada, caso contrário, os usuários não poderão se conectar à aplicação do Elastic Beanstalk.

### Controle da porta HTTP
<a name="create_deploy_NET.managing.elb.ports.http"></a>

Para desativar a porta HTTP, selecione **OFF** em **HTTP Listener Port**. Para ativar a porta HTTP, você deve selecionar uma porta HTTP (por exemplo, a **80**) na lista.

**nota**  
Para acessar o ambiente usando uma porta diferente da porta 80 padrão, como a porta 8080, adicione uma escuta ao load balancer existente e configure a nova escuta nessa porta.  
Por exemplo, usando o [AWS CLI for Classic load balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/create-load-balancer-listeners.html), digite o comando a seguir, *LOAD\$1BALANCER\$1NAME* substituindo-o pelo nome do seu load balancer para o Elastic Beanstalk.  

```
aws elb create-load-balancer-listeners --load-balancer-name LOAD_BALANCER_NAME --listeners "Protocol=HTTP, LoadBalancerPort=8080, InstanceProtocol=HTTP, InstancePort=80"
```
Por exemplo, usando o [AWS CLI for Application Load Balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html), digite o comando a seguir, *LOAD\$1BALANCER\$1ARN* substituindo-o pelo ARN do seu load balancer para o Elastic Beanstalk.  

```
aws elbv2 create-listener --load-balancer-arn LOAD_BALANCER_ARN --protocol HTTP --port 8080
```
Se você quiser que o Elastic Beanstalk monitore o ambiente, não remova a escuta na porta 80.

### Controle da porta HTTPS
<a name="create_deploy_NET.managing.elb.ports.https"></a>

O Elastic Load Balancing suporta o HTTPS/TLS protocolo para habilitar a criptografia de tráfego para conexões de clientes com o balanceador de carga. As conexões do balanceador de carga com as EC2 instâncias usam criptografia de texto simples. Por padrão, a porta HTTPS é desativada.

**Para ativar a porta HTTPS**

1. Crie um novo certificado usando AWS Certificate Manager (ACM) ou carregue um certificado e uma chave para AWS Identity and Access Management (IAM). Para obter mais informações sobre como solicitar um certificado do ACM, consulte [Solicitação de um certificado](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request.html) no *Manual do usuário do AWS Certificate Manager *. Para obter mais informações sobre a importação de certificados de terceiros para o ACM, consulte [Importação de certificados](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) no *Manual do usuário do AWS Certificate Manager *. Se o ACM não estiver [disponível na sua região](https://docs.aws.amazon.com/general/latest/gr/acm.html), use AWS Identity and Access Management (IAM) para carregar um certificado de terceiros. Os serviços ACM e IAM armazenarão o certificado e fornecerão um nome de recurso da Amazon (ARN) para o certificado SSL. Para obter mais informações sobre a criação e o upload de certificados para o IAM, consulte Trabalhar com certificados de servidor no [Trabalhar com certificados de servidor](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingServerCerts.html) no *Guia do usuário do IAM*.

1. Especifique a porta HTTPS selecionando uma porta em **HTTPS Listener Port**.  
![\[Configuração do Elastic Load Balancing do Elastic Beanstalk: SSL\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-elb-ssl.png)

1. Para **SSL Certificate ID** (ID de certificado SSL), insira o Nome de recurso da Amazon (ARN) do seu certificado SSL. Por exemplo, o **arn:aws:iam::123456789012:server-certificate/abc/certs/build** ou o **arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678**. Use o certificado SSL que você criou ou do qual fez upload na etapa 1.

Para desativar a porta HTTPS, selecione **OFF** em **HTTPS Listener Port**.

## Verificações de integridade
<a name="create_deploy_NET.managing.elb.healthchecks"></a>

A definição de verificação de integridade inclui um URL a ser consultado para saber a integridade da instância. Por padrão, o Elastic Beanstalk usa TCP: 80 para contêineres não legados e HTTP: 80 para contêineres legados. Você pode substituir o URL padrão para corresponder a um recurso existente no seu aplicativo (por exemplo, `/myapp/default.aspx`), inserindo-o na caixa **Application Health Check URL**. Se você substituir o URL padrão, o Elastic Beanstalk usará HTTP para consultar o recurso. Para verificar se você está usando um tipo de contêiner legado, consulte [Por que algumas versões de plataforma são marcadas como legadas?](using-features.migration.md#using-features.migration.why)

 Você pode controlar as configurações da verificação de saúde usando a seção **EC2 Instance Health Check** do painel **Load Balancing**.

![\[Configuração do Elastic Load Balancing do Elastic Beanstalk: verificações de integridade\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer-healthcheck.png)


A definição de verificação de integridade inclui um URL a ser consultado para saber a integridade da instância. Substitua o URL padrão para corresponder a um recurso existente no seu aplicativo (por exemplo, `/myapp/index.jsp`), inserindo-o na caixa **Application Health Check URL**. 

A lista a seguir descreve os parâmetros de verificação de integridade que você pode definir para o aplicativo. 
+ Em **Health Check Interval (segundos)**, insira o número de segundos que o Elastic Load Balancing espera entre as verificações de saúde das instâncias da Amazon do seu aplicativo. EC2 
+  Em **Health Check Timeout (seconds)**, especifique o número de segundos que o Elastic Load Balancing aguarda por uma resposta antes que ele considere que a instância não está respondendo.
+ Em **Healthy Check Count Threshold** e **Unhealthy Check Count Threshold**, especifique o número de testes consecutivos de URL bem-sucedidos ou sem êxito antes que o Elastic Load Balancing altere o status de integridade da instância. Por exemplo, especificar **5** em **Unhealthy Check Count Threshold** significa que o URL deve retornar uma mensagem de erro ou tempo esgotado cinco vezes consecutivas antes que o Elastic Load Balancing considere que a verificação de integridade falhou.

## Sessões
<a name="create_deploy_NET.managing.elb.sessions"></a>

Por padrão, um load balancer roteia cada solicitação de forma independente para a instância de servidor com a menor carga. Por comparação, uma sticky session vincula a sessão do usuário a uma determinada instância do servidor, para que todas as solicitações desse usuário durante a sessão sejam enviadas para a mesma instância do servidor. 

 O Elastic Beanstalk usa cookies HTTP gerados pelo balanceador de carga quando as sticky sessions são permitidas em uma aplicação. O load balancer usa um cookie especial gerado pelo load balancer para rastrear cada solicitação na instância do aplicativo. Quando o load balancer receber uma solicitação, ele primeiro verificará se esse cookie está presente na solicitação. Se estiver, a solicitação será enviada para a instância do aplicativo especificada no cookie. Se não houver um cookie, o load balancer selecionará uma instância de aplicativo com base no algoritmo de balanceamento de carga existente. Um cookie será inserido na resposta para vincular as solicitações subsequentes do mesmo usuário para essa instância do aplicativo. A configuração da política define a expiração do cookie, que estabelece a validade de cada cookie. 

Você pode usar a seção **Sessions** na guia **Load Balancer** para especificar se deseja ou não que o load balancer do seu aplicativo permita a perdurabilidade da sessão.

![\[Configuração do Elastic Load Balancing do Elastic Beanstalk: sessões\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer-sessions.png)


 Para obter mais informações sobre o Elastic Load Balancing, consulte o [Guia do desenvolvedor do Elastic Load Balancing](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/). 

# Configurando o Auto Scaling usando o kit de ferramentas AWS para Visual Studio
<a name="create_deploy_NET.managing.as"></a>

O Amazon EC2 Auto Scaling é um serviço web da Amazon projetado para iniciar ou encerrar automaticamente instâncias da EC2 Amazon com base em acionadores definidos pelo usuário. Os usuários podem configurar *grupos de Auto Scaling* e associar *triggers* a esses grupos para escalar automaticamente recursos de computação com base em métricas como uso de largura de banda ou utilização da CPU. O Amazon EC2 Auto Scaling trabalha com CloudWatch a Amazon para recuperar métricas para as instâncias do servidor que executam seu aplicativo.

O Amazon EC2 Auto Scaling permite que você pegue um grupo de EC2 instâncias da Amazon e defina vários parâmetros para que esse grupo aumente ou diminua automaticamente em número. O Amazon EC2 Auto Scaling pode adicionar ou remover EC2 instâncias da Amazon desse grupo para ajudá-lo a lidar perfeitamente com as mudanças de tráfego em seu aplicativo. 

 O Amazon EC2 Auto Scaling também monitora a integridade de cada EC2 instância da Amazon que ele executa. Se alguma instância for encerrada inesperadamente, o Amazon EC2 Auto Scaling detecta o encerramento e executa uma instância substituta. Esse recurso permite que você mantenha automaticamente um número fixo e desejado de EC2 instâncias da Amazon. 

O Elastic Beanstalk provisiona o EC2 Amazon Auto Scaling para sua aplicação. Você pode editar a configuração da instância Amazon do ambiente EC2 do Elastic Beanstalk com **a guia Auto Scaling dentro da** guia do ambiente do aplicativo no Toolkit for AWS Visual Studio.

![\[Painel de configuração de Auto Scaling do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-autoscaling.png)


A seção a seguir discute como configurar os parâmetros de Auto Scaling para seu aplicativo. 

## Iniciar a configuração
<a name="create_deploy_NET.managing.as.launchconfig"></a>

Você pode editar a configuração de lançamento para controlar como seu aplicativo Elastic Beanstalk provisiona os recursos do EC2 Amazon Auto Scaling.

As caixas **Minimum Instance Count (Contagem de instância mínima)** e **Maximum Instance Count (Contagem de instância máxima)** permitem que você especifique os tamanhos mínimo e máximo do grupo de Auto Scaling que a aplicação do Elastic Beanstalk usa.

![\[Janela de configuração de execução do Auto Scaling do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-autoscaling-launchconfig.png)


**nota**  
Para manter um número fixo de EC2 instâncias da Amazon, defina a **Contagem mínima de instâncias** e a **Contagem máxima de instâncias** com o mesmo valor.

A caixa **Zonas de disponibilidade** permite que você especifique o número de zonas de disponibilidade nas quais você deseja que suas EC2 instâncias da Amazon estejam. É importante definir esse número se quiser criar aplicativos tolerantes a falhas. Se uma Zona de disponibilidade ficar inativa, suas instâncias continuarão sendo executadas em suas outras Zonas de disponibilidade. 

**nota**  
No momento, não é possível especificar a zona de disponibilidade na qual sua instância estará. 

## Acionadores
<a name="create_deploy_NET.managing.as.trigger"></a>

Um *gatilho* é um mecanismo do Amazon EC2 Auto Scaling que você configura para informar ao sistema quando você quer aumentar (*escalar*) o número de instâncias e quando você quer diminuir (*escalar*) o número de instâncias. Você pode configurar gatilhos para serem *acionados* em qualquer métrica publicada na Amazon CloudWatch, como a utilização da CPU, e determinar se as condições especificadas foram atendidas. Quando o limite superior ou inferior das condições que você especificou para a métrica forem violados para o período especificado, o trigger iniciará um processo de longa duração chamado de *ação de escalabilidade*.

Você pode definir um gatilho de escalabilidade para seu aplicativo Elastic Beanstalk usando o Toolkit AWS for Visual Studio.

![\[Trigger de Auto Scaling do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-autoscaling-triggers.png)


Os gatilhos do Amazon EC2 Auto Scaling funcionam observando uma CloudWatch métrica específica da Amazon para uma instância. Os triggers incluem utilização de CPU, tráfego de rede e a atividade do disco. Use a configuração **Trigger Measurement** para selecionar uma métrica para o trigger.

A lista a seguir descreve os parâmetros de acionamento que você pode configurar usando o AWS Management Console.
+ Você pode especificar quais estatísticas o trigger deve usar. Você pode selecionar **Minimum**, **Maximum**, **Sum** ou **Average** em **Trigger Statistic**.
+ Em **Unit of Measurement**, especifique a unidade de medida do trigger.
+ O valor na caixa **Período de medição** especifica com que frequência a Amazon CloudWatch mede as métricas do seu gatilho. A **Breach Duration** é a quantidade de tempo que uma métrica pode ficar além do limite definido (conforme especificado em **Upper Threshold** e **Lower Threshold**) antes que o trigger seja acionado.
+ Para incremento **superior da escala de violação e incremento** **inferior da escala de violação, especifique quantas EC2 instâncias da** Amazon devem ser adicionadas ou removidas ao realizar uma atividade de escalabilidade. 

Para obter mais informações sobre o Amazon EC2 Auto Scaling, consulte a seção *Amazon Auto EC2 Scaling* na documentação do [Amazon Elastic](https://aws.amazon.com/documentation/ec2/) Compute Cloud.

# Configurando notificações usando o AWS kit de ferramentas para Visual Studio
<a name="create_deploy_NET.container.sns"></a>

O Elastic Beanstalk usa o Amazon Simple Notification Service (Amazon SNS) para notificar você de eventos importantes que afetam sua aplicação. Para permitir notificações do Amazon SNS, basta inserir seu endereço de e-mail na caixa **Email Address**. Para desativar essas notificações, remova seu endereço de e-mail da caixa.

![\[Janela de notificações do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-notifications.png)


# Configurando contêineres.NET usando o AWS kit de ferramentas para Visual Studio
<a name="create_deploy_NET.container"></a>

 O painel **Container/.net Options** permite que você ajuste o comportamento de suas EC2 instâncias da Amazon e habilite ou desabilite a rotação de logs do Amazon S3. Você pode usar o AWS Toolkit for Visual Studio para configurar as informações do contêiner.

**nota**  
É possível modificar as definições de configuração com tempo de inatividade zero, basta trocar o CNAME dos ambientes. Para obter mais informações, consulte [Implantações azuis/verdes com o Elastic Beanstalk](using-features.CNAMESwap.md).

Se desejar, você pode estender o número de parâmetros. Para obter mais informações sobre como estender os parâmetros, consulte [Configurações de opção](ebextensions-optionsettings.md).

**Como acessar o painel de opções de contêiner/.NET para a aplicação do Elastic Beanstalk**

1. No AWS Toolkit for Visual Studio, expanda o nó do Elastic Beanstalk e o nó do seu aplicativo. 

1. No **AWS Explorer**, clique duas vezes no ambiente do Elastic Beanstalk.

1. Na parte inferior do painel **Overview**, clique na guia **Configuration**.

1. Em **Container**, configure as opções de contêiner.   
![\[Painel de contêiner do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-container.png)

## Opções de contêiner .NET
<a name="create_deploy_NET.container.vs.options"></a>

Você pode escolher a versão do. NET Framework para o seu aplicativo. Escolha 2.0 ou 4.0 para o **Target runtime**. Selecione **Enable 32-bit Applications** se quiser permitir aplicativos de 32 bits.

## Configurações do aplicativo
<a name="create_deploy_NET.container.vs.options.envprop"></a>

A seção **Application Settings** permite que você defina as variáveis de ambiente que você pode ler do código do seu aplicativo. 

![\[Painel de contêiner do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-container-envproperties.png)


# Gerenciar contas
<a name="create_deploy_NET.accounts"></a>

## 
<a name="create_deploy_NET.accounts.details"></a>

Se você quiser configurar AWS contas diferentes para realizar tarefas diferentes, como teste, preparação e produção, você pode adicionar, editar e excluir contas usando o AWS Toolkit for Visual Studio.

**Para gerenciar várias contas**

1.  No Visual Studio, no menu **View** (Exibir), clique em **AWS Explorer**.

1.  Ao lado da lista **Conta**, clique no botão **Adicionar Conta**.   
![\[AWS aba explorer\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-aws-explorer-tab.png)

    A caixa de diálogo **Adicionar Conta** é exibida.   
![\[Caixa de diálogo Adicionar conta\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-add-account.png)

1. Preencha as informações solicitadas. 

1.  As informações da sua conta aparecem na guia **AWS Explorer**. Quando você publicar no Elastic Beanstalk, poderá selecionar a conta que deseja usar. 

# Listar e conectar com instâncias de servidor
<a name="create_deploy_NET.ec2connect"></a>

Você pode ver uma lista de EC2 instâncias da Amazon executando seu ambiente de aplicativos do Elastic Beanstalk por meio do Toolkit AWS for Visual Studio ou do Management Console. AWS Você pode se conectar a essas instâncias usando a conexão de desktop remoto. Para obter informações sobre como listar e se conectar às instâncias do seu servidor usando o AWS Management Console, consulte[Listar e conectar com instâncias de servidor](using-features.ec2connect.md). A seção a seguir mostra e conecta você às instâncias do servidor usando o AWS Toolkit for Visual Studio.

**Para visualizar e se conectar às EC2 instâncias da Amazon para um ambiente**

1.  No Visual Studio, no **AWS Explorer**, expanda o EC2 nó da **Amazon** e clique duas vezes em **Instâncias**. 

1.  Clique com o botão direito do mouse no ID da EC2 instância da Amazon em execução no balanceador de carga do seu aplicativo na coluna **Instância** e selecione **Abrir área de trabalho remota** no menu de contexto.   
![\[Abra a caixa de diálogo desktop remoto\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-rdp-login.png)

1.  Selecione **Usar EC2 par de chaves para fazer login** e colar o conteúdo do arquivo de chave privada que você usou para implantar seu aplicativo na caixa **Chave privada**. Como alternativa, insira seu nome de usuário e senha nas caixas de texto **Nome de usuário** e **Senha**.
**nota**  
Se o par de chaves estiver armazenado no Toolkit, a caixa de texto não será exibida.

1. Clique em **OK**.

# Monitorar a integridade do aplicativo
<a name="create_deploy_NET.healthstatus"></a>

Quando você executa um site de produção, é importante saber que seu aplicativo está disponível e respondendo às solicitações. Para ajudar a monitorar a capacidade de resposta da aplicação, o Elastic Beanstalk dispõe de recursos que monitoram as estatísticas sobre a aplicação e criam alertas que são acionados quando os limites são excedidos.

Para obter informações sobre o monitoramento de integridade fornecido pelo Elastic Beanstalk, consulte [Relatórios de integridade básica](using-features.healthstatus.md).

Você pode acessar informações operacionais sobre seu aplicativo usando o AWS Toolkit for Visual Studio ou AWS o Management Console.

O toolkit exibe o status do ambiente e a integridade do aplicativo no campo **Status**.

![\[Estado de integridade do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-env-status.png)


**Para monitorar a integridade do aplicativo**

1. No AWS Toolkit for Visual Studio, **AWS no** Explorer, expanda o nó do Elastic Beanstalk e, em seguida, expanda o nó do seu aplicativo. 

1. Clique com o botão direito do mouse no ambiente do Elastic Beanstalk e, depois, clique em **View Status (Visualizar status)**.

1. Na guia do seu ambiente de aplicativos, clique em **Monitoramento**.

   O painel **Monitoramento** inclui um conjunto de gráficos que mostra o uso de recursos do seu ambiente de aplicativos específico.  
![\[Painel de monitoramento do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-monitoring.png)
**nota**  
Por padrão, o intervalo de tempo é definido como a última hora. Para modificar essa configuração, na lista **Período**, clique em um período diferente.

Você pode usar o AWS Toolkit for Visual Studio ou AWS o Management Console para visualizar eventos associados ao seu aplicativo.

**Para visualizar eventos do aplicativo**

1. No AWS Toolkit for Visual Studio, **AWS no** Explorer, expanda o nó do Elastic Beanstalk e o nó do seu aplicativo. 

1. Clique com o botão direito do mouse no ambiente do Elastic Beanstalk em **AWS Explorer** e, depois, clique em **View Status** (Visualizar status). 

1. Na guia do seu ambiente de aplicativos, clique em **Eventos**.  
![\[Painel de eventos do Elastic Beanstalk\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/images/aeb-vs-events.png)

# Implantação de aplicativos do Elastic Beanstalk no.NET usando ferramentas de implantação AWS
<a name="deploy_NET_standalone_tool"></a>

AWS oferece duas ferramentas de linha de comando para implantar aplicativos.NET Core e ASP.NET Core no Elastic Beanstalk:
+ **AWS Ferramenta de implantação do.NET — Uma ferramenta** moderna de linha de comando que simplifica a implantação de aplicativos.NET em AWS serviços, incluindo o Elastic Beanstalk. Essa ferramenta fornece uma experiência interativa e pode detectar automaticamente o melhor AWS serviço para seu aplicativo. Para obter mais informações, consulte [Ferramenta de implantação do .NET da AWS](https://github.com/aws/aws-dotnet-deploy?tab=readme-ov-file#aws-net-deployment-tool).
+ **AWS Extensões para .NET CLI** — Um conjunto de extensões do.NET CLI que fornecem comandos para a implantação de aplicativos.NET Core no Elastic Beanstalk e em outros serviços. AWS Essas extensões se integram ao fluxo de trabalho padrão da CLI do .NET. Para obter mais informações, consulte [Extensões da AWS para CLI do .NET](https://github.com/aws/aws-extensions-for-dotnet-cli?tab=readme-ov-file#aws-elastic-beanstalk-amazonelasticbeanstalktools).

# Migrar a aplicação .NET no local para o Elastic Beanstalk
<a name="dotnet-onpremmigration"></a>

AWS Elastic Beanstalk fornece um caminho de migração simplificado para seus aplicativos Windows executados nos Serviços de Informações da Internet (IIS) por meio da Interface de Linha de Comando (EB CLI) do Elastic Beanstalk. O **eb migrate** comando descobre automaticamente seus sites, aplicativos e diretórios virtuais do IIS, preserva suas configurações e os implanta na nuvem. AWS 

Esse recurso de migração integrado oferece uma abordagem mais simples que reduz a complexidade e o tempo normalmente associados às migrações para a nuvem. O processo de migração ajuda a manter a funcionalidade do aplicativo e a integridade da configuração durante a transição para AWS o.

Para obter instruções completas e detalhadas sobre como migrar seus aplicativos do IIS para AWS Elastic Beanstalk, consulte o [Migrar aplicações do IIS para o Elastic Beanstalk](dotnet-migrating-applications.md) capítulo deste guia.

# Recomendações para componentes retirados do Windows Server no Elastic Beanstalk
<a name="dotnet-deprecation-recommendations"></a>

Este tópico fornece recomendações se suas aplicações estiverem sendo executadas atualmente nas ramificações da plataforma retiradada do Windows Server 2012 R2. Ele também aborda o suporte obsoleto para as versões dos protocolos TLS 1.0 e 1.1 em nossos endpoints de API de AWS serviço e nas ramificações da plataforma afetada.

## Descontinuação das ramificações da plataforma Windows Server 2012 R2
<a name="dotnet-retired-branches"></a>

O Elastic Beanstalk retirou as [filiais da plataforma Windows Server 2012 R2 em 4 de dezembro de](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2023-12-04-windows-2012-retire.html) 2023 e AMIs tornou privadas as associadas a essas plataformas em 10 de abril de 2024. Essa ação impede o lançamento de instâncias em ambientes Windows Server 2012 que usam a AMI padrão do Beanstalk.

Se tiver algum ambiente em execução em filiais retiradadas da plataforma Windows, recomendamos que você o migre para uma das seguintes plataformas do Windows Server, que são atuais e totalmente compatíveis:
+ Windows Server 2022 com IIS 10.0 versão 2.x
+ Windows Server 2019 com IIS 10.0 versão 2.x

Veja considerações completas sobre migração em [Migrar de versões principais anteriores da plataforma do Windows Server](dotnet-v2migration.md#dotnet-v2migration.migration).

Para obter mais informações sobre a substituição da plataforma, consulte [Política de suporte às plataformas do Elastic Beanstalk](platforms-support-policy.md).

**nota**  
Se você não conseguir migrar para essas plataformas totalmente suportadas, recomendamos usar a imagem personalizada AMIs criada com o Windows Server 2012 R2 ou o Windows Server 2012 R2 Core AMIs como imagem base, caso ainda não tenha feito isso. Para obter instruções detalhadas, consulte [Preservar o acesso a uma imagem de máquina da Amazon (AMI) para uma plataforma descontinuada](using-features.customenv-env-copy.md). Entre em contato com o [Centro de suporte da AWS](https://console.aws.amazon.com/support/home#/) se precisar de acesso temporário a uma AMI enquanto executa uma dessas etapas de migração.

## Compatibilidade com TLS 1.2
<a name="tls-1-2-enforcement."></a>

Em 31 de dezembro de 2023, AWS começou a aplicar totalmente o TLS 1.2 em todos os endpoints AWS da API. Essa ação removeu a capacidade de usar as versões 1.0 e 1.1 do TLS com todos AWS APIs. Essas informações foram originalmente comunicadas em [28 de junho de 2022](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/). Para evitar o risco de impacto na disponibilidade, atualize todos os ambientes que estejam executando as versões de plataforma identificadas aqui para uma versão mais recente o mais rápido possível, caso ainda não tenha feito isso.

**Impacto potencial**  
As versões das plataformas Elastic Beanstalk que executam o TLS v1.1 ou anterior são afetadas. Essa alteração afeta as ações do ambiente que incluem, entre outras, as seguintes: implementações de configuração, implementações de aplicações, ajuste de escala automático, lançamento de novo ambiente, rotação de logs, relatórios de integridade aprimorados e publicação de logs de aplicações no bucket do Amazon S3 associado às suas aplicações.

**Versões da plataforma Windows afetadas**  
Os clientes com ambientes Elastic Beanstalk na seguinte versão de plataforma são aconselhados a atualizar cada um de seus ambientes correspondentes para a plataforma Windows versão 2.8.3 ou posterior, lançada em [18 de fevereiro de 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-02-18-windows.html).
+ Windows Server 2019 - versão da plataforma 2.8.2 ou anteriores

Os clientes com ambientes Elastic Beanstalk nas seguintes versões de plataforma são aconselhados a atualizar cada um de seus ambientes correspondentes para a plataforma Windows versão 2.10.7 ou posterior, lançada em [28 de dezembro de 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-12-28-windows.html).
+ Windows Server 2016 - versão da plataforma 2.10.6 ou versões anteriores
+ Windows Server 2012: todas as versões da plataforma; essa plataforma foi descontinuada em [4 de dezembro de 2023](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2023-12-04-windows-2012-retire.html) 
+ Windows Server 2008 — todas as versões da plataforma; essa plataforma foi desativada em [28 de outubro de 2019](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2019-10-28-windows.html) 

Para obter a lista das versões da plataforma Windows Server mais recentes e compatíveis, consulte [Plataformas compatíveis](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net) no guia *Plataformas do AWS Elastic Beanstalk *. 

Para obter detalhes e melhores práticas sobre como atualizar seu ambiente, consulte [Atualizar a versão de plataforma do ambiente Elastic Beanstalk](using-features.platform.upgrade.md).