CloudFront (BYOCDN)
Questa configurazione indirizza il traffico da IA agentica (richieste da bot IA e da agenti utente LLM) al servizio back-end Edge Optimize (live.edgeoptimize.net). Le persone e i bot SEO continuano a ricevere come al solito i contenuti trasmessi dalla tua origine. Per testare la configurazione, al termine cerca nella risposta l’intestazione x-edgeoptimize-request-id.
Prerequisiti
Prima di configurare CloudFront, assicurati di:
- disporre di una distribuzione CloudFront esistente per il tuo sito web;
- disporre di autorizzazioni AWS IAM per creare funzioni Lambda, ruoli IAM, distribuzioni CloudFront e criteri della cache;
- aver recuperato dall’interfaccia di LLM Optimizer una chiave API del servizio Edge Optimize. Per la procedura, consulta Recuperare le chiavi API.
- (Facoltativo) Per verificare l’indirizzamento in fase di staging, consulta Chiave API di staging.
Passaggio 1: creare l’origine per il servizio Edge Optimize
Navigazione: Console AWS > CloudFront > Distribuzioni > [La tua distribuzione] > scheda Origini
-
Fai clic su Crea origine.
-
Configura l’origine:
- Dominio dell’origine:
live.edgeoptimize.net - Nome:
EdgeOptimize_Origin
- Dominio dell’origine:
-
Per tutti gli altri campi, lascia invariati i valori predefiniti.
-
Aggiungi intestazioni personalizzate:
table 0-row-2 1-row-2 2-row-2 3-row-2 Intestazione Valore x-edgeoptimize-api-keyLa tua chiave API x-forwarded-hostwww.example.comx-edgeoptimize-fetcher-keyChiave fetcher (necessaria solo in caso di WAF di inserire nell’elenco Consentiti) Sostituisci
www.example.comcon il dominio effettivo del tuo sito web eYour API keycon la chiave API di Edge Optimize fornita dal tuo rappresentante Adobe. -
Fai clic su Crea origine.
Passaggio 2: creare la funzione di richiesta del visualizzatore
Navigazione: Console AWS > CloudFront > Funzioni
-
Fai clic su Crea funzione.
-
Configurare:
- Nome:
edgeoptimize-routing - Runtime:
cloudfront-js-2.0
- Nome:
-
Sostituisci il codice predefinito con il codice presente in viewer-request.js.
Prima di pubblicare, personalizza i seguenti valori nel codice:
YOUR_DEFAULT_ORIGIN: sostituisci con il nome dell’origine predefinita esistente (disponibile in CloudFront > Distribuzioni > [Distribuzione] > scheda Origini).TARGETED_PATHS: imposta sunullper eseguire il targeting di tutte le pagine HTML oppure su un array di percorsi specifici, ad esempio['/', '/products', '/about'].
-
Fai clic su Salva modifiche > Funzione di pubblicazione.
Passaggio 3: configurare il criterio di cache
Navigazione: Console AWS > CloudFront > Distribuzioni > [La tua distribuzione] > Comportamenti
Verifica il criterio di cache attualmente associato al comportamento. Fai clic su Modifica sul comportamento e controlla la sezione Chiave della cache e richieste di origine per identificare lo scenario:
- Scenario A (precedente): vedi un pulsante di scelta selezionato, con etichetta Impostazioni cache precedenti. Non esiste un elenco a discesa del nome dei criteri, ma vedi le impostazioni TTL e di intestazione in linea.
- Scenario B (criterio personalizzato): puoi vedere selezionato “Criterio di cache” con un nome di criterio creato da te o dal tuo team (non un criterio fornito da AWS).
- Scenario C (criterio gestito): puoi vedere selezionato “Criterio di cache”con un nome fornito da AWS, ad esempio
CachingOptimized,CachingDisabledoCachingOptimizedForUncompressedObjects, che non possono essere modificati.
Scenario A: impostazioni cache precedenti
Se il comportamento utilizza impostazioni cache precedenti:
-
In Chiave della cache e richieste di origine, vedrai selezionato Impostazioni cache precedenti.
-
Aggiungi
x-edgeoptimize-configex-edgeoptimize-urlall’elenco delle Intestazioni consentite:- Seleziona Includi le seguenti intestazioni dal menu a discesa.
- Aggiungi
x-edgeoptimize-configex-edgeoptimize-url.
Se Tutti è già selezionato nel menu a discesa delle intestazioni, salta questo passaggio: tutte le intestazioni vengono inoltrate automaticamente all’origine.
-
Controlla l’impostazione Caching degli oggetti:
- Se impostata su Personalizza, è consigliabile impostare TTL minimo su
0. Tuttavia, se il TTL minimo corrente è già molto breve, potrebbe non essere necessario modificarlo. - Se impostata su Usa intestazioni cache di origine, non sono necessarie modifiche.
- Se impostata su Personalizza, è consigliabile impostare TTL minimo su
-
Fai clic su Salva modifiche.
Scenario B: impostazioni non precedenti con criterio di cache personalizzato
Se il comportamento utilizza già un criterio di cache personalizzato (uno creato dall’utente, non un criterio gestito da AWS):
Navigazione: Console AWS > CloudFront > Criteri > Cache
-
Fai clic sul criterio esistente.
-
Fai clic su Modifica.
-
È consigliabile impostare TTL minimo su
0. Tuttavia, se il TTL minimo corrente è già molto breve, potrebbe non essere necessario modificarlo.
-
In Impostazioni chiave della cache > Intestazioni, insieme alle inclusioni esistenti, aggiungi
x-edgeoptimize-configex-edgeoptimize-url.
-
Fai clic su Salva modifiche.
Scenario C: non precedente con un criterio di cache gestito (AWS)
Se il comportamento utilizza un criterio di cache gestito da AWS (per esempio CachingOptimized), non puoi modificarlo. Devi creare un nuovo criterio di cache personalizzato che replichi le impostazioni del criterio gestito esistente e aggiunga le intestazioni Edge Optimize in alto.
Parte 1: prendere nota delle impostazioni del criterio di cache gestito corrente
Navigazione: Console AWS > CloudFront > Criteri > Cache
-
Trova e fai clic sul criterio di cache gestito attualmente associato al comportamento (ad esempio,
CachingOptimized). -
Prendi nota di tutte le impostazioni esistenti:
- TTL minimo, TTL massimo, TTL predefinito
- Intestazioni incluse nella chiave della cache
- Cookie inclusi nella chiave della cache
- Stringhe di query incluse nella chiave della cache
- Supporto compressione (Gzip, Brotli)
Parte 2: creare un nuovo criterio di cache personalizzato con le stesse impostazioni e configurare Edge Optimize
Navigazione: Console AWS > CloudFront > Criteri > Cache
-
Fai clic su Crea criterio di cache.
-
Nome:
edgeoptimize-cache
-
Replica tutte le impostazioni della Parte 1, con le seguenti modifiche:
- È consigliabile impostare TTL minimo su
0. Tuttavia, se il TTL minimo corrente è già molto breve, potrebbe non essere necessario modificarlo.
- In Impostazioni della chiave della cache > Intestazioni, includi tutto ciò che era presente nel criterio gestito, aggiungendo
x-edgeoptimize-configex-edgeoptimize-url.
- È consigliabile impostare TTL minimo su
-
Fai clic su Crea.
-
Torna al tuo comportamento e associa il criterio appena creato:
Navigazione: Console AWS > CloudFront > Distribuzioni > [La tua distribuzione] > Comportamenti
- Modifica il comportamento.
- In Chiave della cache e richieste di origine, seleziona Criterio di cache.
- Scegli
edgeoptimize-cachedal menu a discesa. - Fai clic su Salva modifiche.
Passaggio 4: creare la funzione Lambda@Edge (richiesta di origine e risposta)
us-east-1area geografica (N. Virginia). Si tratta di un requisito di AWS. Anche se la funzione viene creata in us-east-1, AWS la replica automaticamente in tutte le posizioni Edge di CloudFront in tutto il mondo, in modo che venga eseguita nella posizione edge più vicina al visualizzatore. Prima di procedere, assicurati di trovarti nell’area us-east-1 della console AWS.Creare la funzione Lambda
Navigazione: Console AWS > Lambda
-
Fai clic su Crea funzione.
-
Seleziona Crea da zero.
-
Configurare:
- Nome funzione:
edgeoptimize-origin - Per tutti gli altri campi, lascia invariati i valori predefiniti.
- Nome funzione:
-
Fai clic su Crea funzione.
-
Nell’editor di codice, sostituisci il codice predefinito con il codice presente in origin-request-response.js.
-
Fai clic su Implementa per salvare il codice.
-
Prendi nota del nome del ruolo di esecuzione visualizzato in Configurazione > Autorizzazioni (ad esempio,
edgeoptimize-origin-role-xxxxx). Ti servirà nei seguenti passaggi.
Aggiorna il criterio di attendibilità del ruolo di esecuzione
Il ruolo creato automaticamente considera attendibile solo lambda.amazonaws.com. Per Lambda@Edge, devi aggiungere anche edgelambda.amazonaws.com.
Navigazione: Console AWS > IAM > Ruoli > [il tuo ruolo dal passaggio precedente] > scheda Relazioni di attendibilità
-
Fai clic su Modifica criterio di attendibilità.
-
Sostituisci il criterio con il contenuto di trust-policy.json.
-
Fai clic su Aggiorna criterio.
edgelambda.amazonaws.com. In sua assenza, CloudFront non può invocare la funzione nelle posizioni Edge.Correggere i criteri di autorizzazione dei registri di CloudWatch
Il ruolo creato automaticamente viene fornito con un criterio AWSLambdaBasicExecutionRole configurato per la normale funzione Lambda, in cui l’area geografica e il nome del gruppo di registri per Lambda@Edge sono errati. Devi aggiornarlo.
Navigazione: Console AWS > IAM > Ruoli > [il tuo ruolo] > scheda Autorizzazioni > fare clic sul nome del criterio associato (ad esempio, AWSLambdaBasicExecutionRole-xxxx)
-
Fai clic su Modifica.
-
Sostituisci il criterio con il contenuto di cloudwatch-policy.json.
Nel JSON, sostituisci
ACCOUNT_IDcon il tuo ID account AWS reale (riportato nell’angolo in alto a destra della console AWS) eFUNCTION_NAMEcon il nome della tua funzione Lambda (ad esempio,edgeoptimize-origin). -
Fai clic su Salva modifiche.
* — Lambda@Edge viene eseguito nella posizione edge più vicina al visualizzatore, pertanto i registri vengono scritti in CloudWatch nell’area geografica della posizione edge (ad esempio, ap-south-1, eu-west-1), non necessariamente us-east-1. Il gruppo di registri utilizza un nome con prefisso di area geografica: /aws/lambda/us-east-1.FUNCTION_NAME, dove us-east-1 è sempre l’area geografica propria della funzione.Correggi il collegamento dei registri di CloudWatch
Per impostazione predefinita, il collegamento Visualizza registri CloudWatch nella console Lambda collega a /aws/lambda/FUNCTION_NAME in us-east-1, ovvero il gruppo di registro errato per Lambda@Edge. Configurare un gruppo di registro personalizzato in modo che il collegamento punti al percorso corretto.
Navigazione: Console AWS > Lambda > [funzione] > Configurazione > Strumenti di monitoraggio e operazioni
-
Fai clic su Modifica.
-
In Gruppo di registro CloudWatch, seleziona Personalizzato.
-
Impostare il nome del gruppo di log personalizzato su
/aws/lambda/us-east-1.edgeoptimize-origin. -
In Autorizzazioni, lascia la casella di controllo Aggiungi autorizzazioni richieste deselezionata.
-
Fai clic su Salva.
eu-west-1, ap-south-1), non us-east-1. Per visualizzare i registri, è comunque necessario passare all’area corretta in CloudWatch.Pubblicare una versione
-
Nella pagina della funzione, fai clic su Azioni (in alto a destra) > Pubblica nuova versione.
-
Aggiungi una descrizione.
-
Fai clic su Pubblica.
-
Copia o prendi nota dell’ARN della funzione (ti servirà nel passaggio successivo).
Passaggio 5: associare funzioni e criterio di cache al comportamento
Navigazione: Console AWS > CloudFront > Distribuzioni > [La tua distribuzione] > Comportamenti
-
Modifica il comportamento.
-
Se hai creato un nuovo criterio di cache nel passaggio 3 (Scenario C), imposta Criterio di cache su
edgeoptimize-cache.
-
In Associazioni della funzione, configura:
- La richiesta del visualizzatore:
edgeoptimize-routing - La richiesta di origine: ARN della funzione nella versione del passaggio 4 (in Pubblica una versione)
- La risposta di origine: ARN della funzione nella versione del passaggio 4 (in Pubblica una versione)
- La richiesta del visualizzatore:
-
Fai clic su Salva modifiche.
Consenti Ottimizza su rete Edge tramite le regole del firewall (facoltativo)
Se la rete CDN utilizza un WAF o un Bot Manager:
-
Inserire nell’elenco Consentiti l’agente utente
*AdobeEdgeOptimize/1.0*nel WAF o nel gestore bot in modo che il servizio Optimize at Edge possa recuperare il contenuto di origine. -
Se il firewall richiede ulteriori verifiche oltre all’agente utente, generare un segreto (ad esempio,
openssl rand -hex 32) e:- Aggiungi
x-edgeoptimize-fetcher-keycon il segreto nelle regole di routing insieme alle altre intestazionix-edgeoptimize-*. - Aggiungi una regola di WAF o Bot Manager per consentire le richieste in cui
x-edgeoptimize-fetcher-keycorrisponde allo stesso segreto.
- Aggiungi
-
Ottimizza in Edge inoltra questa intestazione così com’è, sei il proprietario dell’intero ciclo di vita delle chiavi.
Passaggio 6: provare la configurazione
1. Test del traffico da bot (deve risultare ottimizzato)
Invia una richiesta con uno user agent bot agentico. Nella prima richiesta, Edge Optimize potrebbe restituire una risposta proxy (non ottimizzata) durante l’elaborazione della pagina e relativa memorizzazione nella cache. Puoi identificarla nell’intestazione x-edgeoptimize-proxy: 1 della risposta.
Simula una richiesta da un bot IA utilizzando un agente utente da IA agentica:
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: chatgpt-user"
Se il test ha esito positivo, la risposta contiene l’intestazione x-edgeoptimize-request-id, a conferma che la richiesta è stata indirizzata tramite il servizio Edge Optimize:
< HTTP/2 200
< x-edgeoptimize-request-id: 50fce12d-0519-4fc6-af78-d928785c1b85
2. Test del traffico da persone (deve risultare NON interessato da modifiche)
Simula una normale richiesta inserita da una persona nel browser:
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"
La risposta non deve contenere l’intestazione x-edgeoptimize-request-id. Il contenuto della pagina e il tempo di risposta devono risultare identici rispetto a prima che sia stata abilitata la funzione Ottimizza su rete edge.
3. Differenze tra i due scenari
x-edgeoptimize-request-idx-edgeoptimize-fo1)Lo stato del routing del traffico può essere controllato anche nell’interfaccia utente di LLM Optimizer. Passa a Configurazione cliente e seleziona la scheda Configurazione CDN.
4. Verificare il flusso corretto dei registri
Dopo aver eseguito le richieste di test sopra riportate, verifica che i registri siano scritti sia per la funzione CloudFront che per la funzione Lambda@Edge.
Registri della funzione CloudFront (edgeoptimize-routing)
Navigazione: Console AWS > CloudWatch > Gruppi di registri (in us-east-1 o nell’area geografica in cui è configurata la distribuzione CloudFront)
-
Cerca un gruppo di registri denominato
/aws/cloudfront/function/edgeoptimize-routing. -
Apri il flusso di registro più recente.
-
Per le richieste agentiche, dovresti vedere voci quali:
Adding origin group for userAgent: chatgpt-userRouting to Edge Optimize origin for userAgent: chatgpt-user
-
Per le richieste non agentiche, dovresti vedere:
Routing to Default origin for userAgent: ...
Puoi anche controllare la scheda Metriche in Console AWS > CloudFront > Funzioni > edgeoptimize-routing per visualizzare i conteggi delle chiamate e i tassi di errore.
Registri Lambda@Edge (edgeoptimize-origin)
us-east-1. Controlla CloudWatch nell’area geografica di AWS più vicina alla posizione in cui hai eseguito il comando curl.Navigazione: Console AWS > CloudWatch > Gruppi di registri (assicurati di trovarti nell’area geografica corretta)
-
Cerca un gruppo di registri denominato
/aws/lambda/us-east-1.edgeoptimize-origin. -
Apri il flusso di registro più recente.
-
Per le richieste agentiche, dovresti vedere voci quali:
Calling Edge Optimize Origin for agentic requests: percorso primarioCalling Default Origin in case of failover for agentic requests: percorso di failoverFailover Triggered for agentic requests: rilevamento failover risposta di origine
Se il gruppo di registri non è presente, verifica che le autorizzazioni IAM siano state aggiornate correttamente nel passaggio 4. Controlla anche altre aree geografiche vicine di AWS: la posizione Edge che ha visualizzato la richiesta potrebbe essere diversa da quella prevista.
Risoluzione dei problemi
x-edgeoptimize-request-id nella risposta per le richieste agenticheYOUR_DEFAULT_ORIGIN sia stato sostituito correttamente nel codice della funzione CloudFront (passaggio 2).x-edgeoptimize-api-key nelle intestazioni personalizzate di origine di Edge Optimize (passaggio 1).us-east-1.cache-control: no-store0 nel tuo criterio di cache (passaggio 3). Se il TTL minimo è già molto breve, questo potrebbe non essere il problema.Disabilitare e riabilitare Ottimizza su Edge
La funzione Lambda@Edge (edgeoptimize-origin) è associata alla richiesta di origine e agli eventi di risposta di origine del comportamento CloudFront. Siccome viene eseguito in linea su ogni richiesta che passa attraverso tale comportamento, sia umana che agentica, un’interruzione di Lambda@Edge influirà su tutto il traffico live, non solo sulle richieste agentiche. Se rilevi un’interruzione Lambda@Edge, rimuovi immediatamente le associazioni della funzione per ripristinare il normale flusso di traffico all’origine predefinita.
Come rilevare un’interruzione di Lambda@Edge
- Dashboard AWS Service Health: visita la Dashboard AWS Service Health per eventuali incidenti attivi che interessano Amazon CloudFront o AWS Lambda. Un’interruzione globale o regionale riportata qui è il modo più rapido per confermare che il problema riguarda il lato dell’infrastruttura AWS anziché la tua configurazione.
- Errori Lambda@Edge: passa a Console AWS > CloudFront > Monitoraggio > [La tua distribuzione]. Apri la scheda Errori Lambda@Edge per verificare nel grafico degli Errori di esecuzione l’eventuale presenza di errori di esecuzione. Se il numero è elevato, Lambda@Edge potrebbe essere inattivo.
Scollegare la funzione Lambda@Edge
Navigazione: Console AWS > CloudFront > Distribuzioni > [La tua distribuzione] > Comportamenti
-
Fai clic su Modifica sul tuo comportamento.
-
Scorri verso il basso fino alla sezione Associazioni della funzione.
-
Imposta le seguenti associazioni su Nessuna associazione:
table 0-row-2 1-row-2 2-row-2 3-row-2 Evento Cambiare in Richiesta del visualizzatore Nessuna associazione Richiesta di origine Nessuna associazione Risposta di origine Nessuna associazione
-
Fai clic su Salva modifiche.
-
Attendi il completamento della distribuzione di CloudFront. Lo stato cambia da Implementazione alla data dell’ultima modifica, in genere entro pochi minuti.
Al termine dell’implentazione, tutti gli indirizzamenti del traffico arrivano direttamente all’origine predefinita. Nessuna configurazione viene eliminata: la funzione Lambda e le relative associazioni possono essere ripristinate in qualsiasi momento.
Collegare nuovamente la funzione Lambda@Edge
Navigazione: Console AWS > CloudFront > Distribuzioni > [La tua distribuzione] > Comportamenti
-
Fai clic su Modifica sul tuo comportamento.
-
Scorri verso il basso fino alla sezione Associazioni della funzione.
-
Ripristina le associazioni:
table 0-row-2 1-row-2 2-row-2 3-row-2 Evento Impostare su Richiesta del visualizzatore edgeoptimize-routing(funzione CloudFront)Richiesta di origine ARN Lambda nella versione del passaggio 4 Risposta di origine ARN Lambda nella versione del passaggio 4 Utilizza l’ARN della funzione nella versione annotata nel passaggio 4 (in Pubblica una versione).
-
Fai clic su Salva modifiche.
-
Attendi il completamento della distribuzione, quindi verifica che le richieste agentiche restituiscano l’intestazione
x-edgeoptimize-request-idcome descritto nel passaggio 6.
Per ulteriori informazioni su Ottimizza in Edge, tra cui le opportunità disponibili, i flussi di lavoro di ottimizzazione automatica e le domande frequenti, torna alla Panoramica sull’ottimizzazione in Edge.