Melakukan pembaruan kenari yang aman - Amazon CloudWatch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Melakukan pembaruan kenari yang aman

CloudWatch pembaruan kenari aman sintetis memungkinkan Anda menguji pembaruan pada kenari yang ada sebelum menerapkan perubahan. Fitur ini membantu Anda memvalidasi kompatibilitas kenari dengan waktu berjalan baru dan perubahan konfigurasi lainnya seperti perubahan kode atau memori. Ini akan membantu meminimalkan potensi gangguan pemantauan yang disebabkan oleh pembaruan yang salah.

Dengan menggunakan pembaruan aman kenari pada pembaruan versi runtime, perubahan konfigurasi, dan modifikasi skrip kode, Anda dapat mengurangi risiko, mempertahankan pemantauan tanpa gangguan, memverifikasi perubahan sebelum melakukan, memperbarui, dan mengurangi waktu henti.

Prasyarat

Pastikan prekuisitnya lengkap.

  • AWS akun dengan izin CloudWatch sintetis

  • Canary yang ada pada versi runtime yang didukung (lihat runtime Batasan yang kompatibel)

  • Sertakan runtime yang kompatibel saat melakukan dry run (lihat runtime Batasan yang kompatibel)

Praktik terbaik

Berikut adalah beberapa praktik terbaik untuk diikuti saat melakukan kenari.

  • Jalankan dry run untuk memvalidasi pembaruan runtime

  • Lakukan dry run sebelum pembaruan produksi ke kenari

  • Tinjau log kenari dan artefak setelah lari kering

  • Gunakan dry run untuk memvalidasi dependensi dan kompatibilitas pustaka

Menguji kenari menggunakan dry run

Anda dapat menguji pembaruan kenari menggunakan opsi berikut:

Menggunakan alur kerja Edit AWS Management Console

  1. Pergi konsol CloudWatch sintetis.

  2. Pilih kenari yang ingin Anda perbarui.

  3. Dari menu tarik-turun Tindakan, pilih Edit.

    Perbarui kenari dengan perubahan yang ingin Anda uji. Misalnya, mengubah versi runtime atau mengedit kode skrip.

  4. Di bawah skrip Canary, pilih Mulai Jalankan Kering untuk menguji dan melihat hasilnya segera atau pilih Validasi dan simpan nanti di bagian bawah halaman untuk memulai pengujian dan melihat hasilnya nanti di halaman Detail Canary Anda.

  5. Setelah dry run berhasil, pilih Kirim untuk melakukan pembaruan kenari Anda.

Menggunakan AWS Management Console untuk memperbarui kenari dalam batch

  1. Pergi konsol CloudWatch sintetis.

  2. Pilih halaman daftar Synthetics.

  3. Pilih hingga lima kenari yang ingin Anda perbarui runtime.

  4. Dari menu tarik-turun Tindakan, pilih Perbarui Runtime.

  5. Pilih Mulai dry run untuk runtime baru untuk memulai dry run dan uji perubahan Anda sebelum pembaruan.

  6. Pada halaman daftar Synthetics, Anda akan melihat teks di sebelah versi Runtime untuk kenari yang menampilkan kemajuan dry run (ini hanya ditampilkan untuk dry run yang melibatkan pembaruan runtime).

    Setelah dry run berhasil, Anda akan melihat teks Initiate Update.

  7. Pilih Initiate Update untuk melakukan pembaruan runtime.

  8. Jika dry run gagal, Anda akan melihat teks gagal Update dry run. Pilih teks untuk melihat tautan debug ke halaman detail kenari.

Menggunakan AWS CLI atau SDK

API memulai dry run untuk nama kenari yang disediakan MyCanary dan memperbarui versi runtime ke. 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

API akan mengembalikan bagian DryRunId dalamDryRunConfigOutput.

Panggil GetCanary dengan yang disediakan DryRunId untuk menerima konfigurasi dry run kenari dan bidang tambahan DryRunConfig yang berisi status dry run yang terdaftar sebagai. LastDryRunExecutionStatus

aws synthetics get-canary \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX

Untuk detail lebih lanjut, gunakan GetCanaryRuns dengan yang disediakan DryRunId untuk mengambil run dan informasi tambahan.

aws synthetics get-canary-runs \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX

Setelah dry run berhasil, Anda kemudian dapat menggunakan UpdateCanary dengan yang disediakan DryRunId untuk melakukan perubahan Anda.

aws synthetics update-canary \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX

Ketika gagal karena alasan apa pun (hasil dari GetCanaryRuns akan memiliki detail), hasil dari GetCanaryRuns memiliki lokasi artefak yang berisi log untuk di-debug. Ketika tidak ada log, dry run gagal dibuat. Anda dapat memvalidasi dengan menggunakanGetCanary.

aws synthetics get-canary \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX

Negara, StateReason, dan StateReasonCodemenampilkan status dry run.

Menggunakan AWS CloudFormation

Dalam template Anda untuk Canary Synthetics, berikan bidang DryRunAndUpdate yang menerima nilai boolean atau. true false

ketika nilainya true setiap pembaruan mengeksekusi dry run untuk memvalidasi perubahan sebelum memperbarui kenari secara otomatis. Ketika dry run gagal, kenari tidak memperbarui dan gagal penerapan dan AWS CloudFormation penerapan dengan alasan yang valid. Untuk men-debug masalah ini, gunakan konsol AWS Synthetics atau jika menggunakan API, gunakan GetCanaryRuns API, dan unduh file untuk meninjau *-log.txt eksekusi log canary untuk mengetahui kesalahan. ArtifactS3Location Setelah validasi, modifikasi AWS CloudFormation template dan coba lagi penerapan atau gunakan API di atas untuk memvalidasi.

Ketika nilainyafalse, sintetis tidak akan menjalankan dry run untuk memvalidasi perubahan dan akan langsung melakukan pembaruan Anda.

Untuk informasi tentang pemecahan masalah kenari yang gagal, lihat. Memecahkan masalah canary yang gagal

Contoh template.

SyntheticsCanary: Type: 'AWS::Synthetics::Canary' Properties: Name: MyCanary RuntimeVersion: syn-nodejs-puppeteer-10.0 Schedule: {Expression: 'rate(5 minutes)', DurationInSeconds: 3600} ... DryRunAndUpdate: true

Batasan

  • Mendukung versi runtime - syn-nodejs-puppeteer -10.0 +, -2.0 +, syn-nodejs-playwright dan -5.1 + syn-python-selenium

  • Anda hanya dapat menjalankan satu dry run per kenari pada satu waktu

  • Ketika dry run gagal, Anda tidak dapat memperbarui kenari

  • Dry run tidak dapat menguji perubahan bidang Jadwal apa pun

catatan

Saat Anda memulai dry run dengan perubahan kode untuk kenari Playwright dan Anda ingin memperbarui kenari tanpa memberikan yang terkaitDryRunId, Anda harus secara eksplisit menentukan parameter kode.