Comece a usar serviços de borda da AWS

Tutoriais práticos e conteúdo que abordam os conceitos básicos.

Serviços de borda da AWS

Uma região da AWS é um local físico em que a AWS agrupa datacenters e opera serviços regionais, como o EC2 e o S3. No caso específico de aplicações online, o tráfego de usuários pode atravessar várias redes públicas para alcançar uma infraestrutura regional. Se você deseja resolver as desvantagens de atravessar redes não controladas em termos de performance, confiabilidade e segurança, considere adicionar serviços de borda da AWS à sua arquitetura. Os serviços de borda do AWS, como o Amazon CloudFront e o AWS Global Accelerator, operam em centenas de pontos de presença (POPs) distribuídos em todo o mundo fora das regiões da AWS. Os usuários são atendidos a partir desses POPs em uma média de 20 a 30 milissegundos e, quando necessário, o tráfego é transportado de volta para sua infraestrutura regional pela rede global da AWS, em vez de passar pela Internet pública. A infraestrutura global da AWS é uma infraestrutura privada específica, altamente disponível e de baixa latência, construída em uma rede global de fibra metropolitana totalmente redundante, conectada por meio de cabos terrestres e transoceânicos em todo o mundo.

Entregue conteúdo de forma segura, com baixa latência e altas velocidades de transferência.

Proteja suas aplicações Web contra explorações comuns.

Maximize a disponibilidade e a capacidade de resposta das aplicações com a proteção contra DDoS.

Configure e gerencie de forma centralizada regras de firewall em todas as suas contas.

Melhore a disponibilidade, a performance e a segurança de aplicações usando a rede global da AWS.

Amazon CloudFront, a CDN da AWS

O CloudFront é a rede de entrega de conteúdo (CDN) da Amazon. O CloudFront é usado para acelerar aplicações Web baseadas em HTTP(S) e aprimorar sua disponibilidade e segurança. O CloudFront pode ser empregado em casos de uso, como entrega completa de sites, proteção e aceleração de API, streaming de vídeo adaptável e download de software. Para usar esse serviço, crie uma distribuição do CloudFront, configure sua origem (qualquer origem que tenha um nome de domínio acessível ao público), emita e anexe um certificado TLS válido usando o Amazon Certificate Manager e configure seu servidor DNS autoritário para apontar o nome de domínio da sua aplicação Web para o nome de domínio gerado pela distribuição (xyz.cloudfront.net). Durante a fase de resolução do DNS, quando os usuários navegam até sua aplicação Web, uma solicitação HTTP(S) é roteada dinamicamente para o melhor PoP do CloudFront em termos de latência e disponibilidade. Depois que o PoP é selecionado, o usuário encerra a conexão TCP, incluindo o handshake TLS, em um dos servidores do PoP e, em seguida, envia a solicitação HTTP. Se o conteúdo for armazenado em cache em uma das camadas de cache do CloudFront, a solicitação será atendida localmente pelo CloudFront. Caso contrário, ela será encaminhada para a origem. O CloudFront tem duas camadas em sua infraestrutura. A primeira camada é baseada em locais de borda, onde as conexões dos usuários são encerradas e os ataques de DDoS de camada 3/4 são mitigados. Eles fornecem recursos de cache e, se configurados, executam o CloudFront Functions e aplicam regras do WAF. A segunda camada é baseada em caches regionais de borda, hospedados nas regiões da AWS. Ela fornece tempos de retenção de cache mais longos, melhora as taxas de acerto do cache e executa funções do Lambda@Edge quando configurado. O CloudFront otimiza dinamicamente o uso dessas camadas para cada HTTP, dependendo de sua natureza. Por exemplo, solicitações HTTP marcadas como dinâmicas (por exemplo, armazenamento em cache desabilitado, solicitações POST/PUT/DELETE, solicitações de objetos marcados como não armazenáveis em cache usando o cabeçalho de resposta Cache-Control etc.) ignoram as camadas de cache e, como resultado, são enviadas dos locais de borda diretamente para sua origem.
Por fim, o CloudFront executa a lógica em uma ordem específica. Primeiro, o CloudFront executa seus controles de segurança nativos (por exemplo, política de TLS, redirecionamento de HTTP para HTTPS, bloqueio geográfico, URLs assinados), depois executa as regras de uma WebACL do AWS WAF se configuradas, depois executa o código de uma função de borda, se configurada, no evento de solicitação do visualizador, depois verifica seu cache se a solicitação pode ser armazenada em cache e, em seguida, executa o código do Lambda@Edge, se configurado, no evento de solicitação de origem e, finalmente, encaminha a solicitação para a origem, se necessário. Para saber mais sobre o ciclo de vida de uma solicitação HTTP nas camadas do CloudFront, assista à seguinte palestra do re:Invent. Observe que o atributo CloudFront Functions não foi lançado no momento da recodificação dessa palestra.

