CloudFront (BYOCDN)
Essa configuração roteia o tráfego de agente (solicitações de bots de IA e agentes de usuário LLM) para o serviço de back-end de Otimização da Edge (live.edgeoptimize.net). Visitantes humanos e bots de SEO continuam a ser oferecidos de sua origem como de costume. Para testar a configuração, após a conclusão da instalação, procure o cabeçalho x-edgeoptimize-request-id na resposta.
Pré-requisitos
Antes de definir a configuração do CloudFront, verifique se você tem:
- Uma distribuição CloudFront existente que atende ao seu site.
- Permissões do AWS IAM para criar funções Lambda, funções IAM, distribuições CloudFront e políticas de cache.
- O processo de integração do LLM Optimizer foi concluído.
- Encaminhamento de log CDN concluído para o LLM Optimizer.
- Uma chave de API de otimização do Edge recuperada da interface do usuário do LLM Optimizer.
Etapas para recuperar sua chave de API:
-
Navegue até Configuração do cliente e selecione a guia Configuração da CDN.
-
Em Roteamento de tráfego de IA para Implantar Otimizações, marque a caixa de seleção Implantar Otimizações em Agentes de IA.
-
Copie a chave da API e prossiga com as etapas de configuração de roteamento abaixo.
note note NOTE Nesse estágio, o status pode mostrar uma cruz vermelha indicando que a configuração ainda não foi concluída. Isso é esperado — quando você concluir a configuração de roteamento abaixo e o tráfego de bot de IA começar a fluir, o status será atualizado para uma marca de seleção verde confirmando que o roteamento foi ativado com êxito.
Além disso, se você precisar de ajuda com as etapas acima, entre em contato com a equipe de conta da Adobe ou com o llmo-at-edge@adobe.com.
Etapa 1: Criar Edge Otimizar Origem
Navegação: Console do AWS > CloudFront > Distribuições > [Sua Distribuição] > guia Origens
-
Clique em Criar origem.
-
Configure a origem:
- Domínio de origem:
live.edgeoptimize.net - Nome:
EdgeOptimize_Origin
- Domínio de origem:
-
Deixe todos os outros campos com seus valores padrão.
-
Adicionar cabeçalhos personalizados:
table 0-row-2 1-row-2 2-row-2 Cabeçalho Valor x-edgeoptimize-api-keySua chave de API x-forwarded-hostwww.example.comSubstitua
www.example.compelo domínio do seu site real eYour API keypela chave da API Otimizada para Edge fornecida pelo seu representante da Adobe. -
Clique em Criar origem.
Etapa 2: Criar função de solicitação do visualizador
Navegação: Console do AWS > CloudFront > Funções
-
Clique em Criar função.
-
Configurar o:
- Nome:
edgeoptimize-routing - Tempo de execução:
cloudfront-js-2.0
- Nome:
-
Substitua o código padrão pelo código de viewer-request.js.
Antes de publicar, personalize os seguintes valores no código:
YOUR_DEFAULT_ORIGIN— Substitua com o nome de sua origem padrão existente (encontrada na guia CloudFront > Distribuições > [Sua Distribuição] > Origens).TARGETED_PATHS— Defina comonullpara direcionar todas as páginas do HTML ou defina como uma matriz de caminhos específicos, por exemplo,['/', '/products', '/about'].
-
Clique em Salvar alterações > Função de publicação.
Etapa 3: configurar política de cache
Navegação: Console do AWS > CloudFront > Distribuições > [Sua Distribuição] > Comportamentos
Verifique a política de cache atualmente anexada ao seu comportamento. Clique em Editar sobre seu comportamento e observe a seção Solicitações de chave de cache e origem para identificar seu cenário:
- Cenário A (Herdado): Você vê um botão de opção rotulado Configurações de cache herdadas selecionado. Não há lista suspensa de nomes de política; em vez disso, você verá as configurações de cabeçalho e TTL em linha.
- Cenário B (política personalizada): Você vê a política de cache selecionada com um nome de política que você ou sua equipe criou (não uma política fornecida pela AWS).
- Cenário C (Política gerenciada): Você vê a Política de cache selecionada com um nome fornecido pela AWS como
CachingOptimized,CachingDisabledouCachingOptimizedForUncompressedObjects— eles não podem ser editados.
Cenário A: configurações de cache herdadas
Se seu comportamento usar configurações de cache herdadas:
-
Em Solicitações de chave de cache e origem, você verá Configurações de cache herdadas selecionadas.
-
Adicionar
x-edgeoptimize-configex-edgeoptimize-urlà lista de permissões Headers:- Selecione Incluir os seguintes cabeçalhos na lista suspensa.
- Adicionar
x-edgeoptimize-configex-edgeoptimize-url.
Se você já tiver Todos selecionados na lista suspensa Cabeçalhos, ignore esta etapa. Todos os cabeçalhos são automaticamente encaminhados para a origem.
-
Verifique a configuração Cache de objetos:
- Se definido como Personalizar — é recomendável definir TTL Mínimo como
0. No entanto, se o TTL mínimo atual já for muito curto, talvez não seja necessário alterá-lo. - Se definido como Usar cabeçalhos de cache de origem — nenhuma alteração será necessária.
- Se definido como Personalizar — é recomendável definir TTL Mínimo como
-
Clique em Salvar alterações.
Cenário B: não herdado com uma política de cache personalizada
Se seu comportamento já usa uma política de cache personalizada (uma que você criou, não uma política gerenciada pela AWS):
Navegação: Console do AWS > CloudFront > Políticas > Cache
-
Clique em sua política atual.
-
Clique em Editar.
-
É recomendável definir TTL Mínimo como
0. No entanto, se o TTL mínimo atual já for muito curto, talvez não seja necessário alterá-lo.
-
Em Configurações da chave de cache > Cabeçalhos, junto com suas inclusões existentes, adicione
x-edgeoptimize-configex-edgeoptimize-url.
-
Clique em Salvar alterações.
Cenário C: não herdado com uma política de cache gerenciada (AWS)
Se o seu comportamento usa uma política de cache gerenciada pela AWS (por exemplo, CachingOptimized), você não poderá editá-la. É necessário criar uma nova política de cache personalizada que replique as configurações de política gerenciada existentes e adicione os cabeçalhos de otimização do Edge.
Parte 1: Anote as configurações atuais da política de cache gerenciado
Navegação: Console do AWS > CloudFront > Políticas > Cache
-
Localize e clique na política de cache gerenciado atualmente anexada ao seu comportamento (por exemplo,
CachingOptimized). -
Anote todas as configurações existentes:
- TTL mínimo, TTL máximo, TTL padrão
- Cabeçalhos incluídos na chave de cache
- Cookies incluídos na chave de cache
- Sequências de consulta incluídas na chave do cache
- Suporte para compactação (Gzip, Brotli)
Parte 2: criar uma nova política de cache personalizada com as mesmas configurações + configuração de Otimização do Edge
Navegação: Console do AWS > CloudFront > Políticas > Cache
-
Clique em Criar política de cache.
-
Nome:
edgeoptimize-cache
-
Replique todas as configurações indicadas na parte 1, com as seguintes modificações:
- É recomendável definir TTL Mínimo como
0. No entanto, se o TTL mínimo atual já for muito curto, talvez não seja necessário alterá-lo.
- Em Configurações de chave de cache > Cabeçalhos, inclua tudo o que a política gerenciada tinha, além de adicionar
x-edgeoptimize-configex-edgeoptimize-url.
- É recomendável definir TTL Mínimo como
-
Clique em Criar.
-
Volte para o seu comportamento e associe a política recém-criada:
Navegação: Console do AWS > CloudFront > Distribuições > [Sua Distribuição] > Comportamentos
- Edite seu comportamento.
- Em Solicitações de chave de cache e origem, selecione Política de cache.
- Escolha
edgeoptimize-cachena lista suspensa. - Clique em Salvar alterações.
Etapa 4: Criar função Lambda@Edge (solicitação e resposta de origem)
us-east-1 (N. Virgínia). Esse é um requisito do AWS. Mesmo que a função seja criada em us-east-1, o AWS a replica automaticamente em todos os locais de borda do CloudFront no mundo inteiro, para que seja executada no local de borda mais próximo do visualizador. Verifique se você está na região us-east-1 do Console do AWS antes de continuar.Criar a função Lambda
Navegação: Console do AWS > Lambda
-
Clique em Criar função.
-
Selecione Autor do zero.
-
Configurar o:
- Nome da função:
edgeoptimize-origin - Deixe todos os outros campos com seus valores padrão.
- Nome da função:
-
Clique em Criar função.
-
No editor de código, substitua o código padrão pelo código de origin-request-response.js.
-
Clique em Implantar para salvar o código.
-
Observe o nome da função de execução mostrado em Configuração > Permissões (por exemplo,
edgeoptimize-origin-role-xxxxx). Isso é necessário nas etapas a seguir.
Atualizar a diretiva de confiança da função de execução
A função criada automaticamente só confia em lambda.amazonaws.com. Para Lambda@Edge, você também deve adicionar edgelambda.amazonaws.com.
Navegação: Console do AWS > IAM > Funções > [sua função da etapa anterior] > guia Relações de confiança
-
Clique em Editar diretiva de confiança.
-
Substitua a política pelo conteúdo de trust-policy.json.
-
Clique em Atualizar política.
edgelambda.amazonaws.com é necessária para Lambda@Edge. Sem ele, o CloudFront não pode invocar sua função em locais de borda.Corrigir a política de permissão de Logs do CloudWatch
A função criada automaticamente vem com uma política AWSLambdaBasicExecutionRole configurada para Lambda comum, que tem a região e o nome do grupo de log incorretos para Lambda@Edge. Você precisa atualizá-la.
Navegação: Console do AWS > IAM > Funções > [sua função] > guia Permissões > clique no nome da política anexada (por exemplo, AWSLambdaBasicExecutionRole-xxxx)
-
Clique em Editar.
-
Substitua a política pelo conteúdo de cloudwatch-policy.json.
No JSON, substitua
ACCOUNT_IDpela ID de conta real do AWS (localizada no canto superior direito do Console do AWS) eFUNCTION_NAMEpelo nome da função Lambda (por exemplo,edgeoptimize-origin). -
Clique em Salvar alterações.
* — Lambda@Edge é executado no local de borda mais próximo do visualizador, portanto, os logs são gravados no CloudWatch na região do local de borda (por exemplo, ap-south-1, eu-west-1), não necessariamente us-east-1. O grupo de logs usa um nome prefixado por região: /aws/lambda/us-east-1.FUNCTION_NAME, onde us-east-1 é sempre a região inicial da função.Publicar uma versão
-
Na página de função, clique em Ações (canto superior direito) > Publicar nova versão.
-
Adicione uma descrição.
-
Clique em Publicar.
-
Copie ou anote a Função ARN — você precisará disso na próxima etapa.
Etapa 5: associar as funções e a política de cache ao comportamento
Navegação: Console do AWS > CloudFront > Distribuições > [Sua Distribuição] > Comportamentos
-
Edite seu comportamento.
-
Se você criou uma nova política de cache na Etapa 3 (Cenário C), defina a Política de cache como
edgeoptimize-cache.
-
Em Associações de função, configure:
- Solicitação do visualizador:
edgeoptimize-routing - Solicitação de origem: Função com Versão ARN da Etapa 4 (em Publicar uma versão)
- Resposta de origem: Função com Versão ARN da Etapa 4 (em Publicar uma versão)
- Solicitação do visualizador:
-
Clique em Salvar alterações.
Etapa 6: testar a configuração
1. Tráfego de bot de teste (deve ser otimizado)
Envie uma solicitação com um agente de usuário de bot agêntico. Na primeira solicitação, o Edge Otimize pode retornar uma resposta com proxy (não otimizada) enquanto processa e armazena em cache a página. Você pode identificar isso pelo cabeçalho x-edgeoptimize-proxy: 1 na resposta.
Simular uma solicitação de bot de IA usando um user-agent agêntico:
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: chatgpt-user"
Uma resposta bem-sucedida inclui o cabeçalho x-edgeoptimize-request-id, confirmando que a solicitação foi roteada pelo Edge Otimize:
< HTTP/2 200
< x-edgeoptimize-request-id: 50fce12d-0519-4fc6-af78-d928785c1b85
2. Testar tráfego humano (NÃO deve ser afetado)
Simular uma solicitação regular de navegador humano:
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
A resposta deve não conter o cabeçalho x-edgeoptimize-request-id. O conteúdo da página e o tempo de resposta devem permanecer idênticos a antes de habilitar a opção Otimizar no Edge.
3. Como diferenciar entre os dois cenários
x-edgeoptimize-request-idx-edgeoptimize-fo1)O status do roteamento de tráfego também pode ser verificado na interface do usuário do LLM Optimizer. Navegue até Configuração do cliente e selecione a guia Configuração da CDN.
4. Verificar se os logs estão fluindo corretamente
Depois de executar as solicitações de teste acima, verifique se os logs estão sendo gravados para as funções CloudFront e Lambda@Edge.
Logs de função do CloudFront (edgeoptimize-routing)
Navegação: Console do AWS > CloudWatch > Grupos de logs (em us-east-1 ou na região em que sua distribuição do CloudFront está configurada)
-
Procure um grupo de log chamado
/aws/cloudfront/function/edgeoptimize-routing. -
Abra o fluxo de log mais recente.
-
Para solicitações de agente, você deve ver entradas como:
Adding origin group for userAgent: chatgpt-userRouting to Edge Optimize origin for userAgent: chatgpt-user
-
Para solicitações não agênticas, você deve ver:
Routing to Default origin for userAgent: ...
Você também pode verificar a guia Métricas em Console do AWS > CloudFront > Funções > edgeotimize-routing para exibir as contagens de invocação e as taxas de erro.
Logs do Lambda@Edge (edgeoptimize-origin)
us-east-1. Verifique o CloudWatch na região do AWS mais próxima de onde você executou o comando curl.Navegação: Console do AWS > CloudWatch > Grupos de logs (verifique se você está na região correta)
-
Procure um grupo de log chamado
/aws/lambda/us-east-1.edgeoptimize-origin. -
Abra o fluxo de log mais recente.
-
Para solicitações de agente, você deve ver entradas como:
Calling Edge Optimize Origin for agentic requests— caminho principalCalling Default Origin in case of failover for agentic requests— caminho de failoverFailover Triggered for agentic requests— detecção de failover de origem-resposta
Se o grupo de logs não estiver presente, verifique se as permissões do IAM foram atualizadas corretamente na Etapa 4. Verifique também outras regiões próximas do AWS — o local da borda que atendeu à sua solicitação pode ser diferente do esperado.
Resolução de Problemas
x-edgeoptimize-request-id em resposta a solicitações de agenteYOUR_DEFAULT_ORIGIN foi substituído corretamente no código de função CloudFront (Etapa 2).x-edgeoptimize-api-key nos cabeçalhos personalizados de origem de Otimização do Edge (Etapa 1).us-east-1.cache-control: no-store0 na sua política de cache (Etapa 3). Se o TTL mínimo já for muito curto, talvez esse não seja o problema.Desabilitando e reabilitando a opção Otimizar no Edge
A função Lambda@Edge (edgeoptimize-origin) está associada aos eventos de resposta de origem e solicitação de origem do seu comportamento do CloudFront. Como é executado em linha em cada solicitação que passa por esse comportamento, seja humano ou prático, uma interrupção do Lambda@Edge afetará todo o tráfego ativo, não apenas solicitações críticas. Se você detectar uma interrupção do Lambda@Edge, remova as associações de função imediatamente para restaurar o fluxo de tráfego normal para sua origem padrão.
Como detectar uma interrupção do Lambda@Edge
- Painel de Integridade do Serviço AWS — Verifique no Painel de Integridade do Serviço AWS se há incidentes ativos que afetem o Amazon CloudFront ou o AWS Lambda. Uma interrupção global ou regional relatada aqui é a maneira mais rápida de confirmar o problema na infraestrutura da AWS, e não na sua configuração.
- Erros de Lambda@Edge — Navegue até Console do AWS > CloudFront > Monitoramento > [Sua Distribuição]. Abra a guia Lambda@Edge errors e verifique se há erros de execução no gráfico Execution errors. Se estiverem altos, Lambda@Edge pode estar inativo.
Desanexando a função Lambda@Edge
Navegação: Console do AWS > CloudFront > Distribuições > [Sua Distribuição] > Comportamentos
-
Clique em Editar sobre o seu comportamento.
-
Role para baixo até a seção Associações de função.
-
Definir as seguintes associações como Nenhuma associação:
table 0-row-2 1-row-2 2-row-2 3-row-2 Evento Alterar para Solicitação do visualizador Nenhuma associação Solicitação de origem Nenhuma associação Resposta de origem Nenhuma associação
-
Clique em Salvar alterações.
-
Aguarde até que a distribuição CloudFront conclua a implantação. O status muda de Implantação para a data da última modificação, normalmente dentro de alguns minutos.
Depois de implantado, todo o tráfego é roteado diretamente para sua origem padrão. Nenhuma configuração é excluída; a função Lambda e suas associações podem ser restauradas a qualquer momento.
Reanexando a função Lambda@Edge
Navegação: Console do AWS > CloudFront > Distribuições > [Sua Distribuição] > Comportamentos
-
Clique em Editar sobre o seu comportamento.
-
Role para baixo até a seção Associações de função.
-
Restaurar as associações:
table 0-row-2 1-row-2 2-row-2 3-row-2 Evento Defina como Solicitação do visualizador edgeoptimize-routing(função CloudFront)Solicitação de origem Versão do ARN Lambda do passo 4 Resposta de origem Versão do ARN Lambda do passo 4 Use a Função ARN com versão anotada na Etapa 4 (em Publicar uma versão).
-
Clique em Salvar alterações.
-
Aguarde a implantação da distribuição ser concluída e, em seguida, verifique se as solicitações de agente retornam o cabeçalho
x-edgeoptimize-request-idconforme descrito na Etapa 6.
Para saber mais sobre como Otimizar na Edge, incluindo oportunidades disponíveis, fluxos de trabalho de otimização automática e perguntas frequentes, volte para a visão geral de Otimizar na Edge.