Pergeseran Lalu Lintas Canary - Amazon SageMaker

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

Pergeseran Lalu Lintas Canary

Dengan pergeseran lalu lintas kenari, Anda dapat menguji sebagian lalu lintas titik akhir Anda pada armada baru sementara armada lama melayani sisa lalu lintas. Langkah pengujian ini adalah pagar pembatas keselamatan yang memvalidasi fungsionalitas armada baru sebelum memindahkan semua lalu lintas Anda ke armada baru. Anda masih memiliki manfaat dari penyebaran biru/hijau, dan fitur kenari yang ditambahkan memungkinkan Anda memastikan bahwa armada baru (hijau) Anda dapat melayani inferensi sebelum membiarkannya menangani 100% lalu lintas.

Bagian dari armada hijau Anda yang menyala untuk menerima lalu lintas disebut kenari, dan Anda dapat memilih ukuran kenari ini. Perhatikan bahwa ukuran kenari harus kurang dari atau sama dengan 50% dari kapasitas armada baru. Setelah periode pemanggangan selesai dan tidak ada perjalanan CloudWatch alarm Amazon yang ditentukan sebelumnya, sisa lalu lintas bergeser dari armada lama (biru) ke armada hijau. Perpindahan lalu lintas kenari memberi Anda lebih banyak keamanan selama penerapan karena masalah apa pun dengan model yang diperbarui hanya memengaruhi kenari.

Diagram berikut menunjukkan bagaimana pergeseran lalu lintas kenari mengelola distribusi lalu lintas antara armada biru dan hijau.

Lalu lintas kenari dua langkah yang sukses bergeser dari armada lama ke armada baru.

Setelah SageMaker menyediakan armada hijau, SageMaker rute sebagian dari lalu lintas yang masuk (misalnya, 25%) ke kenari. Kemudian periode memanggang dimulai, di mana CloudWatch alarm Anda memantau kinerja armada hijau. Selama waktu ini, armada biru dan armada hijau sebagian aktif dan menerima lalu lintas. Jika ada alarm yang tersandung selama periode pemanggangan, maka SageMaker mulailah rollback dan semua lalu lintas kembali ke armada biru. Jika tidak ada alarm yang tersandung, maka semua lalu lintas bergeser ke armada hijau dan ada periode pemanggangan terakhir. Jika periode pemanggangan terakhir selesai tanpa tersandung alarm, maka armada hijau melayani semua lalu lintas dan SageMaker mengakhiri armada biru.

Prasyarat

Sebelum menyiapkan penerapan dengan pemindahan lalu lintas kenari, Anda harus membuat CloudWatch alarm Amazon untuk memantau metrik dari titik akhir Anda. Alarm aktif selama periode pemanggangan, dan jika ada alarm yang tersandung, maka semua lalu lintas titik akhir kembali ke armada biru. Untuk mempelajari cara mengatur CloudWatch alarm pada titik akhir, lihat halaman prasyarat. Konfigurasi dan Pemantauan Auto-Rollback Untuk mempelajari lebih lanjut tentang CloudWatch alarm, lihat Menggunakan CloudWatch alarm Amazon di CloudWatch Panduan Pengguna Amazon.

Konfigurasikan Pergeseran Lalu Lintas Canary

Setelah Anda siap untuk penerapan dan telah menyiapkan CloudWatch alarm Amazon untuk titik akhir Anda, Anda dapat menggunakan SageMaker UpdateEndpointAPI Amazon atau perintah update-endpoint di untuk memulai penerapan. AWS CLI

Cara memperbarui titik akhir (API)

Contoh UpdateEndpointAPI berikut menunjukkan bagaimana Anda dapat memperbarui titik akhir dengan pergeseran lalu lintas kenari.

