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)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more