AWS WAF para proteger aplicações Web na camada 7

O AWS WAF é um firewall de aplicações Web que pode ser usado para proteger aplicações Web contra ameaças em nível de aplicação. As ameaças em nível de aplicação incluem:

  • Ataques de DDoS (por exemplo, HTTP Floods) que visam consumir os recursos da sua aplicação para torná-la indisponível para usuários legítimos. 
  • Ataques que tentam explorar vulnerabilidades no nível da aplicação e, em seguida, realizar atividades mal-intencionadas, como roubar dados ou usar seus recursos de forma não autorizada, como a mineração de bitcoins. 
  • Ataques conduzidos por bots automatizados que podem prejudicar sua empresa de diferentes maneiras, como invasão de contas e coleta de conteúdo. 

Para usar o AWS WAF, crie regras em uma WebACL e anexe-as aos recursos que precisam de proteção. WebACL globais podem ser anexadas às distribuições do CloudFront, e WebACLs regionais podem ser anexadas a recursos na mesma região, como ALBs e API Gateways. Quando uma WebACL do WAF é anexada a um recurso, o serviço subjacente do recurso (por exemplo, CloudFront ou ALB) entrega uma cópia da solicitação HTTP ao serviço AWS WAF para avaliar as regras configuradas em um milissegundo de um único dígito. Com base na avaliação da regra, o serviço AWS WAF instrui o serviço subjacente sobre como processar a solicitação (por exemplo, bloquear, encaminhar, desafiar etc.). Observe que a lógica do AWS WAF é baseada somente em atributos de solicitação HTTP (versus atributos de resposta).

Uma WebACL WAF recém-criada contém somente uma regra padrão que permite todas as solicitações, às quais você pode adicionar várias regras de diferentes tipos. Primeiro, você pode criar regras personalizadas com base nos atributos (por exemplo, IP, cabeçalhos, cookies, URL etc.) da solicitação HTTP inspecionada. Regras também podem ser agrupadas em grupos de regras para facilitar seu gerenciamento. Segundo, você pode adicionar regras gerenciadas da AWS ou de fornecedores no AWS Marketplace, que são adicionadas como grupos de regras configuráveis à sua WebACL. Por exemplo, você pode adicionar grupos gerenciados da AWS, como o conjunto de regras principais e a lista de IPs anônimos. Regras gerenciadas mais avançadas, como controle de bots e prevenção de invasão de contas, exigem a integração do SDK no lado do cliente. As regras podem ser configuradas com as seguintes ações ao combinar: Permitir e contar (com a possibilidade de enviar cabeçalhos para cima), Bloquear (com a possibilidade de responder com uma resposta personalizada), Limite de taxa e, finalmente, desafio usando CAPTCHA ou desafios silenciosos. Regras, como as regras gerenciadas pela AWS, emitem rótulos que podem ser usados na lógica das regras subsequentes se atingidos pela avaliação do WAF. Você pode configurar suas próprias regras para emitir rótulos, que estarão disponíveis nos registros de log do WAF.

AWS Global Accelerator, uma aceleração em nível de rede

O AWS Global Accelerator é um serviço de rede que melhora a performance, a confiabilidade e a segurança das suas aplicações online usando a infraestrutura global da AWS. Como o AWS Global Accelerator opera na camada 4 do modelo OSI, ele pode ser usado com qualquer aplicação TCP/UDP. Exemplos de casos de uso incluem: jogos multijogador baseados em UDP/TCP, voz e vídeo sobre IP, IoT, ingestão de vídeo e uploads de FTP e outros casos de uso, como licitação de VPN, Git e AdTech. 

O AWS Global Accelerator pode ser implantado na frente de seus Network Load Balancers, Application Load Balancers, instâncias do AWS EC2 e Elastic IPs, qualquer um dos quais pode servir como endpoints regionais para sua aplicação. Para usar esse serviço, crie um acelerador, que fornece dois endereços IPv4 anycast estáticos globais que atuam como um ponto de entrada fixo para a sua aplicação. Com o Global Accelerator, você pode ter vários endpoints de aplicações presentes em uma ou várias regiões da AWS, mas todos eles podem ser acessados pelo mesmo endereço IP anycast. Em seguida, você configura seu servidor DNS autoritário para apontar o nome de domínio da sua aplicação Web para os IPs estáticos dedicados do acelerador. Esses IPs anycast são anunciados em todos os POPs do Global Accelerator para direcionar o tráfego do usuário para o PoP mais próximo e, em seguida, encaminhá-los ao endpoint regional pela rede global da AWS.

Recursos de aprendizado para desenvolvedores

  • Prioridade
1

Esta página foi útil para você?