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 AWS CodeBuild e o AWS CodeDeploy e limpará os recursos 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, AWS CodeStar
Instruções de implementação
-
Etapa 1: Implante
-
Opção 1: Implantar em um servidor Linux
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:1.
git add -A
2.git commit -m "adding Chatbot code"
3.git push origin master
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 a documentação localizada no projeto do GitHub.
-
Opção 2: Implantar em um servidor Windows
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 na região Leste dos EUA 1 clicando no modelo. Você também pode fazer download do modelo do CloudFormation aqui e executá-lo no serviço do AWS CloudFormation na região de sua escolha.
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). Clique aqui para obter mais informações sobre nomes de pares 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 o 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 a documentação localizada no projeto do GitHub.
-
-
Etapa 2: Limpe e exclua recursos
-
Opção 1: Instruções do CodeStar
a. Vá para a página do CodeStar no Console.
b. Selecione os três pontos no canto superior direito do projeto. Veja a captura de tela abaixo.
c. Selecione a opção Delete (Excluir).
d. Digite o nome do projeto para confirmar a exclusão. Deixe a caixa de seleção ao lado da opção “Delete associated AWS resources along with CodeStar project. Learn more” (Excluir recursos da AWS associados juntamente com o projeto no Codestar. Saiba mais) marcada.
e. Clique no botão Delete (Excluir).
-
Opção 2: Instruções do CloudFormation
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).
-
-
Etapa 3: Exclua recursos adicionais
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 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 na pasta de documentação do projeto do GitHub.
Parabéns!
Você criou um chatbot no Amazon Lex em .NET usando a Amazon Web Services.
Compartilhe seu chatbot com os amigos. Estamos ansiosos para ver sua próxima criação!