Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esecuzione di aggiornamenti sicuri su Canary
CloudWatch synthetics safe canary updates ti consente di testare gli aggiornamenti sui tuoi canarini esistenti prima di applicare le modifiche. Questa funzionalità consente di convalidare la compatibilità di Canary con i nuovi runtime e altre modifiche alla configurazione, come modifiche al codice o alla memoria. Ciò contribuirà a ridurre al minimo le potenziali interruzioni del monitoraggio causate da aggiornamenti errati.
Utilizzando Canary Safe Updates sugli aggiornamenti delle versioni di runtime, sulle modifiche alla configurazione e sulle modifiche degli script di codice, puoi mitigare i rischi, mantenere un monitoraggio ininterrotto, verificare le modifiche prima di eseguire il commit, aggiornare e ridurre i tempi di inattività.
Prerequisiti
Assicurati che i prerequisiti siano completi.
AWS account con autorizzazioni sintetiche CloudWatch
Canary esistente nelle versioni di runtime supportate (vedi Limitazioni per i runtime compatibili)
Includi i runtime compatibili quando esegui un funzionamento a secco (vedi Limitazioni per i runtime compatibili)
Best practice
Ecco alcune buone pratiche da seguire durante l'esecuzione di un canarino.
Esegui un dry run per convalidare un aggiornamento di runtime
Esegui cicli a secco prima dell'aggiornamento della produzione a canary
Esamina i tronchi e i manufatti dei canarini dopo un ciclo a secco
Usa dry run per convalidare le dipendenze e la compatibilità delle librerie
Testare Canary usando dry run
Puoi testare l'aggiornamento Canary utilizzando le seguenti opzioni:
Utilizzo del flusso AWS Management Console di lavoro «Modifica»
Vai alla console di CloudWatch sintesi.
Seleziona il canarino che desideri aggiornare.
Dal menu a discesa Azioni, scegli Modifica.
Aggiorna il canarino con le modifiche che desideri testare. Ad esempio, cambiando la versione di runtime o modificando il codice dello script.
In Canary script, scegli Avvia Dry Run per testare e visualizzare immediatamente i risultati oppure scegli Convalida e salva più tardi nella parte inferiore della pagina per iniziare il test e visualizzare i risultati più avanti nella pagina dei dettagli di Canary.
Una volta completata la prova a secco, scegli Invia per confermare gli aggiornamenti di Canary.
Utilizzo di AWS Management Console per aggiornare i canarini in un batch
Vai alla console di CloudWatch sintesi.
Scegliete la pagina dell'elenco Synthetics.
Seleziona fino a cinque canarini di cui desideri aggiornare il runtime.
Dal menu a discesa Azioni, scegli Update Runtime.
Scegli Start dry run for new runtime per avviare il dry run e testare le modifiche prima di un aggiornamento.
Nella pagina dell'elenco Synthetics, vedrai un testo accanto alla versione Runtime per il canary che mostra l'avanzamento della corsa a secco (questo viene visualizzato solo per le corse a secco che richiedono un aggiornamento del runtime).
Una volta completata l'operazione a secco, verrà visualizzato il testo Initiate Update.
Scegli Avvia aggiornamento per confermare l'aggiornamento del runtime.
Se l'esecuzione a secco non riesce, verrà visualizzato il testo Update dry run failed. Scegli il testo per visualizzare il link di debug alla pagina dei dettagli di Canary.
Utilizzo della AWS CLI o dell'SDK
L'API avvia l'esecuzione a secco per il nome canarino fornito MyCanary
e aggiorna la versione di runtime a. syn-nodejs-puppeteer-10.0
aws synthetics start-canary-dry-run \ --name MyCanary \ --runtime-version syn-nodejs-puppeteer-10.0 // Or if you wanted to update other configurations: aws synthetics start-canary-dry-run \ --name MyCanary \ --execution-role-arn arn:aws:iam::123456789012:role/NewRole
L'API restituirà il file DryRunId
interno diDryRunConfigOutput
.
Chiama GetCanary
con il modulo fornito DryRunId
per ricevere le configurazioni di funzionamento a secco di Canary e un campo aggiuntivo DryRunConfig
che contiene lo stato della corsa a secco elencata come. LastDryRunExecutionStatus
aws synthetics get-canary \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX
Per maggiori dettagli, utilizza GetCanaryRuns
il comando fornito DryRunId
per recuperare la corsa e altre informazioni.
aws synthetics get-canary-runs \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX
Dopo un corretto funzionamento a secco, è possibile utilizzare l'UpdateCanary
unità fornita DryRunId
in dotazione per confermare le modifiche.
aws synthetics update-canary \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX
Quando fallisce per qualsiasi motivo (result from GetCanaryRuns avrà i dettagli), il risultato GetCanaryRuns
ha una posizione nell'artefatto che contiene i log di cui eseguire il debug. Quando non ci sono registri, il dry run non è stato creato. È possibile convalidare utilizzando. GetCanary
aws synthetics get-canary \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX
Lo stato StateReason, e StateReasonCodevisualizza lo stato del funzionamento a secco.
Utilizzando AWS CloudFormation
Nel tuo modello per Synthetics Canary, fornisci il DryRunAndUpdate
campo che accetta un valore booleano o. true
false
quando il valore è, true
ogni aggiornamento esegue un dry run per convalidare le modifiche prima di aggiornare automaticamente il canary. Quando il dry run fallisce, Canary non si aggiorna e fallisce la distribuzione e la distribuzione per un AWS CloudFormation motivo valido. Per eseguire il debug di questo problema, usa la AWS console Synthetics o, se utilizzi un'API, scarica ArtifactS3Location
l'API e scarica i file per esaminare GetCanaryRuns
le esecuzioni di *-log.txt
canary log alla ricerca di errori. Dopo la convalida, modifica il AWS CloudFormation modello e riprova la distribuzione o utilizza l'API sopra riportata per la convalida.
Quando il valore è 0false
, synthetics non eseguirà un'operazione a secco per convalidare le modifiche e invierà direttamente gli aggiornamenti.
Per informazioni sulla risoluzione dei problemi relativi a un canarino guasto, consulta. Risoluzione dei problemi di un canary fallito
Un modello di esempio.
SyntheticsCanary: Type: 'AWS::Synthetics::Canary' Properties: Name: MyCanary RuntimeVersion: syn-nodejs-puppeteer-10.0 Schedule: {Expression: 'rate(5 minutes)', DurationInSeconds: 3600} ... DryRunAndUpdate: true
Limitazioni
Supporta le versioni di runtime: syn-nodejs-puppeteer -10.0+, syn-nodejs-playwright -2.0+ e -5.1+ syn-python-selenium
Puoi eseguire solo una corsa a secco per canarino alla volta
Quando una corsa a secco fallisce, non è possibile aggiornare il canarino
Dry run non può testare alcuna modifica del campo Schedule
Nota
Quando si avvia un dry run con modifiche al codice per un Playwright Canary e si desidera aggiornare il canary senza fornire i relativi parametriDryRunId
, è necessario specificare esplicitamente i parametri del codice.