Pergeseran Lalu Lintas Linear - 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 Linear

Pergeseran lalu lintas linier memungkinkan Anda untuk secara bertahap mengalihkan lalu lintas dari armada lama Anda (armada biru) ke armada baru Anda (armada hijau). Dengan pergeseran lalu lintas linier, Anda dapat menggeser lalu lintas dalam beberapa langkah, meminimalkan kemungkinan gangguan pada titik akhir Anda. Opsi penyebaran biru/hijau ini memberi Anda kontrol paling terperinci atas pergeseran lalu lintas.

Anda dapat memilih jumlah instance atau persentase kapasitas armada hijau untuk diaktifkan selama setiap langkah. Setiap langkah linier seharusnya hanya antara 10-50% dari kapasitas armada hijau. Untuk setiap langkah, ada periode pemanggangan di mana CloudWatch alarm Amazon Anda yang telah ditentukan sebelumnya memantau metrik pada armada hijau. Setelah periode pemanggangan selesai dan tidak ada alarm, bagian aktif armada hijau Anda terus menerima lalu lintas dan langkah baru dimulai. Jika alarm tersandung selama salah satu periode memanggang, 100% lalu lintas titik akhir berputar kembali ke armada biru.

Diagram berikut menunjukkan bagaimana lalu lintas linier menggeser rute lalu lintas ke armada biru dan hijau.

Pergeseran lalu lintas linier tiga langkah yang sukses dari armada lama ke armada baru.

Setelah SageMaker menyediakan armada baru, bagian pertama dari armada hijau menyala dan menerima lalu lintas. SageMaker menonaktifkan porsi ukuran yang sama dari armada biru, dan periode pemanggangan dimulai. Jika ada alarm yang tersandung, semua lalu lintas titik akhir bergulir kembali ke armada biru. Jika periode memanggang selesai, maka langkah selanjutnya dimulai. Bagian lain dari armada hijau mengaktifkan dan menerima lalu lintas, bagian dari armada biru dinonaktifkan, dan periode pemanggangan lainnya dimulai. Proses yang sama berulang sampai armada biru dinonaktifkan sepenuhnya dan armada hijau sepenuhnya aktif dan menerima semua lalu lintas. Jika alarm berbunyi kapan saja, SageMaker hentikan proses pergeseran dan 100% lalu lintas kembali ke armada biru.

Prasyarat

Sebelum menyiapkan penerapan dengan pergeseran lalu lintas linier, Anda harus membuat CloudWatch alarm 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 Linear

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

Cara memperbarui titik akhir () API

Contoh berikut UpdateEndpointAPImenunjukkan bagaimana Anda dapat memperbarui titik akhir dengan pergeseran lalu lintas linier.

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

Untuk mengonfigurasi opsi pemindahan lalu lintas linier, 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 keLINEAR. Ini menentukan bahwa penyebaran menggunakan pergeseran lalu lintas linier.

  • Di LinearStepSize lapangan, Anda dapat mengubah ukuran langkah dengan memodifikasi Type dan Value parameter. UntukType, gunakanCAPACITY_PERCENT, artinya persentase armada hijau Anda yang ingin Anda gunakan sebagai ukuran langkah, dan kemudian atur Value ke20. Dalam contoh ini, Anda mengaktifkan 20% dari kapasitas armada hijau untuk setiap langkah perpindahan lalu lintas. Perhatikan bahwa saat menyesuaikan ukuran langkah linier Anda, Anda hanya boleh menggunakan langkah yang 10-50% dari kapasitas armada hijau.

  • UntukWaitIntervalInSeconds, gunakan300. Parameter memberitahu SageMaker untuk menunggu jumlah waktu yang ditentukan (dalam detik) antara setiap pergeseran lalu lintas. Interval ini adalah durasi periode pemanggangan antara setiap langkah linier. Dalam contoh sebelumnya, SageMaker tunggu selama 5 menit di antara setiap shift lalu lintas.

  • UntukTerminationWaitInSeconds, gunakan300. 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 5 menit setelah periode pemanggangan terakhir sebelum mengakhiri armada biru.

  • UntukMaximumExecutionTimeoutInSeconds, gunakan3600. Parameter ini menetapkan jumlah waktu maksimum yang dapat dijalankan penerapan sebelum waktu habis. Pada contoh sebelumnya, penerapan Anda memiliki batas 1 jam 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 yang ada () API

Bila Anda menggunakan CreateEndpointAPIuntuk 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 UpdateEndpoint API contoh sebelumnya. Tidak ada perubahan pada CreateEndpoint API perilaku. Menentukan konfigurasi penerapan tidak secara otomatis melakukan pembaruan biru/hijau di titik akhir Anda.

Opsi untuk menggunakan konfigurasi penerapan sebelumnya terjadi saat menggunakan UpdateEndpointAPIuntuk 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 linier biru/hijau menggunakan perintah update-endpoint.

update-endpoint --endpoint-name <your-endpoint-name> --endpoint-config-name <your-config-name> --deployment-config '{"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "LINEAR", "LinearStepSize": {"Type": "CAPACITY_PERCENT", "Value": 20}, "WaitIntervalInSeconds": 300}, "TerminationWaitInSeconds": 300, "MaximumExecutionTimeoutInSeconds": 3600}, "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'

Untuk mengonfigurasi opsi pemindahan lalu lintas linier, 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 BlueGreenUpdatePolicyJSONobjek.

catatan

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