Neste tutorial, você aprenderá como implantar código de aplicativo em uma máquina virtual da AWS. Você usará o AWS CodeDeploy, um serviço que automatiza implantações de código para a AWS ou servidores locais para implantar código em máquinas virtuais que você cria e gerencia com o Amazon EC2. 

Todas as atividades realizadas nesse tutorial estão qualificadas para o nível gratuito.

Gerencie seus recursos da AWS

Faça login no console

Você precisará criar um par de chaves para acessar a máquina virtual com o Amazon EC2.  Se você já tem um par de chaves, pule para a etapa 2.


a. Quando você clicar aqui, o Console de Gerenciamento da AWS será exibido em uma nova janela do navegador para que você possa manter aberto este guia passo a passo.  Clique em Create Key Pair.

tmt-codeDeploy-20

(clique para ampliar)

tmt-codeDeploy-20

b. Nomeie seu par de chaves.  Para este tutorial, usaremos MyFirstKey. Clique em Create.

Observação: o Amazon EC2 usa criptografia de chave pública para criptografar e descriptografar informações de login. Para obter mais informações sobre pares de chaves, consulte Amazon EC2 Key Pairs.

tmt-codeDeploy-19

(clique para ampliar)

tmt-codeDeploy-19

a. Clique no ícone no canto superior esquerdo do Console de Gerenciamento da AWS.  Encontre CodeDeploy sob Developer Tools e clique para abrir o console do AWS CodeDeploy.

tmt-codeDeploy-0

(clique para ampliar)

tmt-codeDeploy-0

b. No console do AWS CodeDeploy, clique em Get Started Now.

Se você já tem aplicativos, na coluna da direita, clique Create Deployment Walkthrough.

tmt-codeDeploy-1

(clique para ampliar)

tmt-codeDeploy-1

c. Selecione Sample Deployment e clique em Next Step.

tmt-codeDeploy-2

(clique para ampliar)

tmt-codeDeploy-2

Você precisará executar uma máquina virtual da AWS para implantar seu código.  As máquinas virtuais da AWS são conhecidas como instâncias do Amazon EC2, ou apenas “instâncias”. Nesta etapa, executaremos três instâncias do EC2 usando um modelo do EC2 pré-configurado.


Você configurará suas definições de instância com as opções abaixo:

  • Sistema operacional: você pode escolher o sistema operacional de sua instância do EC2.  Para este tutorial, usaremos o Amazon Linux
  • Tipo de instância: para este tutorial, o tipo de instância t1.micro foi selecionado como o valor padrão para permanecer no nível gratuito. O Amazon EC2 oferece uma ampla seleção de tipos de instâncias otimizadas para se adequar a casos de uso diferentes. Os tipos de instâncias consistem em várias combinações de CPU, memória, armazenamento e capacidade de rede e oferecem flexibilidade de escolha da composição adequada de recursos para os seus aplicativos.
  • Key Pair Name: na lista suspensa, selecione o par de chaves de instância do Amazon EC2 que você criou na etapa 1, MyFirstKey, para se conectar às instâncias do Amazon EC2. Você também pode escolher um par de chaves que você já possua. 
  • Tag Key and Value: o AWS CodeDeploy usará essa chave de tag e valor para localizar as instâncias durante as implementações. Você pode manter os valores padrão.

Clique em Launch Instances.

Observação: esta etapa pode levar alguns minutos para ser concluída.  Enquanto espera, poderá analisar este tutorial com o vídeo a seguir:

codeDeploy_video
2:10
O AWS CodeDeploy Walkthrough
tmt-codeDeploy-4

(clique para ampliar)

tmt-codeDeploy-4

O AWS CodeDeploy usa nomes de aplicativos durante as implantações de código para certificar-se de que ele se refere aos componentes de implantação corretos, como o grupo de implantação, configuração de implantação e revisão do aplicativo.


a. Na caixa Application Name, insira HelloWorld como o nome de sua amostra de aplicativo e clique em Next Step.

tmt-codeDeploy-5

(clique para ampliar)

tmt-codeDeploy-5

b. Analise informações sobre a revisão de seu aplicativo, como sua localização e descrição.

Observação: você tem a opção de fazer o download do pacote de amostra. Nesta visão, você pode revisar informações sobre a revisão do aplicativo que você gostaria de implantar para o EC2. Uma revisão de aplicativo é um arquivo que contém o conteúdo de origem, como código-fonte, páginas web, arquivos executáveis e scripts de implantação, juntamente com um arquivo de especificação do aplicativo (AppSpec file). O arquivo AppSpec ajuda o CodeDeploy a mapear os arquivos de origem em sua revisão a seus destinos e executar scripts em vários estágios da implementação.

Clique em Next Step

tmt-codeDeploy-7

(clique para ampliar)

tmt-codeDeploy-7

Um grupo de implantação é um conjunto de instâncias do EC2 individuais que o CodeDeploy implanta revisões. Um grupo de implantação contém instâncias individualmente marcadas e instâncias do Amazon EC2 em grupos de Auto Scaling, ou ambas.


