Projetos na AWS

Os bots ficaram ainda melhores

com .NET e o AWS Toolkit for Visual Studio

Módulo 5: Implantação e limpeza

Neste módulo, você implantará seu chatbot no EC2 usando o CodeBuild e o CodeDeploy e limpará os recursos da AWS usados nesses módulos para evitar cobranças.

Visão geral

Siga as instruções passo a passo abaixo para implantar o aplicativo chatbot e, em seguida, limpar os recursos usados. Clique no número de cada etapa para expandir a seção.

 Tempo para a conclusão

30 minutos

 Serviços usados

CodeDeploy, CodeBuild, EC2

Instruções de implementação

    • a. No Console AWS, clique em Services (Serviços) e selecione CodeStar em Developer Tools (Ferramentas do desenvolvedor).
      b. Clique em Create a new project (Criar um novo projeto) e selecione o modelo de aplicativo web ASP.NET Core.
      c. Dê um nome ao projeto, selecione CodeCommit como seu repositório e clique em Next (Próximo).
      d. Certifique-se de que a opção “AWS CodeStar would like permission to administer AWS resources on your behalf” (O AWS CodeStar gostaria de ter permissão para administrar recursos da AWS em seu nome) está marcada e clique em Create Project (Criar projeto).
      e. Selecione um par de chaves e certifique-se de que a opção “I acknowledge that I have access to the private key file for this key pair (mytestkeypair.pem), and that without this file, I won’t be able to log into my instance.” (Confirmo que tenho acesso ao arquivo de chave privada para este par de chaves (pardechavesteste.pem) e que entendo que sem esse arquivo não poderei fazer login na minha instância.) está marcada.
      f. Agora, você pode escolher como deseja editar o código do projeto. Clique em “Command Line Tools” (Ferramentas da linha de comando) e siga as instruções de configuração para o sistema operacional escolhido. Você pode alterar essa opção mais tarde.
      g. Na linha de comando, o repositório do projeto terá sido clonado do CodeCommit se você tiver seguido as instruções.
      h. Você pode usar diversos produtos e ferramentas de importação do Git. Caso não tenha nenhum desses recursos, há uma alternativa manual e rápida de fazer isso. Use o código que você clonou do repositório GitHub no módulo 4 e substitua todo o código do repositório recém-clonado do CodeCommit. Certifique-se de ter excluído todo o código antigo antes de colar o código do chatbot .NET.
      i. Entre no diretório clonado na linha de comando e execute os seguintes comandos:
      i. git add .
      ii. git commit -m “adding Chatbot code”
      iii. git push
      j. Clique em “Skip” (Pular). Será mostrado um painel com seu código passando por implantação contínua (uma das várias opções que incentivamos você a explorar).
      k. No diretório do projeto que abriga o arquivo da solução do Visual Studio, copie os arquivos appspec.yml e buildspec.yml.
      l. No diretório do projeto que abriga o arquivo da solução do Visual Studio, crie uma pasta com o nome “scripts”.
      m. Copie todos os arquivos do diretório de implantação do Linux do repositório clonado na pasta scripts criada na etapa anterior.
      n. Clique no link dos endpoints do aplicativo para visualizar e testar o aplicativo chatbot.

      ⚐ OBSERVAÇÃO: para obter informações adicionais, encontre o documento Step By Step Deployment of dotNet Chatbot - Linux.pdf localizado na pasta Documentation do projeto do GitHub.

      Scripts de implantação

      par de chaves do ec2
    • a. Faça login na sua conta da AWS e certifique-se de que está na região Leste dos EUA 1 (Virgínia) ou Oeste da UE 1 (Irlanda).
      b. Faça login na sua conta do GitHub usando as credenciais correspondentes.
      c. Use o AWS CloudFormation para criar sua pilha de infraestrutura clicando neste modelo: <link para modelo em forma de botão>.
      d. A página do console do AWS CloudFormation será aberta, mostrando a tela onde devem ser fornecidos os parâmetros necessários para criação dos recursos da sua infraestrutura. Preencha os valores desejados para os parâmetros Stack Name (Nome da pilha) e Application (Aplicativo).
      e. Abra outra janela no navegador e volte para sua conta do GitHub. Clique em Settings (Configurações) na conta do GitHub e, em seguida, clique em Personal Access Tokens (Tokens de acesso pessoal) e crie um novo token com os escopos repo e admin:repo_hook. Selecione TODAS as subopções nos scripts mencionados acima.
      f. Retorne à página do AWS CloudFormation e preencha o parâmetro GitHubOAuthToken com o valor gerado pelo GitHub na etapa anterior.
      g. Selecione a Virtual Private Cloud (VPC - Nuvem privada virtual) na qual deseja que a solução seja implantada e a sub-rede pública (aquela associada ao gateway da internet) que pertence à VPC escolhida.
      h. Selecione o keypair name (nome do par de chaves).
      i. Se quiser, altere o tipo de instância, ou deixe o valor padrão fornecido.
      j. No campo OSTtype, selecione o sistema operacional desejado para a instância do EC2 de destino (por exemplo, Windows) e clique no botão Next (Próximo).
      k. Mantenha os valores padrão preenchidos nas seções Options (Opções) e Advanced (Avançado) e clique no botão Next (Próximo).
      l. Na tela de revisão, confirme que a caixa ao lado da opção “I acknowledge that AWS CloudFormation might create IAM resources with custom names.” (Estou ciente de que a AWS CloudFormation pode criar recursos do IAM com nomes personalizados.) está marcada.
      m. Crie a pilha e aguarde enquanto ela e todos os recursos necessários são criados na guia “Events” (Eventos) até que o status informe CREATE_COMPLETE (CRIAÇÃO CONCLUÍDA).
      n. Examine o CodePipeline e observe enquanto seu aplicativo passa por todo o processo de Continuous Integration/Continuous Delivery (CI/CD – Integração contínua/entrega contínua) do GitHub para o CodeBuild e o CodeDeploy, que implanta o aplicativo no EC2 ao final 1.
      o. Depois da implantação bem-sucedida, vá para a guia de saídas no CloudFormation, clique no valor do URL e veja o aplicativo chatbot em execução no seu ambiente.

      ⚐ OBSERVAÇÃO: para obter informações adicionais, encontre o documento Step By Step Deployment of dotNet Chatbot - Windows.pdf localizado na pasta Documentation do projeto do GitHub.

    • a. Vá para a página do CodeStar no Console.
      b. Selecione “…” no canto superior direito do projeto.
      c. Selecione a opção “Delete” (Excluir).
      d. Digite o nome do projeto para confirmar a exclusão. Desmarque a caixa ao lado da opção “Keep associated AWS resources but delete project in AWS Codestar. Learn more” (Manter recursos associados da AWS, mas excluir o projeto no AWS Codestar. Saiba mais).
      e. Clique no botão “Delete” (Excluir).

    • a. Vá para a página do CloudFormation no Console.
      b. Selecione sua pilha.
      c. Abra o menu suspenso “Actions” (Ações).
      d. Selecione a opção “Delete Stack” (Excluir pilha).
      e. Clique no botão “Yes, Delete” (Sim, excluir).

  • Lambda
    a. Vá para a página do Lambda no Console.
    b. Clique no círculo no lado esquerdo do nome da função que deseja selecionar.
    c. Selecione Actions (Ações) e clique em Delete (Excluir).

    Lex
    a. Vá para a página do Lex no Console.
    b. Clique no círculo no lado esquerdo do nome do bot que deseja selecionar.
    c. Selecione Actions (Ações) e clique em Delete (Excluir).

    Cognito
    a. Vá para a página do Cognito no Console.
    b. Clique em Manage Federated Identities (Gerenciar identidades federadas).
    c. Clique na sua identidade federada.
    d. Clique em Edit Identity Pool (Editar grupo de identidades) no canto superior direito.
    e. Role até a opção Delete Identity Pool (Excluir grupo de identidades) e clique no botão correspondente. Clique no botão de exclusão vermelho para confirmar.

    ⚐ OBSERVAÇÃO: essas instruções também podem ser encontradas no documento dotNet Chatbot CleanUp and Deletion Instructions.pdf localizado na pasta Documentation do projeto do GitHub.

Compartilhe seu chatbot com os amigos e nos conte o que criará em seguida!