DEV Community

Hernani Almeida
Hernani Almeida

Posted on • Edited on

Criando uma arquitetura escalável na AWS utilizando Cloudfront, CloudWatch, Elastic Beanstalk, Dynamodb - parte 3

Ferramentas necessárias:

Antes de iniciarmos irei fazer uma breve descrição sobre os recursos que utilizaremos dentro da cloud AWS nesta terceira parte do post.

  • Cloudfront: Amazon CloudFront é um serviço web que acelera a distribuição de seu conteúdo web estático e dinâmico,como.html,.css,.js,arquivos de imagem,para seus usuários.O CloudFront entrega seu conteúdo por meio de uma rede mundial de datacenters chamada edge locations.Ao solicitar um conteúdo que você está veiculando com o CloudFront,o usuário é roteado para o ponto de presença com a menor latência (atraso de tempo) para que o conteúdo seja fornecido com o melhor desempenho possível No post anterior subimos nossa aplicação e visualizamos a mesma em funcionamento, porem ao tentar cadastrar um e-mail recebemos um erro(conforme imagem abaixo), isso acontece porque nossas instancias EC2 não possuem permissão de acesso a nossa tabela criada no DynamoDb error Para resolver este problema vamos utilizar uma ferramenta chama Role do recurso IAM da AWS, que ira autorizar nossas instancias EC2 a acessarem a nossa tabela do DynamoDb. Ainda dentro do recurso Elastic Beanstalk procure no menu esquerdo a aba Configuration e de um clique nele, ira abrir um menu a direita onde você deve procurar pela aba security e copiar o nome da role criada automaticamente quando geramos a aplicação role cluster Va para o recurso IAM no console AWS e clique na aba Roles e cole o nome da role, ira aparecer a Role que nossas instancias Ec2 utiliza para liberar acesso à recursos da AWS role Clique em cima da role e na pagina que ira aparecer procure e clique no botão Attach policies e ira chegar nesta pagina policies Nesta pagina na aba search digite DynamoDb que ira aparecer as politicas referentes ao dynamodb, selecione a politica AmazonDynamoDBFullAccess(que dara a nossa instancia Ec2 acesso total ao recurso DynamoDb) e clique em Attach policy policy Feito isso corrigimos o erro e nossa aplicação ja esta podendo salvar emails de usuários dentro da tabela do dynamodb funciona

E podemos ver o email do usuario salvo na tabela users do dynamo
dynamo

Agora vamos utilizar o recurso CloudFront da AWS para disponibilizar nossa aplicação na Web, na aba de pesquisa acima pesquise pelo recurso CloudFront e clique para acessa-lo
CloudFront
Feito isso clique no botão Create a CloudFront distribution para chegar nesta tela
criar dominio
Na aba Origin domain selecione o load balancer de nossa aplicação, logo após configure o clouformation conforme as imagens abaixo
cloud
Name foi gerado automaticamente
Image description
Image description
Image description
Image description
Image description
Image description
Image description

Clique no botão Create distribution e sera criada a distribuição da aplicação no ClouFront e dentro desta distribuição, na aba Distribution domain name copie o link do domínio gerado para sua aplicação e cole no navegador
name domain
Se tudo estiver certo veremos nossa aplicação rodando em um domínio web \o/\o/\o/
dominio web

Link parte 4

Deixo aqui meus contatos:
linkedin
github

Top comments (0)