넓고 넓은 S3의 개념,,
덤프와 함께 관련 개념을 정리해보고자 한다.
#21

문제 정리
1. 매일 한 가지 상품만 판매 -> 데이터베이스에서 복잡한 재고 관리가 필요하지 않을 가능성이 높다.
2. 피크 시간대에 수백만 건의 요청 처리 -> 확장성이 뛰어난 솔루션이 필요하다.
3. 밀리초 단위 응답 시간 -> 빠른 성능이 필요하다.
4. 운영 오버헤드 최소화 -> 관리 부담이 적은 서비스를 사용한다.
답은 D이다.
S3는 Object Storage 서비스이다. 즉, 파일을 저장하는 공간이고 데이터베이스처럼 쿼리를 수행하는 구조가 아니다.
그래서 정적 웹사이트 호스팅, 백업 및 로그 저장, 데이터 아카이브(오래된 데이터 보관), CloudeFront와 연계한 콘텐츠 배포에 적합하다.
S3 + CloudFront + API Gateway + Lambda + DynamoDB 는 완전리스 서버리스 구조라서 문제에서 만족하는 운영 오버헤드가 거의 없다.
Amazon CloudFront
- content delivery network, 전 세계 사용자에게 빠르게 콘텐츠를 제공해준다.
- 사용자가 가까운 Edge Location에서 캐시된 콘텐츠를 받도록 도와준다.
- 트래픽이 많아도 성능 저하 없이 빠르게 콘텐츠 제공 가능하다.
Amazon API Gateway
- API Gateway는 REST API 또는 GraphQL API를 제공하는 서비스이다.
- API 요청을 받아서 AWS Lambda 또는 다른 AWS 서비스로 전달한다.
AWS Lambda
- Lambda는 서버 없이 코드를 실행할 수 있는 서비스이다.
- 사용자가 주문을 하면 API Gateway가 요청을 Lambda로 전달하고, Lambda는 DynamoDB에 주문을 저장한다.
- 실행 시간 동안만 비용이 발생하므로 -> 운영 비용 절감이 된다.
Amazon DynamoDB
- NoSQL 데이터베이스로, 초당 수백만 건의 요청을 처리할 수 있어 고성능이 필요할 때 적합하다.
#22

문제 정리
1. AZ (가용 영역) 손실에도 데이터가 안전해야 한다. -> 다중 AZ 복제 기능이 있는 S3 스토리지가 필요하다.
2. 일부 파일은 자주 접근, 일부 파일은 거의 접근하지 않는다. -> 데이터 접근 패턴이 불규칙적이다.
3. 저장 및 검색 비용 최소화 -> 비용 최적화 필요하고 모든 데이터를 S3 Standard에 저장하는 것은 비효율적이다.
S3 Standard
- AZ 장애에도 데이터 손실이 없다.
- 높은 가용성과 내구성을 제공하는 대신 비용이 비싸다.
S3 Intelligent-Tiering
- AZ 장에에도 데이터 안전
- 자주 액세스 하는 파일은 Standard, 드물게 access하는 파일은 비용이 저렴한 스토리지 클래스로 자동 이동 -> 자동 계층화
- 예측 불가능한 액세스 패턴에 최적
- 성능 저하가 없다. -> standard와 동일한 성능이다.
S3 Standard-IA
- 데이터 접근 패턴이 예측 가능할 때 적합핟.
- 예측 불가능한 패턴을 처리하기 어렵다 -> 오히려 비용이 더 높아질 수도
S3 One Zone-IA
- 저장 비용이 가장 저렴
- AZ 장애시 데이터 손실이 위험하다.
- 예측 불가능한 패턴을 처리하기 어렵다. -> IA와 동일한 문제
'개발 노트 > AWS' 카테고리의 다른 글
[Django] 장고 db를 mysql로 바꾸기, ec2를 장고와 연결하기 (0) | 2023.08.20 |
---|---|
[Django] 장고 도메인 연결 (Route 53이용) ec2-가비아 연결 (0) | 2023.08.20 |
[Django] [AWS] 장고 배포 정리 AWS EC2 이용 (gunicorn, nginx) (0) | 2023.08.14 |
넓고 넓은 S3의 개념,,
덤프와 함께 관련 개념을 정리해보고자 한다.
#21

