

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 uma aplicação no Elastic Beanstalk tradicional
<a name="deployment-beanstalk-traditional"></a>

Esta seção descreve como usar o assistente **Publicar no Elastic Beanstalk**, fornecido como parte do kit de ferramentas para Visual Studio, para implantar uma aplicação por meio do Elastic Beanstalk. Para praticar, você pode usar uma instância de um projeto inicial de aplicativo web compilado no Visual Studio ou usar o próprio projeto.

**nota**  
O assistente também dá suporte à implantação de aplicativos do ASP.NET Core. Para obter informações sobre o ASP.NET Core, consulte o guia [AWS .NET deployment tool](https://aws.github.io/aws-dotnet-deploy/) e o sumário atualizado de [Deploying to AWS](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-chapt.html).

**nota**  
Antes de usar o assistente **Publish to Elastic Beanstalk (Publicar no Elastic Beanstalk)**, é necessário fazer download e instalar [Web Deploy](http://www.microsoft.com/en-us/download/details.aspx?id=39277). O assistente depende do Web Deploy para implantar aplicativos web e sites aos servidores web do Internet Information Services (IIS).

## Para criar um projeto inicial de aplicativo web de exemplo
<a name="to-create-a-sample-web-application-starter-project"></a>

1. No Visual Studio, no menu **File (Arquivo)**, escolha **New (Novo)** e **Project (Projeto)**.

1. No painel de navegação da caixa de diálogo **Novo projeto**, expanda **Instalado**, **Modelos**, **Visual C\#** e escolha **Web**.

1. Na lista de modelos de projeto da web, escolha qualquer modelo que contenha as palavras `Web` e `Application` na descrição. Para este exemplo, escolha **ASP.NET Web Forms Application (Aplicativo de formulários web do ASP.NET)**.  
![Novo diálogo de projeto com o modelo de aplicativo ASP.NET Web Forms selecionado na lista.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-new-web-project-console.png)

1. Na caixa **Name (Nome)**, digite `AEBWebAppDemo`.

1. Na caixa **Location (Local)**, digite o caminho para uma pasta de solução na máquina de desenvolvimento ou escolha **Browse (Navegar)** e navegue até e escolha uma pasta de solução e escolha **Select Folder (Selecionar pasta)**.

1. Confirme se a caixa **Criar diretório para solução** está marcada. Na lista suspensa **Solution (Solução)**, confirme se **Create new solution (Criar nova solução)** está selecionado e escolha **OK**. O Visual Studio criará uma solução e um projeto com base no modelo de projeto ASP.NET Web Forms Application. O Visual Studio acabará exibindo o Solution Explorer, onde a nova solução e o projeto são exibidos.  
![Solution Explorer mostrando ABEWeb AppDemo a solução com a estrutura de arquivos e pastas do projeto.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-web-app-solution-explorer-console.png)

## Para implantar um aplicativo usando o assistente Publish to Elastic Beanstalk
<a name="to-deploy-an-application-by-using-the-publish-to-elastic-beanstalk-wizard"></a>

1. No Solution Explorer, abra o menu de contexto (clique com o **AEBWebAppDemo**botão direito do mouse) da pasta do projeto que você criou na seção anterior ou abra o menu de contexto da pasta do projeto do seu próprio aplicativo e escolha **Publicar no AWS Elastic Beanstalk**.  
![Menu de contexto do Solution Explorer com a AWS Elastic Beanstalk opção Publicar em destaque.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-publish-to-aws-console.png)

   O assistente **Publish to Elastic Beanstalk (Publicar no Elastic Beanstalk)** é exibido.  
![Publique no AWS Elastic Beanstalk assistente com a seção Aplicativo selecionada na navegação à esquerda.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-aeb-wizard-app-console.png)

1. Em **Perfil**, na lista suspensa **Perfil da conta a ser usado para implantação**, escolha o perfil da AWS conta que você deseja usar para a implantação.

   Opcionalmente, se você tem uma AWS conta que deseja usar, mas ainda não criou um perfil de AWS conta para ela, você pode escolher o botão com o símbolo de adição (`+`) para adicionar um perfil de AWS conta.

1. Na lista suspensa **Região**, escolha a região na qual você deseja que o Elastic Beanstalk implante a aplicação.

1. Em **Deployment Target (Destino de implantação)**, você pode escolher **Create a new application environment (Criar um novo ambiente de aplicativo)** para realizar uma implantação inicial de um aplicativo ou **Redeploy to an existing environment (Reimplantar em um ambiente existente)** para reimplantar um aplicativo já implantado. (As implantações anteriores podem ter sido realizadas com o assistente ou a ferramenta de implantação autônoma descontinuada.) Se você escolher **Redeploy to an existing environment (Reimplantar em um ambiente existente)**, poderá haver um atraso enquanto o assistente recupera informações de implantações anteriores em execução no momento.
**nota**  
Se você escolher **Redeploy to an existing environment (Reimplantar em um ambiente existente)**, escolha um ambiente na lista e **Next (Próximo)**, e o assistente levará você diretamente até a página **Application Options (Opções de aplicativo)**. Se você seguir essa rota, passe diretamente às instruções posteriormente nesta seção que descrevem como usar a página **Application Options (Opções de aplicativo)**.

1. Escolha **Próximo**.  
![Página do ambiente do aplicativo com os campos nome do aplicativo, nome do ambiente e URL.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-aeb-wizard-env-console.png)

1. Na página **Application Environment (Ambiente de aplicativo)**, na área **Application (Aplicativo)**, a lista suspensa **Name (Nome)** propõe um nome padrão para o aplicativo. Você pode alterar o nome padrão escolhendo um nome diferente na lista suspensa.

1. Na área **Ambiente**, na lista suspensa **Nome**, digite um nome para o ambiente do Elastic Beanstalk. Neste contexto, o termo *ambiente* se refere às provisões de infraestrutura do Elastic Beanstalk para a aplicação. Um nome padrão já pode ter sido proposto nessa lista suspensa. Se um nome padrão ainda não tiver sido proposto, você poderá digitar um ou escolher um na lista suspensa, se nomes adicionais estiverem disponíveis. O nome do ambiente não pode ter mais que 23 caracteres.

1. Na área **URL**, a caixa propõe um subdomínio padrão de `.elasticbeanstalk.com` que será o URL do aplicativo web. Você pode alterar o subdomínio padrão digitando um novo nome de subdomínio.

1. Escolha **Check availability (Verificar disponibilidade)** para verificar se o URL do aplicativo web ainda não está em uso.

1. Se o URL do aplicativo da web puder ser usado, escolha **Next (Próximo)**.

![AWS Página de opções mostrando a configuração do EC2 com tipo de instância, configurações de VPC e permissões.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-aeb-wizard-ec2-console.png)


1. Na página **Opções da AWS **, em **Configuração de inicialização do Amazon EC2**, na lista suspensa **Tipo de contêiner**, escolha um tipo de imagem de máquina da Amazon (AMI) a ser usado na aplicação.

1. Na lista suspensa **Tipo de instância**, especifique um tipo de instância do Amazon EC2 a ser usado. Para este exemplo, recomendamos usar **Micro**. Isso minimizará o custo associado à execução da instância. Para obter mais informações sobre os custos do Amazon EC2, acesse a página [Preço do Amazon EC2](https://aws.amazon.com/ec2/pricing/).

1. Na lista suspensa **Par de chaves**, escolha um par de chaves da instância do Amazon EC2 a ser usado para fazer login nas instâncias que serão usadas na aplicação.

1. Como opção, na caixa **Use custom AMI (Usar AMI personalizada)**, você pode especificar uma AMI personalizada que substituirá a AMI especificada na lista suspensa **Container type (Tipo de contêiner)**. Para obter mais informações sobre como criar uma AMI personalizada, acesse Como [usar a personalização AMIs](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.customami.html) no Guia do desenvolvedor do [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/) [e Criar uma AMI a partir de uma instância](tkv-create-ami-from-instance.md) do Amazon EC2.

1. Se você quiser iniciar as instâncias em uma VPC, marque a caixa **Use a VPC (Usar uma VPC)**.

1. Opcionalmente, se você quiser executar uma única instância do Amazon EC2 e implantar a aplicação nela, marque a caixa **Ambiente de instância única**.

   Se você marcar essa caixa, o Elastic Beanstalk continuará a criar um grupo do Auto Scaling, mas não o configurará. Se quiser configurar o grupo do Auto Scaling posteriormente, você poderá usar o Console de gerenciamento da AWS.

1. Se você quiser controlar as condições nas quais o aplicativo é implantado nas instâncias, marque a caixa **Enable Rolling Deployments (Habilitar a liberação de implantações)**. Você só poderá marcar essa caixa se não tiver marcado a caixa **Single instance environment (Ambiente de única instância)**.

1. Se seu aplicativo usa AWS serviços como Amazon S3 e DynamoDB, a melhor maneira de fornecer credenciais é usar uma função do IAM. Na área **Permissões da aplicação implantada**, você pode escolher um perfil do IAM ou criar um que o assistente usará para iniciar o ambiente. Os aplicativos que usam o AWS SDK para .NET usarão automaticamente as credenciais fornecidas por essa função do IAM ao fazer uma solicitação a um AWS serviço.

1. Se a aplicação acessar um banco de dados do Amazon RDS, na lista suspensa na área **Acesso ao banco de dados relacional**, marque as caixas ao lado de todos os grupos de segurança do Amazon RDS que o assistente atualizará, para que as instâncias do Amazon EC2 possam acessar esse banco de dados.

1. Escolha **Próximo**.
   + Se você tiver selecionado **Use a VPC (Usar uma VPC)**, a página **VPC Options (Opções da VPC)** será exibida.
   + Se você tiver selecionado **Enable Rolling Deployments (Habilitar a liberação de implantações)**, mas não **Use a VPC (Usar uma VPC)**, a página **Rolling Deployments (Liberação de implantações)** será exibida. Passe diretamente às instruções posteriormente nesta seção que descrevem como usar a página **Rolling Deployments (Liberação de implantações)**.
   + Se você não tiver selecionado **Use a VPC (Usar uma VPC)** ou **Enable Rolling Deployments (Habilitar a liberação de implantações)**, a página **Application Options (Opções de aplicativo)** será exibida. Passe diretamente às instruções posteriormente nesta seção que descrevem como usar a página **Application Options (Opções de aplicativo)**.

1. Se você tiver selecionado **Use a VPC (Usar uma VPC)**, especifique as informações na página **VPC Options (Opções de VPC)** para iniciar o aplicativo em uma VPC.  
![Página de opções de VPC com campos para VPC, esquema ELB, sub-rede ELB, sub-rede de instâncias e grupo de segurança.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-aeb-wizard-vpc-console.png)

   A VPC já deve ter sido criada. Se tiver criado a VPC no kit de ferramentas para Visual Studio, este preencherá essa página para você. Se você tiver criado a VPC no [Console de Gerenciamento da AWS](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo-vpc-basic.html), digite informações sobre a VPC nessa página.

## Considerações fundamentais para a implantação em uma VPC
<a name="key-considerations-for-deployment-to-a-vpc"></a>
+ A VPC precisa de pelo menos uma pública e uma sub-rede privada.
+ Na lista suspensa *ELB Subnet (Sub-rede do ELB)*, especifique a sub-rede pública. O kit de ferramentas para Visual Studio implanta o balanceador de carga do Elastic Load Balancing para a aplicação na sub-rede pública. A sub-rede pública é associada a uma tabela de roteamento com uma entrada apontando para um Internet Gateway. Você pode reconhecer um Internet Gateway porque ele possui um ID que começa com `igw-` (por exemplo, `igw-83cddaex`). As sub-redes públicas criadas por você usando o kit de ferramentas para Visual Studio têm valores de tag que as identificam como públicas.
+ Na lista suspensa *Instances Subnet (Sub-rede de instâncias)*, especifique a sub-rede privada. O kit de ferramentas para Visual Studio implanta as instâncias do Amazon EC2 da aplicação na sub-rede privada.
+ As instâncias do Amazon EC2 da aplicação comunicam-se pela sub-rede privada com a internet por meio de uma instância do Amazon EC2 na sub-rede pública que realiza a conversão de endereços de rede (NAT). Para permitir essa comunicação, você precisará de um [grupo de segurança da VPC](https://console.aws.amazon.com/vpc/home) que permite o fluxo de tráfego da sub-rede para a instância NAT. Especifique esse grupo de segurança da VPC na lista suspensa *Security Group (Grupo de segurança)*.

Para obter mais informações sobre como implantar uma aplicação do Elastic Beanstalk em uma VPC acesse o [Guia do desenvolvedor do AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/).

1. Depois que você tiver preenchido todas as informações na página **VPC Options (Opções da VPC)**, escolha **Next (Próximo)**.
   + Se você tiver selecionado **Enable Rolling Deployments (Habilitar a liberação de implantações)**, a página **Rolling Deployments (Liberação de implantações)** será exibida.
   + Se você não tiver selecionado **Enable Rolling Deployments (Habilitar a liberação de implantações)**, a página **Application Options (Opções de aplicativo)** será exibida. Passe diretamente às instruções posteriormente nesta seção que descrevem como usar a página **Application Options (Opções de aplicativo)**.

1. Se tiver selecionado **Enable Rolling Deployments (Habilitar a liberação de implantações)**, você especifica informações na página **Rolling Deployments (Liberação de implantações)** para configurar como novas versões dos aplicativos são implantadas nas instâncias em um ambiente com balanceamento de carga. Por exemplo, se tiver quatro instâncias no ambiente e quiser alterar o tipo de instância, você poderá configurar o ambiente para alterar duas instâncias por vez. Isso ajuda a garantir que o aplicativo ainda esteja em execução enquanto as alterações estão sendo feitas.  
![Página de implantações contínuas com atualizações de versão do aplicativo com base em porcentagem e configurações de tamanho de lote.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-aeb-wizard-rolling-console.png)

1. Na área *Application Versions (Versões de aplicativo)*, escolha uma opção para controlar implantações em uma porcentagem ou número de instâncias por vez. Especifique a porcentagem ou o número desejado.

1. Como opção, na área *Environment Configuration (Configuração do ambiente)*, marque a caixa se você quiser especificar o número de instâncias que permanecem em serviço durante as implantações. Se você marcar essa caixa, especifique o número máximo de instâncias que devem ser modificadas por vez, o número mínimo de instâncias que devem permanecer em serviço por vez, ou ambos.

1. Escolha *Próximo*.

1. Na página **Application Options (Opções de aplicativo)**, você especifica informações sobre a compilação, o Internet Information Services (IIS) e as configurações do aplicativo.  
![Página de opções do aplicativo com campos de configuração de compilação, pool de aplicativos, caminho do aplicativo e URL de verificação de integridade.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-aeb-wizard-options-console.png)

1. Na área **Build and IIS Deployment Settings (Configurações de compilação e implantação IIS)**, na lista suspensa **Project build configuration (Configuração de compilação do projeto)**, escolha a configuração da compilação de destino. Se o assistente conseguir encontrá-la, **Release (Liberar)** será exibida, e a configuração ativa é mostrada nessa caixa.

1. Na lista suspensa **App pool (Grupo de aplicativos)**, escolha a versão do .NET Framework exigida pelo aplicativo. A versão do .NET Framework correta já deve ser exibida.

1. Se o aplicativo for 32 bits, marque a caixa **Enable 32-bit applications (Habilitar aplicativos de 32 bits)**.

1. Na caixa **App path (Caminho de aplicativo)**, especifique o caminho que o IIS usará para implantar o aplicativo. Por padrão, **Default Web Site/** é especificado, o que normalmente se converte no caminho `c:\inetpub\wwwroot`. Se especificar um caminho diferente de **Default Web Site/**, o assistente colocará um redirecionamento no caminho **Default Web Site/** apontando para o caminho especificado por você.

1. Na área **Configurações de aplicação**, na caixa **URL de verificação de integridade**, digite um URL para o Elastic Beanstalk a fim de verificar se a aplicação web ainda responde. Este URL é relativo ao URL do servidor raiz. O URL do servidor raiz é especificado por padrão. Por exemplo, se o URL completo fosse `example.com/site-is-up.html`, você digitaria `/site-is-up.html`.

1. Na área de **Key (Chave)** e **Value (Valor)**, você pode especificar os pares de chave e valor que deseja adicionar ao arquivo `Web.config` do aplicativo.
**nota**  
Embora não seja recomendado, você pode usar a área de **Chave** e **Valor** para especificar AWS as credenciais sob as quais seu aplicativo deve ser executado. A abordagem preferida é especificar um perfil do IAM na lista suspensa **Perfil do Identity and Access Management** da página **Opções da AWS **. No entanto, se você precisar usar AWS credenciais em vez de uma função do IAM para executar seu aplicativo, na linha **Chave**, escolha **AWSAccessChave**. Na linha **Value (Valor)**, digite a chave de acesso. Repita essas etapas para **AWSSecretKey**.

1. Escolha **Próximo**.  
![Revise a página que mostra a configuração de implantação AWS Elastic Beanstalk do aplicativo.](http://docs.aws.amazon.com/pt_br/toolkit-for-visual-studio/latest/user-guide/images/tkv-aeb-wizard-review-console.png)

1. Na página **Review (Análise)**, revise as opções configuradas por você anteriormente e marque a caixa **Open environment status window when wizard closes (Abrir a janela de status do ambiente ao fechar o assistente)**.

1. Se tudo estiver aparentemente correto, escolha **Deploy (Implantar)**.
**nota**  
Quando você implantar a aplicação, a conta ativa incorrerá em cobranças pelos recursos da AWS usados pela aplicação.

   As informações sobre a implantação serão exibidas na barra de status do Visual Studio e na janela **Output (Saída)**. Isso pode demorar muitos minutos. Quando a implementação estiver concluída, uma mensagem de confirmação será exibida na janela **Output (Saída)**.

1. **Para excluir a implantação, no AWS Explorer, expanda o nó do **Elastic Beanstalk**, abra o menu de contexto (clique com o botão direito do mouse) do subnó da implantação e escolha Excluir.** O processo de exclusão pode demorar alguns minutos.