

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
<a name="example-alias-version-deployment"></a>

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](concepts-state-machine-version.md) mesin status baru dan menggeser lalu lintas eksekusi dengan [alias](concepts-state-machine-alias.md), selesaikan langkah-langkah berikut:

1. 

**Publikasikan versi dari revisi mesin status saat ini.**  
Gunakan **publish-state-machine-version** perintah di AWS CLI untuk menerbitkan versi dari revisi saat ini dari mesin negara yang disebut `myStateMachine:`

   ```
   aws stepfunctions publish-state-machine-version --state-machine-arn arn:aws:states:region:account-id:stateMachine:myStateMachine
   ```

   Respons mengembalikan `stateMachineVersionArn` versi yang Anda terbitkan. Misalnya, `arn:aws:states:region:account-id:stateMachine:myStateMachine:1`.

1. 

**Buat alias yang menunjuk ke versi mesin negara.**  
Gunakan **create-state-machine-alias** perintah untuk membuat alias bernama `PROD` yang menunjuk ke versi 1 dari`myStateMachine`:

   ```
   aws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:region:account-id:stateMachine:myStateMachine:1\",\"weight\":100}]"
   ```

1. 

**Verifikasi bahwa eksekusi yang dimulai oleh alias menggunakan versi publikasi yang benar.**  
Mulai eksekusi baru `myStateMachine` dengan memberikan ARN alias **PROD** dalam perintah: **start-execution**

   ```
   aws stepfunctions start-execution 
     --state-machine-arn arn:aws:states:region:account-id:stateMachineAlias:myStateMachine:PROD
     --input "{}"
   ```

   Jika Anda memberikan ARN mesin status dalam [StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)permintaan, ia menggunakan mesin status terbaru [revision](concepts-cd-aliasing-versioning.md#statemachinerev) alih-alih versi yang ditentukan dalam alias Anda untuk memulai eksekusi.

1. 

**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:region:account-id:stateMachine:myStateMachine
       --definition $UPDATED_STATE_MACHINE_DEFINITION
       --publish
   ```

   Respons mengembalikan `stateMachineVersionArn` untuk versi baru. Misalnya, `arn:aws:states:region:account-id:stateMachine:myStateMachine:2`.

1. 

**[Perbarui alias untuk menunjuk ke kedua versi dan mengatur konfigurasi perutean alias.](concepts-state-machine-alias.md#alias-routing-config)**  
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:region:account-id:stateMachineAlias:myStateMachine:PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:region:account-id:stateMachine:myStateMachine:1\",\"weight\":80}, {\"stateMachineVersionArn\":\"arn:aws:states:region:account-id:stateMachine:myStateMachine:2\",\"weight\":20}]"
   ```

1. 

**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:region:account-id:stateMachineAlias:myStateMachine:PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:region:account-id: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:region:account-id:stateMachineAlias:myStateMachine:PROD 
  --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:region:account-id: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.