Personalizar na borda com funções
Com o Amazon CloudFront, você pode escrever seu próprio código para personalizar como suas distribuições do CloudFront processam solicitações e respostas HTTP. O código é executado perto dos visualizadores (usuários) para minimizar a latência e você não precisa gerenciar servidores ou outra infraestrutura. Você pode escrever código para manipular as solicitações e respostas que fluem pelo CloudFront, executar autenticação e autorização básicas, gerar respostas HTTP na borda e muito mais.
O código que você escreve e anexa à sua distribuição do CloudFront é chamado de função da borda. O CloudFront oferece duas maneiras de escrever e gerenciar funções da borda:
- CloudFront Functions
-
É possível escrever funções leves em JavaScript para personalizações de CDN de alta escala e sensíveis à latência. O ambiente de tempo de execução do CloudFront Functions oferece tempos de startup de submilissegundos, é dimensionado imediatamente para lidar com milhões de solicitações por segundo e é altamente seguro. O CloudFront Functions é um recurso nativo do CloudFront, o que significa que você pode criar, testar e implantar seu código inteiramente no CloudFront.
- Lambda@Edge
-
O Lambda@Edge é uma extensão do AWS Lambda
que oferece computação avançada e flexível para funções complexas e lógica completa de aplicações mais perto dos visualizadores, além de ser altamente seguro. As funções do Lambda@Edge são executadas em um ambiente de tempo de execução Node.js ou Python. Você as publica em uma única Região da AWS e ao associar a função a uma distribuição do CloudFront, o Lambda@Edge replica automaticamente o código no mundo todo.
Se você executa AWS WAF no CloudFront, é possível usar cabeçalhos AWS WAF inseridos para o CloudFront Functions e para o Lambda@Edge. Isso funciona para solicitações e respostas do visualizador e da origem.