진취적 삶
섹션 20: 서버리스 솔루션 아키텍처 토론 본문
MyTodoList 만들기
HTTPS with REST API
서버리스 아키텍처
사용자가 원한다면 스스로 데이터를 관리하도록 s3 에 있는 폴더와 상호작용이 가능해야함
사용자가 관리형 서버리스 서비스로 인증할수 있어야 한다.
유저는 읽기 쓰기 가능하고 그러나 읽기 관련 성능이 더 필요로 하다
데이터베이스 계층은 확장할수 잇도록 구축해 읽기 처리량을 높여야 한다 .
- REST API 를 위해 Amazon API Gateway 사용
- 람다 함수 호출해서 확장 허용하고 서버리스 인프라를 쓰도록 한다
- 서버리스 이면서 확장 잘되는 DynamoDB 사용
- 인증을 위한 Amazon Cognito
s3 버킷에 사용자 액세스 권한 주기
cognito 에서 aws sts 를 통해 임시 자격 증명을 제공할수 있다.
모바일 클라이언트는 s3 에서 파일을 저장하고 회수 s3에서 전용공간에 허용 가능
aws 사용자 자격증명을 모바일 클라이언트에 저장하는것이 아니다
읽기 처리량 RCU를 늘리려면 DynamoDB 이전에 DynamoDB DAX를 사용하면된다,
MyBlog.com
- 글로벌 스케일이 가능해야 함
- 블로그 wrtie 보다 read 가 많음
- 대부분 정적 파일로 구성되고 동적인 REST API 도 있음
- 캐시를 적용해서 비용을 절감하고 응답 속도도 높이고 좋은 UX제공
- 블로그에 처음으로 방문하는 사람에겐 환영 이메일
- 서버리스
- 블로그에 업로드된 사진은 썸네일로 하고싶음
- 아마존 S3 에서 cloudFront를 통해서 클라이언트는 cloudFront의 엣지 로케이션과 통신
- origin access control 버킷 정책 추가
- REST API사용을 위해 Gateway 사용하고 람다 쓰고 Dynamo db에 읽기가 많으니깐 DAX 사용
- 이메일 전송을 위한 Dynamo db스트림 이용하고 람다 함수 호출
- 람다 함수는 i am role 를 받아 amazon SES(Simple email service) 사용
- 썸네일 설정을 위해 cloudfront 통해서 s3 접근 후 람다 함수 실행해서 썸네일을 s3에 넣기
micro services architecture
서비스 개발 수명 주기를 줄이고자 마이크로 서비스 사용
동기 패턴 : api gateway , load balancers
비동기 패턴 : SQS, kinesis ,SNS ,lambda triggers
마이크로 서비스 문제점
- 새로운 마이크로 서비스 생성시마다 오버헤드 발생
- 서버 밀도나 사용률을 최적화 하는데 어려움
- 여러 버전의 마이크로 서비스를 동시에 가동하려면 복잡
이런 문제들은 서버리스 패턴으로 해결 가능
'AWS SAA' 카테고리의 다른 글
섹션 18 aws의 컨테이너 :ECS ,Fargate,ECR 및 EKS (0) | 2023.07.16 |
---|---|
섹션 19 솔루션 설계자 관점의 서버리스 개요 (0) | 2023.07.16 |
섹션 21 aws의 데이터베이스 (0) | 2023.07.16 |
섹션 12 Amazon S3 소개 (0) | 2023.07.15 |
섹션 13 고급 amazon S3 (0) | 2023.07.15 |