Contoh: Alias dan penyebaran versi di Step Functions - AWS Step Functions

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

Contoh: Alias dan penyebaran versi di Step Functions

Contoh berikut dari teknik penyebaran Canary menunjukkan bagaimana Anda dapat menerapkan versi mesin status baru dengan AWS Command Line Interface. Dalam contoh ini, alias yang Anda buat merutekan 20 persen lalu lintas eksekusi ke versi baru. Ini kemudian mengarahkan 80 persen sisanya dari versi sebelumnya. Untuk menerapkan versi mesin status baru dan menggeser lalu lintas eksekusi dengan alias, selesaikan langkah-langkah berikut:

  1. Publikasikan versi dari revisi mesin status saat ini.

    Gunakan publish-state-machine-version perintah di AWS CLI untuk mempublikasikan versi dari revisi saat ini dari mesin negara yang disebut myStateMachine:

    aws stepfunctions publish-state-machine-version --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine

    Respons mengembalikan stateMachineVersionArn versi yang Anda terbitkan. Misalnya, arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1.

  2. Buat alias yang menunjuk ke versi mesin negara.

    Gunakan create-state-machine-alias perintah untuk membuat alias bernama PROD yang menunjuk ke versi 1 darimyStateMachine:

    aws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",\"weight\":100}]"
  3. Verifikasi bahwa eksekusi yang dimulai oleh alias menggunakan versi yang diterbitkan dengan benar.

    Mulai eksekusi baru myStateMachine dengan memberikan alias PROD dalam start-execution perintah: ARN

    aws stepfunctions start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachineAlias:myStateMachine:PROD --input "{}"

    Jika Anda menyediakan mesin status ARN dalam StartExecutionpermintaan, ia menggunakan mesin status terbaru revision alih-alih versi yang ditentukan dalam alias Anda untuk memulai eksekusi.

  4. Perbarui definisi mesin status dan publikasikan versi baru.

    Perbarui myStateMachine dan publikasikan versi barunya. Untuk melakukan ini, gunakan publish parameter opsional update-state-machine perintah:

    aws stepfunctions update-state-machine --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine --definition $UPDATED_STATE_MACHINE_DEFINITION --publish

    Respons mengembalikan stateMachineVersionArn untuk versi baru. Misalnya, arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:2.

  5. Perbarui alias untuk menunjuk ke kedua versi dan mengatur konfigurasi perutean alias.

    Gunakan update-state-machine-alias perintah untuk memperbarui konfigurasi routing PROD alias. Konfigurasikan alias sehingga 80 persen dari lalu lintas eksekusi masuk ke versi 1 dan 20 persen sisanya masuk ke versi 2:

    aws stepfunctions update-state-machine-alias --state-machine-alias-arn arn:aws:states:us-east-1:123456789012:stateMachineAlias:myStateMachine:PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",\"weight\":80}, {\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:2\",\"weight\":20}]"
  6. Ganti versi 1 dengan versi 2.

    Setelah Anda memverifikasi bahwa versi mesin status baru Anda berfungsi dengan benar, Anda dapat menerapkan versi mesin status baru. Untuk melakukan ini, perbarui alias lagi untuk menetapkan 100 persen lalu lintas eksekusi ke versi baru.

    Gunakan update-state-machine-alias perintah untuk mengatur konfigurasi routing alias PROD ke 100 persen untuk versi 2:

    aws stepfunctions update-state-machine-alias --state-machine-alias-arn arn:aws:states:us-east-1:123456789012:stateMachineAlias:myStateMachine:PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:2\",\"weight\":100}]"
Tip

Untuk mengembalikan penerapan versi 2, edit konfigurasi perutean alias untuk mengalihkan 100 persen lalu lintas ke versi yang baru digunakan.

aws stepfunctions update-state-machine-alias --state-machine-alias-arn arn:aws:states:us-east-1:123456789012:stateMachineAlias:myStateMachine:PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",\"weight\":100}]"

Anda dapat menggunakan versi dan alias untuk melakukan jenis penerapan lainnya. Misalnya, Anda dapat melakukan penerapan bergulir versi baru mesin status Anda. Untuk melakukannya, secara bertahap tingkatkan persentase tertimbang dalam konfigurasi routing alias yang menunjuk ke versi baru.

Anda juga dapat menggunakan versi dan alias untuk melakukan penyebaran biru/hijau. Untuk melakukannya, buat alias bernama green yang menjalankan versi 1 saat ini dari mesin status Anda. Kemudian, buat alias lain bernama blue yang menjalankan versi baru, misalnya,2. Untuk menguji versi baru, kirim lalu lintas eksekusi ke blue alias. Ketika Anda yakin bahwa versi baru Anda berfungsi dengan benar, perbarui green alias untuk menunjuk ke versi baru Anda.