기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
다음 카나리 배포 기법 예제에서는 AWS Command Line Interface를 사용하여 새 상태 시스템 버전을 배포하는 방법을 보여줍니다. 이 예시에서는 생성된 별칭이 실행 트래픽의 20%를 새 버전으로 라우팅합니다. 그런 다음 나머지 80%를 이전 버전으로 라우팅합니다. 새 상태 시스템 버전을 배포하고 별칭으로 실행 트래픽을 전환하려면 다음 단계를 완료합니다.
-
현재 상태 시스템 개정의 버전을 게시합니다.
AWS CLI 에서 publish-state-machine-version 명령을 사용하여
이라는 상태 시스템의 현재 개정에서 버전을 게시합니다.myStateMachine
:aws stepfunctions publish-state-machine-version --state-machine-arn arn:aws:states:us-east-1:
123456789012
:stateMachine:myStateMachine
응답은 게시한 버전의
stateMachineVersionArn
을 반환합니다. 예:arn:aws:states:us-east-1:
.123456789012
:stateMachine:myStateMachine
:1 -
상태 시스템 버전을 가리키는 별칭을 만듭니다.
create-state-machine-alias 명령을 사용하여
버전 1을 가리키는myStateMachine
라는 별칭을 만듭니다.PROD
aws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:
123456789012
:stateMachine:myStateMachine
:1
\",\"weight\":100}]" -
별칭으로 시작된 실행에서 올바르게 게시된 버전을 사용하는지 확인합니다.
start-execution 명령에
PROD
별칭의 ARN을 제공하여
의 새 실행을 시작합니다.myStateMachine
aws stepfunctions start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachineAlias:
myStateMachine
:PROD --input "{}"StartExecution 요청에 상태 시스템 ARN을 제공하면 실행 시작 시 별칭에 지정된 버전 대신 최신 revision의 상태 시스템이 사용됩니다.
-
상태 시스템 정의를 업데이트하고 새 버전을 게시합니다.
을 업데이트하고 새 버전을 게시합니다. 이렇게 하려면 update-state-machine 명령의 선택적myStateMachine
publish
파라미터를 사용합니다.aws stepfunctions update-state-machine --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:
myStateMachine
--definition $UPDATED_STATE_MACHINE_DEFINITION --publish응답에서 새 버전의
stateMachineVersionArn
을 반환합니다. 예:arn:aws:states:us-east-1:
.123456789012
:stateMachine:myStateMachine
:2 -
두 버전을 모두 가리키도록 별칭을 업데이트하고 별칭의 라우팅 구성을 설정합니다.
update-state-machine-alias 명령을 사용하여 별칭
PROD
의 라우팅 구성을 업데이트합니다. 실행 트래픽의 80%는 버전 1로 이동하고 나머지 20%는 버전 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}]" -
버전 1을 버전 2로 바꿉니다.
새 상태 시스템 버전이 올바르게 작동하는지 확인한 후에 새 상태 시스템 버전을 배포할 수 있습니다. 이렇게 하려면 별칭을 다시 업데이트하여 실행 트래픽의 100%를 새 버전에 할당합니다.
update-state-machine-alias 명령을 사용하여 별칭
PROD
의 라우팅 구성을 버전 2의 100%로 설정합니다.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}]"
작은 정보
버전 2의 배포를 롤백하려면 트래픽의 100%가 새로 배포된 버전으로 이동하도록 별칭의 라우팅 구성을 편집합니다.
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}]"
버전과 별칭을 사용하여 다른 유형의 배포를 수행할 수 있습니다. 예를 들어 새 버전의 상태 시스템을 순차적으로 배포할 수 있습니다. 이렇게 하려면 새 버전을 가리키는 별칭의 라우팅 구성에서 가중치를 적용하는 비율을 점차 늘립니다.
버전과 별칭을 사용하여 블루/그린 배포를 수행할 수도 있습니다. 이렇게 하려면 상태 시스템의 현재 버전 1을 실행하는 green
별칭을 만듭니다. 그런 다음 새 버전(예:
)을 실행하는 또 다른 2
blue
별칭을 만듭니다. 새 버전을 테스트하려면 실행 트래픽을 blue
별칭으로 전송합니다. 새 버전이 올바르게 작동한다고 확신하면 새 버전을 가리키도록 green
별칭을 업데이트합니다.