Alura > Cursos de DevOps > Cursos de AWS > Conteúdos de AWS > Primeiras aulas do curso Amazon API Gateway: integrando e protegendo serviços

Amazon API Gateway: integrando e protegendo serviços

Primeira rota no API Gateway - Introdução

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.

Primeira rota no API Gateway - Overview da Arquitetura

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.

Primeira rota no API Gateway - Politica e role de acesso ao bucket

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.

Sobre o curso Amazon API Gateway: integrando e protegendo serviços

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:

Aprenda AWS acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas