

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

# Migrar um aplicativo web do Go on-premises para AWS Elastic Beanstalk usando o método binário
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method"></a>

*Suhas Basavaraj e Shumaz Mukhtar Kazi, Amazon Web Services*

## Resumo
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-summary"></a>

Esse padrão descreve como migrar um aplicativo web do Go on-premises para o AWS Elastic Beanstalk. Depois que o aplicativo é migrado, o Elastic Beanstalk cria o binário para o pacote de origem e o implanta em uma instância do Amazon Elastic Compute Cloud (Amazon). EC2

Como estratégia de migração para redefinir a hospedagem, a abordagem desse padrão é rápida e não requer alterações no-code, o que significa menos tempo de teste e migração. 

## Pré-requisitos e limitações
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um aplicativo web do Go on-premises
+ Um GitHub repositório que contém o código-fonte do seu aplicativo Go. Se você não usa GitHub, há outras maneiras de [criar um pacote de origem de aplicativos para o Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html).

**Versões do produto**
+ A versão do Go mais recente compatível com o Elastic Beanstalk. Para obter mais informações, consulte a [Documentação do Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go).

## Arquitetura
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-architecture"></a>

**Pilha de tecnologia de origem**
+ Um aplicativo web do Go on-premises 

**Pilha de tecnologias de destino**
+ AWS Elastic Beanstalk
+ Amazon CloudWatch

**Arquitetura de destino*** *

![Arquitetura para migrar um aplicativo do Go para o Elastic Beanstalk](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/cd8d660d-5621-4ea7-8f97-7a1e321c57d3/images/1df543d9-7073-43d8-abd3-f1f7e57278eb.png)


## Ferramentas
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-tools"></a>
+ Com o [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html), é possível implantar e gerenciar rapidamente aplicativos na Nuvem AWS sem que os usuários tenham que se preocupar com a infraestrutura que os executa. O Elastic Beanstalk reduz a complexidade de gerenciamento sem restringir as escolhas nem o controle.
+ [GitHub](https://github.com/)é um sistema de controle de versão distribuído de código aberto.

## Épicos
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-epics"></a>

### Crie o arquivo .zip do pacote de origem do aplicativo web do Go
<a name="create-the-go-web-application-source-bundle-zip-file"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o pacote de origem do aplicativo web do Go  | Abra o GitHub repositório que contém o código-fonte do seu aplicativo Go e prepare o pacote de origem. O pacote de origem contém um arquivo de origem `application.go` no diretório raiz, que hospeda o pacote principal do seu aplicativo Go. Se você não usa GitHub, consulte a seção *Pré-requisitos* anteriormente neste padrão para ver outras formas de criar seu pacote de origem do aplicativo. | Administrador do sistema, desenvolvedor de aplicativos | 
| Criar um arquivo de configuração. | Crie uma pasta `.ebextensions` em seu pacote de origem e, em seguida, crie um arquivo `options.config` dentro dessa pasta. Para obter mais informações, consulte a [Documentação do Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html). | Administrador do sistema, desenvolvedor de aplicativos | 
|  Crie o arquivo .zip do pacote de origem. | Execute o comando a seguir.<pre>git archive -o ../godemoapp.zip HEAD</pre><br />Isso cria o arquivo .zip do pacote de origem. Baixe e salve o arquivo .zip como um arquivo local. O arquivo .zip deve ter, no máximo, 512 MB e não deve incluir uma pasta principal ou um diretório de nível superior. | Administrador do sistema, desenvolvedor de aplicativos | 

### Migrar um aplicativo web do Go para o Elastic Beanstalk
<a name="migrate-the-go-web-application-to-elastic-beanstalk"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Selecione o aplicativo do Elastic Beanstalk. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html)Para obter instruções sobre como criar um aplicativo do Elastic Beanstalk, consulte a [documentação do Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html). | Administrador do sistema, desenvolvedor de aplicativos | 
| Inicie o ambiente de servidor web do Elastic Beanstalk.  | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Administrador do sistema, desenvolvedor de aplicativos | 
| Faça upload do arquivo .zip do pacote de origem no Elastic Beanstalk. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Administrador do sistema, desenvolvedor de aplicativos | 
| Teste o aplicativo web do Go implantado. | Você será redirecionado para a página de visão geral do aplicativo do Elastic Beanstalk. Na parte superior da visão geral, ao lado de **ID do ambiente**, escolha a URL que termina em `elasticbeanstalk.com` com para navegar até seu aplicativo. Seu aplicativo deve usar esse nome em seu arquivo de configuração como uma variável de ambiente e exibi-lo na página web. | Administrador do sistema, desenvolvedor de aplicativos | 

## Solução de problemas
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Não é possível acessar o aplicativo por meio de um Application Load Balancer. | Verifique o grupo de destino que contém o aplicativo do Elastic Beanstalk. Se não estiver íntegro, faça login na sua instância do Elastic Beanstalk e verifique a configuração do arquivo `nginx.conf` para verificar se ele é roteado para a URL correta do status de integridade. Você pode precisar alterar a URL de verificação de integridade do grupo de destino. | 

## Recursos relacionados
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-resources"></a>
+ [Versões da plataforma Go compatíveis com o Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go)
+ [Usando arquivos de configuração com o Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html)
+ [Criação de um aplicativo de exemplo no Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html) 