Canary 릴리스 업데이트
Canary 릴리스가 배포된 후 테스트 성능을 최적화하기 위해 Canary 트래픽 백분율을 조정하거나 단계 캐시 사용을 활성화 또는 비활성화할 수 있습니다. 실행 컨텍스트가 업데이트될 때 Canary 릴리스에서 사용되는 단계 변수를 수정할 수도 있습니다. 이러한 업데이트를 수행하려면 CanarySettings에서 새 값을 사용하여 stage:update 작업을 호출합니다.
API Gateway 콘솔, AWS CLI update-stage 명령 또는 AWS SDK를 사용하여 Canary 릴리스를 업데이트할 수 있습니다.
API Gateway 콘솔을 사용하여 Canary 릴리스 업데이트
API Gateway 콘솔을 사용하여 단계에서 기존의 Canary 설정을 업데이트하려면 다음을 수행합니다.
기존 Canary 설정을 업데이트하려면
-
API Gateway 콘솔에 로그인하고 기존 REST API를 선택합니다.
-
기본 탐색 창에서 스테이지를 선택한 후 기존 스테이지를 선택합니다.
-
Canary 탭을 선택한 후 편집을 선택합니다. Canary 탭을 표시하려면 오른쪽 화살표 버튼을 선택해야 할 수도 있습니다.
-
0.0부터 100.0 사이의 백분율 숫자(0.0과 100.0 포함)를 늘리거나 줄여 요청 배포를 업데이트합니다.
-
스테이지 캐시 확인란을 선택하거나 선택 취소합니다.
-
Canary 스테이지 변수를 추가, 제거 또는 수정합니다.
-
Save(저장)를 선택합니다.
AWS CLI를 사용하여 Canary 릴리스 업데이트
AWS CLI를 사용하여 Canary를 업데이트하려면 update-stage
명령을 호출합니다.
Canary에 대한 단계 캐시 사용을 활성화하거나 비활성화하려면 다음과 같이 update-stage
명령을 호출합니다.
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/useStageCache,value=true
Canary 트래픽 백분율을 조정하려면 update-stage
를 호출하여 단계에서 /canarySettings/percentTraffic
값을 바꿉니다.
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/percentTraffic,value=25.0
Canary 단계 변수 추가, 교체 또는 제거를 포함하여 Canary 단계 변수를 업데이트하려면
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations '[{ "op": "replace", "path": "/canarySettings/stageVariableOverrides/newVar", "value": "newVal" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/var2", "value": "val4" }, { "op": "remove", "path": "/canarySettings/stageVariableOverrides/var1" }]'
작업들을 단일 patch-operations
값으로 결합하면 위의 모두를 업데이트할 수 있습니다.
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations '[{ "op": "replace", "path": "/canarySettings/percentTraffic", "value": "20.0" }, { "op": "replace", "path": "/canarySettings/useStageCache", "value": "true" }, { "op": "remove", "path": "/canarySettings/stageVariableOverrides/var1" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/newVar", "value": "newVal" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/val2", "value": "val4" }]'