As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplo: implantação de alias e de versões no Step Functions
O seguinte exemplo da técnica de implantação canário mostra como você pode implantar uma nova versão da máquina de estado com a AWS Command Line Interface. Neste exemplo, o alias que você cria direciona 20% do tráfego de execução para a nova versão. Em seguida, ele direciona os 80% restantes para a versão anterior. Para implantar uma nova versão da máquina de estado e mudar o tráfego de execução com um alias, conclua as seguintes etapas:
-
Publique uma versão a partir da revisão da máquina de estado atual.
Use o comando publish-state-machine-version na AWS CLI para publicar uma versão da revisão atual de uma máquina de estado chamada
myStateMachine:aws stepfunctions publish-state-machine-version --state-machine-arn arn:aws:states:region:account-id:stateMachine:myStateMachineA resposta retorna o
stateMachineVersionArnda versão que você publicou. Por exemplo, .arn:aws:states:region:account-id:stateMachine:myStateMachine:1 -
Crie um alias que aponte para a versão da máquina de estado.
Use o chamado create-state-machine-alias para criar um alias chamado
que aponta para a versão 1 dePROD:myStateMachineaws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:region:account-id:stateMachine:myStateMachine:1\",\"weight\":100}]" -
Verifique se as execuções iniciadas pelo alias usam a versão publicada correta.
Inicie uma nova execução de
fornecendo o ARN do aliasmyStateMachinePRODno comando start-execution:aws stepfunctions start-execution --state-machine-arn arn:aws:states:region:account-id:stateMachineAlias:myStateMachine:PROD --input "{}"Se você fornecer o ARN da máquina de estado na StartExecutionsolicitação, ela usará a mais recente revision da máquina de estado em vez da versão especificada em seu alias para iniciar a execução.
-
Atualize a definição da máquina de estado e publique uma nova versão.
Atualize
e publique a nova versão. Para fazer isso, use o parâmetro opcionalmyStateMachinepublishdo comando update-state-machine:aws stepfunctions update-state-machine --state-machine-arn arn:aws:states:region:account-id:stateMachine:myStateMachine--definition $UPDATED_STATE_MACHINE_DEFINITION --publishA resposta retorna o
stateMachineVersionArnpara a nova versão. Por exemplo, .arn:aws:states:region:account-id:stateMachine:myStateMachine:2 -
Atualize o alias para apontar para as duas versões e defina a configuração de roteamento do alias.
Use o comando update-state-machine-alias para atualizar a configuração de roteamento do alias
PROD. Configure o alias para que 80% do tráfego de execução vá para a versão 1 e os 20% restantes para a versão 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}]" -
Substitua a versão 1 pela versão 2.
Depois de verificar se a nova versão da máquina de estado funciona corretamente, você pode implantar a nova versão da máquina de estado. Para fazer isso, atualize o alias novamente para atribuir 100% do tráfego de execução à nova versão.
Use o comando update-state-machine-alias para definir a configuração de roteamento do alias
PRODpara 100% para a versão 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}]"
dica
Para reverter a implantação da versão 2, edite a configuração de roteamento do alias para transferir 100% do tráfego para a versão recém-implantada.
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}]"
Você pode usar versões e aliases para realizar outros tipos de implantações. Por exemplo, você pode realizar uma implantação contínua de uma nova versão da máquina de estado. Para fazer isso, aumente gradualmente a porcentagem ponderada na configuração de roteamento do alias que aponta para a nova versão.
Você também pode usar versões e aliases para realizar uma implantação azul/verde. Para fazer isso, crie um alias chamado green que execute a versão 1 atual da máquina de estado. Em seguida, crie outro alias chamado blue que execute a nova versão, por exemplo, . Para testar a nova versão, envie o tráfego de execução para o alias 2blue. Quando tiver certeza de que a nova versão funciona corretamente, atualize o alias green para apontar para a nova versão.