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á.
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:us-east-1:
123456789012
:stateMachine:myStateMachine
A resposta retorna o
stateMachineVersionArn
da versão que você publicou. Por exemplo,arn:aws:states:us-east-1:
.123456789012
: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
:myStateMachine
aws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:
123456789012
: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 aliasmyStateMachine
PROD
no comando start-execution:aws stepfunctions start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012: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 opcionalmyStateMachine
publish
do comando update-state-machine:aws stepfunctions update-state-machine --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:
myStateMachine
--definition $UPDATED_STATE_MACHINE_DEFINITION --publishA resposta retorna o
stateMachineVersionArn
para a nova versão. Por exemplo,arn:aws:states:us-east-1:
.123456789012
: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: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}]" -
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
PROD
para 100% para a versão 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}]"
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:us-east-1:123456789012:stateMachineAlias:
myStateMachine
:PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012: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 2
blue
. Quando tiver certeza de que a nova versão funciona corretamente, atualize o alias green
para apontar para a nova versão.