Sejam bem-vindos a mais um curso sobre arquitetura de serviços em nuvem. Dessa vez vamos usar o API gateway da AWS.
O API gateway vai servir para proteger e controlar os acessos aos serviços internos que compõem a nossa aplicação. Vamos utilizar vários serviços da AWS. O S3, o Lambda, o DynamoDB, e tudo isso fazendo a composição de uma arquitetura serverless, onde a porta de entrada vai ser nossa API.
Eu sou o Ricardo Merces e vou te acompanhar durante mais este curso.
Para começarmos, vou dar um rápido overview do que você precisa saber para podermos caminhar juntos. A ideia é pegarmos o API gateway e façamos dele a porta de entrada para a nossa aplicação que está rodando dentro do AWS.
Essa figura é onde queremos chegar. Vamos trabalhar em duas frentes diferentes. Vou ter uma visão com acesso à API por parte da equipe de front end, e a segunda frente pela aplicação. A API vai ter essas duas visões, e dentre elas é feito o acesso aos serviços internos.
Reveja a parte do bucket, do Lambda. Dentro da plataforma você encontra os cursos sobre esses assuntos. Tem outro cenário que não aparece na figura, mas que está relacionado a tudo isso, que é a criação de política, a criação de role, o serviço de IAM da AWS.
Você já tem uma visão geral sobre os serviços. É só entrar na plataforma e rever todos os assuntos.
O cenário dessa aplicação é um e-commerce para venda de fotografias. Elas são trabalhadas, toda a parte de design é feita pela equipe de front end. Eles usam a API e fazem o upload para o nosso bucket. E a aplicação, que pode ser mobile, pode ser um site, não importa, porque nossa ideia é chegar na API, é liberar uma consulta para as fotos. O cara está no e-commerce e quer listar o conteúdo de fotos que ele tem para comprar. Via API ele acessa o dado.
No fim também vamos fazer a integração da equipe de front end com o banco. Feito o envio de uma nova foto ou a remoção de um arquivo já existente, isso automaticamente, através do Lambda, vai ser atualizado no DynamoDB. Dessa forma, o cliente que utilizar a API tem sempre uma visão atual do que está disponível no nosso e-commerce.
Começando a montar nossa arquitetura, vamos para o nosso bucket. Nós vamos criar o bucket. Para isso, você logicamente já está logado na console do AWS. Como sua tela vai estar diferente da minha, a qualquer momento é só digitar o nome do serviço que você tem acesso direto a ele. Não esqueça também aquela dica que dou sempre, sobre criar atalhos para os serviços. Ajuda muito.
Vamos criar o nosso bucket. O nome dele vai ser rmerceslabsphotocollection. Eu coloco esses nomes grandes porque o bucket tem um nome único. A referência do serviço S3 é um nome global. Assim garanto que não vai existir outro igual.
Você pode clicar direto em criar. É legal entender o motivo de usar a API. Se você for dar acesso a uma pessoa, ainda que seja seu time de desenvolvimento, para publicar, tirar arquivos do bucket, você vai ter que criar uma política no IAM, setar permissões, gerar um link para ele poder trabalhar. Ao invés de dar mil interfaces diferentes, a API é sempre uma solução bem legal.
Com o bucket criado, vamos trabalhar dentro da nossa API. Como tudo envolve permissionamento, para criar a API antes em todo momento vamos utilizar o IAM. Você abre sua console e dentro do serviço de IAM vai listar algo parecido para você. Já tenho alguns usuários, políticas. Não se preocupe, porque todos que precisarmos vamos construir durante o curso.
O nosso objetivo é que o front end precisa publicar, apagar arquivos dentro de um bucket. Vamos usar uma política para isso. Clicamos em criar política. O serviço vai ser o S3. Você pode customizar os níveis de acesso que você quer dar. O meu desenvolvedor vai poder publicar, apagar, eu vou dar acesso completo ao bucket para ele.
Nos recursos, não quero dar acesso a todos os buckets, ainda que minha API não permitiria que isso acontecesse, mas já quero criar uma política de direcionar. Vou especificar o bucket. Você clicar no ARN e coloca o nome do seu bucket. Adiciona. Depois, é extremamente importante marcar o “any”, assim permito trabalhar com qualquer objeto aqui dentro. Senão, vai dar permissão negada.
Avançamos para o review, escolho um nome, aconselho que ainda que seja longo, coloque, porque são muitas políticas, muitas roles. Vou colocar PhotoCollection-S3_Acesso_bucket. A descrição pode ser a mesma coisa. Crio a política.
Precisamos agora criar uma role, porque é dentro dela que vamos fazer o link com o serviço. O serviço que usa a role é o API gateway. Avançamos. Seguimos a mesma nomenclatura, PhotoCollection-ROLES3_Acesso_ao_bucket. Crio a role. A diferença é que quando criamos políticas nós customizamos o que podemos ou não fazer no serviço. A role é qual o serviço que consome essa política. Ou seja, quem vai acessar essas regras, que no caso é o API gateway.
Não terminou ainda. A role está criada. Vamos ter que abri-la e anexar uma política, porque a role que acabamos de criar só permite que o API Gateway faça envio de mensagens para o cloud Watch. É quem vai gerenciar os lotes.
O que eu quero, na verdade, é anexar uma política que permite o acesso ao banco. É a que acabamos de criar. Marco ela e anexo. Assim construímos nossa role, para que possamos vincular essa role na primeira parte da API.
Este vídeo em especial eu aconselho que você pause, volte, para que fique bem claro o que é política e role. Feito isso, vamos passar para o serviço API gateway, para linkar tudo que fizemos até aqui.
O curso Amazon API Gateway: integrando e protegendo serviços possui 141 minutos de vídeos, em um total de 53 atividades. Gostou? Conheça nossos outros cursos de AWS em DevOps, ou leia nossos artigos de DevOps.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.
Acesso completo
durante 1 ano
Estude 24h/dia
onde e quando quiser
Novos cursos
todas as semanas