거의 모든 트래픽을 처리할 수 있도록 애플리케이션의 월할한 스케일링이 가능하다.
(대규모 이벤트시 대응가능)
사용한 만큼 지불
운영으로 인한 부하의 최소화
<2> AWS에서 제공하는 서버리스 애플리케이션
람다
파 게이트
S3
Amazon Aurora Serverless
Amazon Dynamode
Amazon EventBridge
Amazon API Gateway
Amazon SQS
Amazon SNS
Amazon Step Function
Amazon appSync
<3> 자주 사용되는 REST API 기반 애플리케이션 구성
1
구성?
클라이언트------------ Amazon API Gateway ------ AWS Lambda ----------Amazon RDS
2
모니터링?
API Gateway 액세스 로그를 활성화하여 로깅
AWS X-Ray를 활용해 API 요청에 대한 가시성을 높인다.
Cloudwatch로 모니터링
3
안정성?
초당 요청건수에 따라 람다의 Provisioned Concurrency를 구성해 백엔드를 보호
API Gateway에 할당량을 정하여 과도한 요청이 백엔드로 전달되는 것을 방지하자
4
보안?
람다 코드 자체에 DB 정보나 API 키 같은 자격증명을 저자 하기보다는 AWS Secret Manager로 자격증명을 저장하고, 람다에서 읽어서 사용하자.
5
성능?
RDS로의 연결은 RDS Proxy를 사용하는 것이 보다 효과적이다.
API Gateway에서는 HTTP API로 레이턴시를 개선할 수 있다.
6
비용?
람다 인사이트로 람다 함수의 메모리 사용률을 모니터링하고, 최적의 메모리를 할당하여 비용 효율화를 하자.
<4> 람다 함수 사용해보기
1
아키텍처?
파일 업로드-------S3 --------(이벤트)----------람다-------SNS----------- Email로 통보
<5> API Gateway 사용해 보기
1
사용자 - (REST API)-----------Amazon API Gateway ---람다--------RDS
2
locust로 부하 룰 주어 테스트하자.
필요시 AWS Support를 통해 한도를 증가시키자
3
람다의 모니터링 가서 모니터링 하자.
<6> AWS X-Ray 활성화 하자.
1
API Gateway에서 AWS X-Ray 활성화 하자.
API Gateway> Stages > Logs/Tracing > Enable X-Ray Tracing 체크 > 저장
웹브라우저에서 API Gateway Endpoint URL을 몇 번 접속한다.
AWS X-Ray 페이지로 이동 > 좌측 추천 메뉴 > 오른쪽 위 최근 1분 내용을 확인하자.
URL 확인 가능하다. 평균 응답 시간, 성공률 등 확인 가능하다.
하단의 특정 URL 클릭하면 트레이스 맵들 상세 내용 확인이 가능하다.
2
람다에서 AWS X-Ray 활성화 하자.
람다 > 구성 > 왼편 모니터링과 운영 툴 > 수정 > 엑스레이 활성화로 변경
람다> 설정> 추천 상태 활성화되었는지 확인한다.
기존에 작성하였던 람다 함수에 X-Ray SDK를 임포트 하고, patch-all 함수를 통해 각 언어별로 지원하는 라이브러리들에 대한
다운스트림 호출에 대한 자동 계측을 수행할 수 있다. (람다 코드에 추가한다)
pymsql 또한 X-Ray SDK에서 자동 계측을 지원한다.
MySQL에 대한 쿼리 또한 X-Ray 추적 정보에 기록이 된다.
변경된 람다 함수를 배포한다.
X-Ray SDK는 람다에서 기본적으로 제공하는 라이브러리가 아니라 람다 계층을 활용하여 등록하고 추가해주는 과정이 필요하다.
웹브라우저에서 Endpoint URL을 몇 번 접속한다.
AWS X-Ray 페이지로 이동 > 좌측 추천 메뉴 > 오른쪽 위 최근 1분 내용을 확인하자. 새로 고침
하단의 특정 URL 클릭하면 트레이스 맵들 상세 내용 확인이 가능하다.
람다, SQL 다운 스트림 호출 가지 추적 정보가 표시된다.
Sevice Icons를 활성화하면 , 직관적으로 아이콘으로 확인이 가능하다.
하단에 실제 코드 수행 시간 등 확인이 가능하다.
3
AWS X-Ray에서 확인하자.
AWS X-Ray > 서비스 맵 > 오른쪽 위 5분 통계 > 통계 정보를 확인 > Sevice Icons 활성화
평균 소요시간 정보 등 확인할 수 있다.
서비스 맵에서 응답 속도에 대한 아이콘을 클릭하면 > 히스토리 그램을 확인할 수 있다.
AWS X-Ray > 분석에서 AWS 성능을 신속하게 확인 가능하다.
응답 시간 분포와 분석과 시각화 확인이 가능하다.
<10> 개인 정리
1
서버리스 사용 시 <3> 자주 사용되는 REST API 기반 애플리케이션 구성을 확인하자.
2
API Gateway에서 AWS X-Ray 활성화 하자.
람다에서 AWS X-Ray 활성화 하자.
AWS X-Ray에서 확인하자.
https://brunch.co.kr/@topasvga/2439
감사합니다.