Na caixa nome do grupo implantação, mantenha o nome do grupo de implantação proposto (DemoFleet).

Você, então, especificará as instâncias do Amazon EC2 para implementar, inserindo o par de valores-chave na seção Seach by Amazon EC2 Tags:

  • as colunas Key e Value devem ser preenchidas com os valores da etapa 3.
  • A coluna Instances exibe o número de instâncias do EC2 para as quais você implantará código.  Para este tutorial, executamos e pré-configuramos três instâncias do EC2 e essas instâncias já foram marcadas juntas em um grupo de implantação.

Escolha Next Step.

tmt-codeDeploy-8

(clique para ampliar)

tmt-codeDeploy-8

Nesta etapa, você concederá permissão ao AWS CodeDeploy para implantar para suas instâncias. Você cria uma função para um serviço da AWS quando você deseja conceder permissões para um serviço, como o Amazon EC2 ou o AWS CodeDeploy. Esses serviços podem acessar recursos da AWS, permitindo que você crie uma função para determinar o que o serviço tem permissão para fazer com esses recursos.


Função do serviço: escolha Create a new service role.  Se você já tem uma função de serviço, você pode escolher Use an existing service role.

Nome da função: você pode aceitar o valor padrão de CodeDeploy_HelloWorld.  Se você estiver usando uma função de serviço existente, escolha-a na lista suspensa Nome da função.

Clique em Next Step.

tmt-codeDeploy-9

(clique para ampliar)

tmt-codeDeploy-9

Nesta etapa, selecionaremos uma configuração de implantação e, em seguida, iniciaremos a implantação para nossas três instâncias do EC2. Ao final dessa etapa, teremos implantado com sucesso um site em tempo real e em execução, que podemos acessar online.


a. A configuração de implantação permite a você determinar quantas instâncias simultaneamente implantam as revisões do aplicativo e descreve as condições de sucesso e falha para a implantação. Por exemplo, usando a configuração padrão (“One at a Time”), se você implantar seu aplicativo para 3 instâncias, essa configuração será implantada para uma instância de cada vez.

Aceite o Default Deployment Configuration e clique em Next Step.

tmt-codeDeploy-10

(clique para ampliar)

tmt-codeDeploy-10

b. Analise os detalhes de sua implantação e clique em Deploy Now.

Observação: este processo pode levar vários minutos para ser concluído.

tmt-codeDeploy-11

(clique para ampliar)

tmt-codeDeploy-11

c. Nossos exemplos de revisão implantam uma única página web para cada instância. Uma vez que todas as três instâncias estão concluídas, clique em View All Instances.

tmt-codeDeploy-14

(clique para ampliar)

tmt-codeDeploy-14

d. Clique no ID de instância para uma das instâncias implantadas. O painel do EC2 será exibido e você poderá visualizar a instância que você executou.

tmt-codeDeploy-15

(clique para ampliar)

tmt-codeDeploy-15

e. Para verificar se o seu aplicativo de amostra foi implantado com sucesso, copie o endereço no campo Public DNS no painel inferior, cole o endereço no seu navegador e verá sua página web em tempo real.

tmt-codeDeploy-21

(clique para ampliar)

tmt-codeDeploy-21

Para evitar cobranças futuras, você deve limpar os recursos usados neste tutorial. As instâncias do EC2 que você executou para este tutorial continuarão em funcionamento, a não ser que você as encerre.


a. No console do EC2, a barra de pesquisa é preenchido com um filtro de pesquisa para o ID de instância.  Exclua este filtro e você verá todas as instâncias executadas pelo CodeDeploy.  

tmt-codeDeploy-16a

(clique para ampliar)

tmt-codeDeploy-16a

b. Selecione as caixas de cada instância do Amazon EC2 para encerrar. Selecione Ações, Estado da instância e clique em Terminate.

Quando solicitado, clique em Yes, Terminate.

tmt-codeDeploy-18a

(clique para ampliar)

tmt-codeDeploy-18a

Você criou e completou com sucesso sua primeira implantação de código para instâncias do Amazon EC2 usando o AWS CodeDeploy. Usando um modelo fornecido, você, primeiramente, executou três instâncias que foram pré-configuradas com as tags adequadas e instaladas com o agente necessário para usar o AWS CodeDeploy. Finalmente, você preparou o aplicativo para implantação, concedeu permissão ao CodeDeploy para implantar para suas instâncias e, em seguida, implantou seu código com sucesso.

Agora que você concluiu um exemplo de implantação para instâncias do Amazon EC2 usando o AWS CodeDeploy, você pode começar a usar o CodeDeploy em seus próprios aplicativos. Acesse a documentação do CodeDeploy para saber como executar instâncias do EC2 e, em seguida, configurar as instâncias, de forma que o CodeDeploy possa implantar código para elas. Em nosso tutorial, simplificamos essas etapas de configuração para ajudá-lo a aprender e a experienciar como o CodeDeploy funciona.

Saiba como configurar instâncias do AWS CodeDeploy

Sim
Não