[AWS] Stage Variable 활용

Hyunjun Kim·2025년 5월 26일

실습 - (AWS 환경)

목록 보기
25/61
post-thumbnail

1버전을 2버전으로 다 대체한다 이런 걸 블루그린이라고 하는데
AB 테스트를 할 수도 있고 아니면 여기 설정을 바꿨는데 이게 실제로 잘 동작하는지 확신이 없거나 아니면
일부 지표를 미리 봐야 되는 경우에 카나리 Deploy를 쓴다.

카나리 디플로이는 전체 트레픽의 일부만

카나리 디플로이는 전체 트래픽의 일부만 한번 흘려보는거예요
새버전으로. 그래서 문제가 없으면 점진적으로 그 비율을 늘려가던지 아니면 그걸로 완전히 대체를 하던지 그걸 하는 걸 카나리라고 함. 카나리라는 새가 이제 광산에 들어갈 때 미리 위험을 감지해주던 새인데 여기서 따온 이름이다.

미리 만들어 둔 API Gateway의 stages로 들어가서
v2클릭,

canary 를 찾아서

Create canary 클릭

카나리 비율 설정,
Canary override : myname-canary

Create canary 클릭


이러고 새로운 버전을 만들어야 함

Resources > /user 및 GET > Integration request

edit 클릭

Mapped from 값을 '2' 에서 'canary' 로 바꿔준다

save 클릭


원래 화면으로 돌아가서
Deploy API 클릭

Stage 드롭다운을 열어보면 v2에 canary enabled 되어 있다.

카나리를 선택하며 이런 메세지가 나온다.

자동 덮어쓰기 안내
현재는 "Deploy API"를 통해 기존 스테이지에 배포하면, 해당 스테이지의 구성이 새로운 배포로 즉시 덮어쓰여진다. 이는 수동으로 "Promote" 버튼을 클릭하지 않아도, 카나리 배포의 설정이 스테이지에 자동으로 반영되는 것을 의미한다.

이전에는 카나리 배포 후 수동으로 "Promote"를 클릭하여 변경 사항을 적용해야 했지만 현재는 "Deploy API"를 통해 기존 스테이지에 배포하면, 변경 사항이 자동으로 스테이지에 반영된다.

따라서, 새로운 버전에서는 추가적인 수동 작업 없이도 카나리 배포의 변경 사항이 스테이지에 적용되므로, 별도의 액션이 필요하지 않다.

Deploy 클릭

카나리 세팅이 잘 된 모습.


조금 기다린 다음에 터미널에서 API 요청을 해보겠다.

curl -XGET (Invoke URL)/v2/user

Stage Variables 의 변화를 지켜보면

x-stagevar : myname
x-stagevar : myname-canary

아까 설정한 카나리의 비율대로 나눠져서 stages가 관리되는 것을 볼 수 있다.

Promote Canary 를 클릭하면

옵션들이 나오는데 Promote canary 클릭

Canary override Value가 stage Value에 들어가있는 것을 볼 수 있다.

이후 다시 요청을 날려보면

x-stagevar : myname-canary

카나리가 100% 적용된 모습을 몰 수 있다.


해당 실습들 외에 API Gateway의 여러 옵션들이 있다
보안과 관련된 인증을 API Gateway에 따른 처리를 한다던지,
로깅, Stage variable 이용해서
Variabl이 url 패스나 아니면 다른 데들어갈 수도 있고 실제 콘텐츠에 대해서 코드 형식으로 약간 설정할 수 있는 콘텐츠 탬플리팅? 같은 기능도 있으니까 API Gateway 들어가서 찾아보자.

profile
Data Analytics Engineer 가 되

0개의 댓글