import boto3 client = boto3.client("sagemaker") response = client.update_endpoint( EndpointName="<your-endpoint-name>", EndpointConfigName="<your-config-name>", DeploymentConfig={ "BlueGreenUpdatePolicy": { "TrafficRoutingConfiguration": { "Type": "CANARY", "CanarySize": { "Type": "CAPACITY_PERCENT", "Value": 30 }, "WaitIntervalInSeconds": 600 }, "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800 }, "AutoRollbackConfiguration": { "Alarms": [ { "AlarmName": "<your-cw-alarm>" } ] } } )

Untuk mengonfigurasi opsi pemindahan lalu lintas kenari, lakukan hal berikut:

  • UntukEndpointName, gunakan nama titik akhir yang ada yang ingin Anda perbarui.

  • UntukEndpointConfigName, gunakan nama konfigurasi titik akhir yang ingin Anda gunakan.

  • Di bawah DeploymentConfig dan BlueGreenUpdatePolicyTrafficRoutingConfiguration, di, atur Type parameter keCANARY. Ini menentukan bahwa penyebaran menggunakan perpindahan lalu lintas kenari.

  • Di CanarySize lapangan, Anda dapat mengubah ukuran kenari dengan memodifikasi Type dan Value parameter. UntukType, gunakanCAPACITY_PERCENT, artinya persentase armada hijau Anda yang ingin Anda gunakan sebagai kenari, dan kemudian atur Value ke30. Dalam contoh ini, Anda menggunakan 30% dari kapasitas armada hijau sebagai kenari. Perhatikan bahwa ukuran kenari harus sama dengan atau kurang dari 50% dari kapasitas armada hijau.

  • UntukWaitIntervalInSeconds, gunakan600. Parameter memberitahu SageMaker untuk menunggu jumlah waktu yang ditentukan (dalam detik) antara setiap pergeseran interval. Interval ini adalah durasi periode memanggang kenari. Dalam contoh sebelumnya, SageMaker tunggu selama 10 menit setelah pergeseran kenari dan kemudian menyelesaikan pergeseran lalu lintas kedua dan terakhir.

  • UntukTerminationWaitInSeconds, gunakan600. Parameter ini memberitahu SageMaker untuk menunggu jumlah waktu yang ditentukan (dalam detik) setelah armada hijau Anda sepenuhnya aktif sebelum menghentikan instance di armada biru. Dalam contoh ini, SageMaker tunggu selama 10 menit setelah periode pemanggangan terakhir sebelum mengakhiri armada biru.

  • UntukMaximumExecutionTimeoutInSeconds, gunakan1800. Parameter ini menetapkan jumlah waktu maksimum yang dapat dijalankan penerapan sebelum waktu habis. Pada contoh sebelumnya, penerapan Anda memiliki batas 30 menit untuk diselesaikan.

  • DiAutoRollbackConfiguration, di dalam Alarms bidang, Anda dapat menambahkan CloudWatch alarm berdasarkan nama. Buat satu AlarmName: <your-cw-alarm> entri untuk setiap alarm yang ingin Anda gunakan.

Cara memperbarui titik akhir dengan kebijakan pembaruan biru/hijau (API) yang ada

Saat Anda menggunakan CreateEndpointAPI untuk membuat titik akhir, Anda dapat secara opsional menentukan konfigurasi penerapan yang akan digunakan kembali untuk pembaruan titik akhir di masa mendatang. Anda dapat menggunakan DeploymentConfig opsi yang sama seperti contoh UpdateEndpoint API sebelumnya. Tidak ada perubahan pada perilaku CreateEndpoint API. Menentukan konfigurasi penerapan tidak secara otomatis melakukan pembaruan biru/hijau di titik akhir Anda.

Opsi untuk menggunakan konfigurasi penerapan sebelumnya terjadi saat menggunakan UpdateEndpointAPI untuk memperbarui titik akhir Anda. Saat memperbarui titik akhir, Anda dapat menggunakan RetainDeploymentConfig opsi untuk menjaga konfigurasi penerapan yang Anda tentukan saat membuat titik akhir.

Saat memanggil UpdateEndpointAPI, atur RetainDeploymentConfig True untuk menjaga DeploymentConfig opsi dari konfigurasi titik akhir asli Anda.

response = client.update_endpoint( EndpointName="<your-endpoint-name>", EndpointConfigName="<your-config-name>", RetainDeploymentConfig=True )

Cara memperbarui titik akhir (CLI)

Jika Anda menggunakan AWS CLI, contoh berikut menunjukkan cara memulai penerapan kenari biru/hijau menggunakan perintah update-endpoint.

update-endpoint --endpoint-name <your-endpoint-name> --endpoint-config-name <your-config-name> --deployment-config '"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "CANARY", "CanarySize": {"Type": "CAPACITY_PERCENT", "Value": 30}, "WaitIntervalInSeconds": 600}, "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800}, "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'

Untuk mengonfigurasi opsi pemindahan lalu lintas kenari, lakukan hal berikut:

  • Untukendpoint-name, gunakan nama titik akhir yang ingin Anda perbarui.

  • Untukendpoint-config-name, gunakan nama konfigurasi titik akhir yang ingin Anda gunakan.

  • Untukdeployment-config, gunakan objek BlueGreenUpdatePolicyJSON.

catatan

Jika Anda lebih suka menyimpan objek JSON Anda dalam sebuah file, lihat Menghasilkan AWS CLI kerangka dan parameter input di AWS CLI Panduan Pengguna.