Como personalizar a borda com o CloudFront Functions - Amazon CloudFront

Como personalizar a borda com o CloudFront Functions

Com o CloudFront Functions no Amazon CloudFront, você pode escrever funções leves em JavaScript para personalizações de CDN de alta escala e sensíveis à latência. Suas funções podem 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 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.

O CloudFront Functions é ideal para funções leves e curtas para casos de uso, como os exemplos a seguir:

  • Normalização de chave de cache: você pode transformar atributos de solicitação HTTP (cabeçalhos, cadeias de consulta, cookies, até mesmo o caminho da URL) para criar uma chave de cache ideal, que pode melhorar a taxa de acertos.

  • Manipulação de cabeçalho: você pode inserir, modificar ou excluir cabeçalhos HTTP na solicitação ou resposta. Por exemplo, você pode adicionar um cabeçalho True-Client-IP a cada solicitação.

  • Redirecionamento ou regravações de URL: você pode redirecionar os visualizadores para outras páginas com base nas informações da solicitação ou regravar todas as solicitações de um caminho para outro.

  • Solicitar autorização: você pode validar tokens de autorização com hash, como Tokens Web JSON (JWT), por meio da inspeção dos cabeçalhos de autorização ou outros metadados de solicitação.

Quando você associa uma função do CloudFront a uma distribuição do Lambda, o CloudFront intercepta solicitações e respostas nos locais da borda do CloudFront e os passa à sua função. Você pode chamar as funções do CloudFront quando ocorrerem os seguintes eventos:

  • Quando o CloudFront receber uma solicitação de um visualizador (solicitação do visualizador)

  • Antes do CloudFront retornar a resposta para o visualizador (resposta do visualizador)

Para obter um guia passo a passo sobre a criação de uma função do CloudFront, consulte Tutorial: Como criar uma função simples com o CloudFront Functions.

Para começar a escrever código de função e ler o código de exemplo que você pode usar com o CloudFront Functions, consulte Código de função de escrita (modelo de programação) e Código de exemplo.