문제 정리
1. 매일 한 가지 상품만 판매 -> 데이터베이스에서 복잡한 재고 관리가 필요하지 않을 가능성이 높다.
2. 피크 시간대에 수백만 건의 요청 처리 -> 확장성이 뛰어난 솔루션이 필요하다.
3. 밀리초 단위 응답 시간 -> 빠른 성능이 필요하다.
4. 운영 오버헤드 최소화 -> 관리 부담이 적은 서비스를 사용한다.
답은 D이다.
S3는 Object Storage 서비스이다. 즉, 파일을 저장하는 공간이고 데이터베이스처럼 쿼리를 수행하는 구조가 아니다.
그래서 정적 웹사이트 호스팅, 백업 및 로그 저장, 데이터 아카이브(오래된 데이터 보관), CloudeFront와 연계한 콘텐츠 배포에 적합하다.
S3 + CloudFront + API Gateway + Lambda + DynamoDB 는 완전리스 서버리스 구조라서 문제에서 만족하는 운영 오버헤드가 거의 없다.
Amazon CloudFront
- content delivery network, 전 세계 사용자에게 빠르게 콘텐츠를 제공해준다.
- 사용자가 가까운 Edge Location에서 캐시된 콘텐츠를 받도록 도와준다.
- 트래픽이 많아도 성능 저하 없이 빠르게 콘텐츠 제공 가능하다.
Amazon API Gateway
- API Gateway는 REST API 또는 GraphQL API를 제공하는 서비스이다.
- API 요청을 받아서 AWS Lambda 또는 다른 AWS 서비스로 전달한다.
AWS Lambda
- Lambda는 서버 없이 코드를 실행할 수 있는 서비스이다.
- 사용자가 주문을 하면 API Gateway가 요청을 Lambda로 전달하고, Lambda는 DynamoDB에 주문을 저장한다.
- 실행 시간 동안만 비용이 발생하므로 -> 운영 비용 절감이 된다.
Amazon DynamoDB
- NoSQL 데이터베이스로, 초당 수백만 건의 요청을 처리할 수 있어 고성능이 필요할 때 적합하다.
#22

문제 정리
1. AZ (가용 영역) 손실에도 데이터가 안전해야 한다. -> 다중 AZ 복제 기능이 있는 S3 스토리지가 필요하다.
2. 일부 파일은 자주 접근, 일부 파일은 거의 접근하지 않는다. -> 데이터 접근 패턴이 불규칙적이다.
3. 저장 및 검색 비용 최소화 -> 비용 최적화 필요하고 모든 데이터를 S3 Standard에 저장하는 것은 비효율적이다.
S3 Standard
- AZ 장애에도 데이터 손실이 없다.
- 높은 가용성과 내구성을 제공하는 대신 비용이 비싸다.
S3 Intelligent-Tiering
- AZ 장에에도 데이터 안전
- 자주 액세스 하는 파일은 Standard, 드물게 access하는 파일은 비용이 저렴한 스토리지 클래스로 자동 이동 -> 자동 계층화
- 예측 불가능한 액세스 패턴에 최적
- 성능 저하가 없다. -> standard와 동일한 성능이다.
S3 Standard-IA
- 데이터 접근 패턴이 예측 가능할 때 적합핟.
- 예측 불가능한 패턴을 처리하기 어렵다 -> 오히려 비용이 더 높아질 수도
S3 One Zone-IA
- 저장 비용이 가장 저렴
- AZ 장애시 데이터 손실이 위험하다.
- 예측 불가능한 패턴을 처리하기 어렵다. -> IA와 동일한 문제
'개발 노트 > AWS' 카테고리의 다른 글
[Django] 장고 db를 mysql로 바꾸기, ec2를 장고와 연결하기 (0) | 2023.08.20 |
---|---|
[Django] 장고 도메인 연결 (Route 53이용) ec2-가비아 연결 (0) | 2023.08.20 |
[Django] [AWS] 장고 배포 정리 AWS EC2 이용 (gunicorn, nginx) (0) | 2023.08.14 |