

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
<a name="performing-safe-canary-upgrades"></a>

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.

**Topics**
+ [Prasyarat](#performing-safe-canary-upgrades-prereq)
+ [Praktik terbaik](#performing-safe-canary-upgrades-best-practices)
+ [Menguji kenari menggunakan dry run](#performing-safe-canary-upgrades-getting-started)
+ [Batasan](#performing-safe-canary-upgrades-limitations)

## Prasyarat
<a name="performing-safe-canary-upgrades-prereq"></a>

Pastikan prasyarat sudah lengkap.
+ AWS akun dengan izin CloudWatch sintetis
+ Canary yang ada pada versi runtime yang didukung (lihat [Batasan](#performing-safe-canary-upgrades-limitations) untuk runtime yang kompatibel)
+ Sertakan runtime yang kompatibel saat melakukan dry run (lihat [Batasan](#performing-safe-canary-upgrades-limitations) untuk runtime yang kompatibel)

## Praktik terbaik
<a name="performing-safe-canary-upgrades-best-practices"></a>

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
<a name="performing-safe-canary-upgrades-getting-started"></a>

Anda dapat menguji pembaruan kenari menggunakan opsi berikut:

 **Menggunakan al Konsol Manajemen AWS ur kerja Edit ** 

1. Pergi konsol CloudWatch sintetis.

1. Pilih kenari yang ingin Anda perbarui.

1. Dari menu tar ** ik- ** turun Tindakan, pilih ** Edit**.

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

1. 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.

1. 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.

1. Pilih halaman ** daftar ** Synthetics.

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

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

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

1. 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.

1. Pilih ** Mulai Pembaruan ** untuk melakukan pembaruan runtime.

1. 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 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` dalam`DryRunConfigOutput`.

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 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 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 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Troubleshoot.html) 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 ada`false`, 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](CloudWatch_Synthetics_Canaries_Troubleshoot.md).

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
<a name="performing-safe-canary-upgrades-limitations"></a>
+ 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 terkait`DryRunId`, Anda harus secara eksplisit menentukan parameter kode.