View a markdown version of this page

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 Anda yang ada sebelum menerapkan perubahan. Fitur ini membantu Anda memvalidasi kompatibilitas burung 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 canary safe 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 prasyarat sudah lengkap.

  • AWS akun dengan izin CloudWatch sintetis

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

  • Sertakan runtime yang kompatibel saat melakukan dry run (lihat Batasan untuk runtime 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 burung kenari

  • Tinjau log dan artefak kenari 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 al Konsol Manajemen AWS ur kerja Edit

  1. Pergi konsol CloudWatch sintetis.

  2. Pilih kenari yang ingin Anda perbarui.

  3. Dari menu tar ik- 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 Dry Run 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 K irim untuk melakukan pembaruan kenari Anda.

Menggunakan Konsol Manajemen AWS untuk memperbarui kenari dalam satu batch

  1. Pergi konsol CloudWatch sintetis.

  2. Pilih halaman daftar Synthetics.

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

  4. Dari menu tar ik- turun Tindakan, pilih Update Runtime.

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

  6. Pada halaman daftar Synthetics, Anda akan melihat teks di sebelah versi Runtime untuk burung 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 Mulai Pembaruan untuk melakukan pembaruan runtime.

  8. Jika dry run gagal, Anda akan melihat teks Update dry run failed. 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 kesyn-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.

Hu GetCanary bungi dengan yang disediakan DryRunId untuk menerima konfigurasi dry run burung kenari dan bidang tambahan DryRunConfig yang berisi status dry run yang terdaftar sebagaiLastDryRunExecutionStatus.

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 yang sukses, Anda kemudian dapat menggunakan UpdateCanary 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 menggunakan GetCanary.

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

Negara, StateReason, dan StateReasonCode menampilkan status dry run.

Menggunakan CloudFormation

Dalam template Anda untuk Synthetics Canary, 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 CloudFormation penerapan dengan alasan yang valid. Untuk men-debug masalah ini, gunakan konsol AWS Synthetics atau jika menggunakan API, dapatkan GetCanaryRuns API ArtifactS3Location menggunakan, dan unduh *-log.txt file untuk meninjau eksekusi log kenari untuk kesalahan. Setelah validasi, ubah CloudFormation template dan coba lagi penerapan atau gunakan API di atas untuk memvalidasi.

Jika nilainya adafalse, sintetis tidak akan menjalankan dry run untuk memvalidasi perubahan dan akan langsung melakukan pembaruan Anda.

Untuk informasi tentang pemecahan masalah kenari yang gagal, lihatMemecahkan 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 +, syn-nodejs-playwright-2.0 +, syn-python-selenium-5.1+, dan syn-nodejs-3.0 +

  • Anda hanya dapat menjalankan satu dry run per burung 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.