일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 튜플
- 채팅
- AWS
- react
- TypeScript
- docker
- node
- lambda
- wetube
- Vue
- EC2
- 카톡
- NeXT
- MongoDB
- SAA
- Props
- RDS
- pandas
- 중급파이썬
- Class
- SSA
- S3
- merge
- flask
- git
- dict
- 파이썬
- crud
- socket io
- async
- Today
- Total
초보 개발자
AWS Lambda canary release ( alias, version, weight ) 본문
Version
하나의 람다를 versioning을 사용하여 여러 코드로 보관할 수 있다. 업데이트 이후 나중에 문제가 생겼을 경우 버저닝을 사용한 경우라면 쉽게 업데이트 전의 코드로 돌아갈 수 있게된다.
Alias
alias는 별명이라는 뜻이다. linux에서 길고 복잡한 값을 alias를 사용해서 짧은 단어로 사용할 수 있었다.
변수와 같은 내용이라고 생각한다.
Canary Release
인터넷에 canary를 검색해보면 새가 가장먼저 나온다.
canary release란 광부들이 광물을 캐러가기 전에 유독가스가 광산안에 있는지 확인하기 위해서 저 canary라는 새를 이용했다고 한다. 새장에 넣어둔 뒤 같이 광물을 캐러 들어가면, 광부들이 가스에 중독되기 전에 먼저 canary가 죽기에 이를 활용했다고 한다.
따라서 canary release란 SW 배포의 방법 중 하나이며, 잠재적으로 문제를 발견하여 전체 운영환경이나 사용자에게 영향을 미치는 것을 방지한다. 또 사용자의 범위를 늘려가며 피드백을 통해 배포하는 방식을 의미한다.
5%의 사용자를 신규 버전을 사용하게 하면서 관찰, 피드백을 통해 서비스의 안정성을 확인할 수 있으며, 확신이 서게되면 더 많은 사용자들에게 서비스를 제공한다.
Weight
하나의 alias를 사용하여 두 개의 lambda version을 지정할 수 있다. 하나는 90% 다른 하나는 10%로 설정해두면. 그 alias를 사용했을 경우 가중치의 확률로 각 버전의 lambda가 실행이 된다.
실습해보기
HTTP API와 람다를 사용해서 간단히 canary release를 확인할 수 있는 방법을 알아보자 전체적인 아키텍쳐는 다음과 같다.
간단한 람다 함수를 만들어서 v1과 v2를 만들어두자, 그 뒤에
그 뒤에 하나의 별칭을 만든 뒤 두 개의 서버를 지정하고 원하는 만큼의 가중치를 설정해두자.
그 다음 HTTP API를 생성하여 아래와 같이 lambda함수를 지정해주자
lamba함수 뒤에 :alias 를 붙여주면 된다.
이 후에 URL을 클릭하면 80퍼센트의 확률로 버전2가 실행이되고 20퍼센트의 확률로 버전1이 실행되는 걸 확인할 수 있다.
이렇게 해서 새로운 람다를 생성했을 때 이 기능이 잘 동작을 하는지 람다의 alias version weight를 상요하여 canary relase방식으로 테스트 해보는 방법을 간단히 알아보았다.
'AWS' 카테고리의 다른 글
AWS VPC Flow Log란 (0) | 2023.05.24 |
---|---|
AWS Budgets 을 사용하여 과금 제한 (0) | 2023.05.23 |
AWS 다른 계정의 S3로 데이터 복사 (0) | 2023.05.17 |
AWS VPC prefix lists (0) | 2023.05.15 |
AWS 다른 계정 간의 VPC에 프라이빗 호스트존을 연결시키는법. (1) | 2023.05.11 |