Creazione di un Canary - Amazon CloudWatch

Creazione di un Canary

Importante

Assicurati di utilizzare Canary Synthetics per monitorare solo gli endpoint e le API in cui disponi di autorizzazioni o di cui sei proprietario. In base alle impostazioni di frequenza del canary, per questi endpoint può verificarsi un aumento del traffico.

Quando utilizzi la console CloudWatch per creare un canary, puoi utilizzare un blueprint fornito da CloudWatch per creare il canary o scrivere il tuo script. Per ulteriori informazioni, consulta Utilizzo dei blueprint dei canary.

Puoi anche creare un canary utilizzando CloudFormation se utilizzi il tuo script per il canary. Per ulteriori informazioni, consulta AWS::Synthetics::Canary nella Guida per l'utente AWS CloudFormation.

Se stai scrivendo il tuo script, puoi usare diverse funzioni che CloudWatch Synthetics ha incorporato in una libreria. Per ulteriori informazioni, consulta Versioni di runtime Synthetics.

Nota

Quando crei un canary, uno dei livelli creati è un livello Synthetics, preceduto dal prefisso Synthetics. Questo livello è di proprietà dell'account del servizio Synthetics e contiene il codice di runtime.

Per creare un Canary
  1. Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel pannello di navigazione, scegli Application Signals, Canary di Synthetics.

  3. Scegli Create Canary (Crea Canary).

  4. Scegli una delle seguenti opzioni:

    • Per basare il canary su uno script di blueprint, scegli Use a blueprint (Usa un blueprint), quindi scegli il tipo di canary che desideri creare. Per ulteriori informazioni sulle attività di ciascun tipo di blueprint, consulta Utilizzo dei blueprint dei canary.

    • Per caricare il tuo script Node.js per creare un Canary personalizzato, scegli Upload a script (Carica uno script).

      Puoi quindi trascinare lo script in Script o scegliere Browse files (Sfoglia file) per passare allo script nel file system.

    • Per importare lo script da un bucket S3, scegli Import from S3 (Importa da S3). Quindi, in Source location (Posizione origine), digita il percorso completo al canary o scegli Browse S3 (Sfoglia S3).

      È necessario disporre delle autorizzazioni s3:GetObject e s3:GetObjectVersion per il bucket S3 in uso. Il bucket deve trovarsi nella stessa regione AWS in cui stai creando il Canary.

  5. In Name (Nome), immetti un nome per il Canary. Il nome viene utilizzato in molte pagine, pertanto è consigliabile assegnare un nome descrittivo che lo distingua da altri canary creati.

  6. In Application or endpoint URL (URL applicazione o endpoint), immetti l'URL che il Canary deve testare. Questo URL deve includere il protocollo (ad esempio https://).

    Se si desidera che il canary esegua il test di un endpoint su un VPC, è inoltre necessario immettere le informazioni sul VPC più avanti in questa procedura.

  7. Se utilizzi il tuo script per il canary, in Lambda handler (Gestore Lambda), immetti il punto d'ingresso da cui avviare il canary. Per informazioni sul formato del gestore Lambda, consulta Versioni di runtime Synthetics.

  8. In Editor script, Versione di runtime, seleziona una versione di runtime Synthetics per eseguire il canary. Per informazioni sulle versioni di runtime Synthetics, consulta Versioni di runtime Synthetics.

    In Configurazione del browser, puoi abilitare il browser per testare il canary. È necessario selezionare almeno un browser.

  9. Se utilizzi variabili di ambiente nello script, scegli Environment variables (Variabili di ambiente) e specifica un valore per ciascuna variabile di ambiente definita nello script. Per ulteriori informazioni, consulta Variabili di ambiente.

  10. In Schedule (Pianifica), scegli se eseguire questo canary una volta, continuamente utilizzando un'espressione Rate o utilizzando un'espressione Cron.

    • Quando usi la console CloudWatch per creare un canary che funziona continuamente, puoi scegli una frequenza qualsiasi tra una volta al minuto e una volta all'ora.

  11. (Facoltativo) Per impostare un valore di timeout per il canary, scegli Additional configuration (Configurazione aggiuntiva), quindi specificare il valore di timeout. Non più breve di 15 secondi per consentire l'avvio a freddo Lambda e il tempo necessario per avviare la strumentazione canary.

  12. In Data retention (Conservazione dei dati), specifica per quanto tempo conservare le informazioni relative a esecuzioni Canary non riuscite e riuscite. L'intervallo è 1-455 giorni.

    Questa impostazione influisce sulla gamma di informazioni restituite dalle operazioni GetCanaryRuns, nonché sulla gamma di informazioni visualizzate nella console Synthetics.

    Non influisce sui dati memorizzati nei bucket Amazon S3 o su registri o parametri pubblicati dal Canary.

    Indipendentemente dal periodo di conservazione dei dati dei canary, l'intervallo di informazioni visualizzato nella console presenta determinati limiti. Nella visuale home della console Synthetics, l'intervallo di tempo relativo e assoluto è limitato a sette giorni. Nella visuale della console Synthetics per un canary specifico, l'intervallo di tempo relativo è limitato a sette giorni e l'intervallo di tempo assoluto è limitato a 30 giorni.

  13. In Archiviazione di dati, seleziona il bucket Amazon S3 da utilizzare per archiviare i dati delle esecuzioni canary. Il nome del bucket non può contenere un punto (.). Se lo lasci vuoto, verrà utilizzato o creato un bucket Amazon S3 predefinito.

  14. (Facoltativo) Per impostazione predefinita, i canary memorizzano i loro artefatti su Amazon S3 e gli artefatti vengono crittografati a riposo utilizzando una chiave AWS KMS gestita da AWS. È possibile utilizzare un'opzione di crittografia diversa scegliendo Configurazione aggiuntiva nella sezione Archiviazione dati. È quindi possibile scegliere il tipo di chiave da utilizzare per la crittografia. Per ulteriori informazioni, consulta Crittografia di artefatti canary.

  15. In Access permissions (Autorizzazioni di accesso), scegli se creare un nuovo ruolo IAM per eseguire il canary o usarne uno esistente.

    Se CloudWatch Synthetics crea il ruolo, include automaticamente tutte le autorizzazioni necessarie. Se si desidera creare personalmente il ruolo, consulta Ruoli e autorizzazioni richiesti per i canary per ottenere informazioni sulle autorizzazioni necessarie.

    Se utilizzi la console CloudWatch per creare un ruolo per un canary quando crei il canary, non puoi riutilizzare il ruolo per altri canary, poiché questi ruoli sono specifici per un solo canary. È possibile utilizzare un ruolo esistente solo se è stato creato manualmente un ruolo che funziona per più canary.

    Per utilizzare un ruolo esistente, è necessario disporre dell' autorizzazione iam:PassRole per passare tale ruolo a Synthetics e Lambda. Devi anche avere l'autorizzazione iam:GetRole.

  16. (Facoltativo) In Alarms (Allarmi), scegli se creare allarmi CloudWatch predefiniti per questo canary. Se scegli di creare allarmi, questi vengono creati con la seguente convenzione di denominazione: Synthetics-Alarm-canaryName-index

    index è un numero che rappresenta ogni allarme creato per questo canary. Il primo allarme ha un indice di 1, il secondo allarme ha un indice di 2 e così via.

  17. Per fare in modo che questo canary verifichi un endpoint che si trova su un VPC, scegli VPC settings (Impostazioni VPC) e procedi come segue:

    1. Seleziona il VPC che ospita l'endpoint.

    2. Seleziona una o più sottoreti nel VPC. È necessario selezionare una sottorete privata perché l'istanza Lambda non può essere configurata per l'esecuzione in una sottorete pubblica quando non è possibile assegnare un indirizzo IP all'istanza Lambda durante l'esecuzione. Per ulteriori informazioni, consulta Configurazione di una funzione Lambda per accedere alle risorse in un VPC.

    3. Seleziona uno o più gruppi di sicurezza nel VPC.

    4. Per consentire il traffico IPv6 in uscita per questo canary, seleziona Consenti il traffico IPv6 per sottoreti dual-stack. Questo consente al canary di monitorare endpoint abilitati solo per IPv6 e quelli dual-stack tramite IPv6.

      Puoi monitorare gli endpoint esterni al tuo VPC fornendo al canary l'accesso a Internet e configurando le sottoreti VPC in modo appropriato. Per ulteriori informazioni, consulta Esecuzione di un Canary su un VPC.

    Se l'endpoint si trova in un VPC, è necessario abilitare il Canary per inviare informazioni a CloudWatch e Amazon S3. Per ulteriori informazioni, consulta Esecuzione di un Canary su un VPC.

  18. (Facoltativo) In Tags (Tag), aggiungere facoltativamente una o più coppie chiave/valore come tag per questo canary. I tag possono aiutarti a identificare e organizzare le risorse AWS e a tenere traccia dei tuoi costi AWS. Per ulteriori informazioni, consulta Assegnazione di tag alle risorse Amazon CloudWatch.

    Se vuoi che i tag che applichi al canary vengano applicati anche alla funzione Lambda utilizzata dal canary, scegli la funzione Lambda in Replica dei tag. Se scegli questa opzione, CloudWatch Synthetics manterrà sincronizzati i tag sul canary e la funzione Lambda:

    • Synthetics applicherà gli stessi tag che specifichi qui sia al tuo canary che alla tua funzione Lambda.

    • Se successivamente aggiorni i tag del canary e mantieni selezionata questa opzione, Synthetics modificherà i tag sulla tua funzione Lambda affinché rimangano sincronizzati con il canary.

  19. (Facoltativo) In Active tracing (Tracciamento attivo) scegli se abilitare il tracciamento attivo con X-Ray per questo canary. Il tracciamento attivo è disponibile solo per i runtime Puppeteer e Java. Per ulteriori informazioni, consulta Canary e tracciamento X-Ray.

Risorse create per Canary

Quando crei un canary, vengono create le seguenti risorse:

  • Un ruolo IAM con il nome CloudWatchSyntheticsRole-canary-name-uuid (se utilizzi la console CloudWatch per creare il canary e specifichi un nuovo ruolo da creare per il canary)

  • Una policy IAM con il nome CloudWatchSyntheticsPolicy-canary-name-uuid.

  • Un bucket S3 con il nome cw-syn-results-accountID-region.

  • Allarmi con il nome Synthetics-Alarm-MyCanaryName (se specifichi gli allarmi da creare per il canary)

  • Funzioni Lambda e livelli, se utilizzi un piano per creare il Canary. Queste risorse hanno il prefisso cwsyn-MyCanaryName.

  • Gruppi di log CloudWatch Logs con il nome /aws/lambda/cwsyn-MyCanaryName-randomId.