SlideShare a Scribd company logo
1 of 55
AWS 약쟁이
김한성
AWS란?
• Amazon Web Services
• 클라우드 컴퓨팅 플랫폼
먼저 AWS에 취해봅시다
크… EC2
• Amazon Elastic Compute Cloud
• ECC = EC2
• 기능
• 가상 컴퓨팅 환경(인스턴스)
• elastic IP
• VPC(Virtual Private Clouds)
• EBS(Elastic Block Store)
• Linux(Ubuntu, Red hat), Window
크… S3
• Amazon Simple Storage Service
• SSS = S3
• 인터넷용 스토리지 서비스
크… RDS
• Amazon Relational Database Service
• RDS
• 클라우드 관계형 데이터 베이스
• MySQL, MariaDB, PostgreSQL, Oracle 등등
찬양해 Aurora
크… 람다(Lambda)
• 서버에 대한 걱정 없이
코드를 실행할 수 있는 서비스
• 요청에 따른 자동 확장
• Node, Java, C#, Go, Python 지원
크… Cloud Watch
• 실시간 리소스, 애플리케이션 모니터링 서비스
• 로그와 지표 조회 가능
• 지표에 대한 경고 및 이벤트 발생 가능
크… API Gateway
• API 생성 및 모니터링 서비스
크… DynamoDB
• NoSQL 데이터베이스
• 데이터 규모에 관계없이 저장 검색 가능
• 중지/성능저하 없이 처리 용량 변경 가능
이게 무슨 약이죠???
최고의 약 = 서버 리스
간단한 서버리스
같이 약에 취해보아요… - 실습
• https://155603983522.signin.aws.amazon.com/console
• ID : guest숫자
ex- guest1, guest2…..
• PW : 슬랙에 올릴겁니다
크게 의미 없지만
계정은 20개만 준비했어요…
Lambda 실습
Lambda - 메인화면
Lambda – 간단한 실행
• 실행하면
Lambda – 실제로 함수를 만들어 봅시다
Lambda
• 역할?(Role)
• 개발자는 다른 서비스(cloudwatch, rds)에
접근이 가능하지만
Lambda는 접근이 불가능하므로
미리 정의된 역할을 통해서 접근함
• VPC, 로깅, S3 등
다른 서비스의 권한이 필요할 경우
Role을 통해서 권한을 부여 받아서
사용해야함
Lambda – 실행한 로그…. 로그를 보자!
CloudWatch
• 함수 시작 / 런타임 로그 / 함수 종료 / Duration time을 볼 수 있음
S3 – Lambda 연동 실습
• S3에 파일이 업로드될 때
해당 파일의 정보를 Lambda에서 확인해보자
• 활용
• 썸네일 만들기
• 이미지 리사이징
S3 - Lambda
• 금지된 예약어가 많아서
버킷명 정하기가
어려울 수 있음
S3 - Lambda
• 방금 전 만든 버킷 선택
• 하단의 추가/저장
잊지마세요
S3 - Lambda
• 적당한 파일을 하나 올려보자
• 로그는 CloudWatch에서 확인
크… 취한다
• 방금 한 일
• aws에 로그인 했다
• 마우스 클릭을 했다
• 코드 조금 고쳤다
• 파일을 업로드하면
이미지 정보를 로그로 남기고
해당 로그를 자동 백업했다
서.버.없.이 == 서버리스
아니 서버리스의 세계는 어디까지인가…
• 설마 html 파일로
유저에게 웹페이지를 제공할 수 있는가?
• DB에 접근해서 API를 제공할 수 있는가?
=> gg ez
S3 – 정적 웹 사이트 호스팅
형… 하고 찾지 마세요
S3 퍼블릭으로 설정
• 조금 더 찾아본다면
Django 템플릿과 같은 것도
호스팅 가능함
This is serverless
DynamoDB - lambda - API Gateway
• HTTP API를 만들어 보자!
유저 API Gateway Lambda Dynamo DB
DynamoDB – 기존에 만들어진걸 사용
• RDS – Dynamo DB 사용
• Nosql DB
• zeropage table
• primary key : id
Lambda
• Lambda api 함수 참고
• DynamoDB에서
원하는 테이블에서
데이터를
create : 생성(put)
read : 읽기(get)
Lambda TEST
• 잘되나 안되나….
• 저장 후 테스트
API Gateway 생성
API Gateway 생성
API Gateway 생성
API Gateway 생성 완료 및 테스트
결과
크…. API를 서버없이 만들 수 있다
• 갓갓 AWS
근데 왜 다들 서버리스를 안 쓰지?
• 거기에는 슬픈 전설이 있어……
요금이 비싼가?? - 방금 만든 API 기준
Lambda가 요청당 1초가 걸리고
초당 100개의 요청이 들어온다고 가정
한달 = 750시간
한달 총 호출 횟수 = 750 * 3,600 * 1,00 = 270,000,000
Lambda 비용 = 0.000000208 * 270,000,000 = 56.16달러(약 62만원)
API Gateway 비용 = 270,000,000 / 1,000,000 * 3.5 = 945달러(약 105만원)
DB와 트래픽 비용은 웹서버로 돌려도 발생하는 요금이므로 제외
매우 비쌈
그럼 혹시….
• 비싸긴하지만 돈만 낸다면 초당 1억 요청되는거 아닌가?
잉? 돈줄테니깐 해줘
• Lambda는 warm up time이 필요하고
처리량은 점차 증가함
• 단숨에 트래픽 증가가 불가능함
따라서 수강신청같이
한순간에 트래픽이 몰리는 서비스에는
장애가 발생함
하..
• 그럼 서버는 EC2를 쓰고
DB는 오토스케일되는 DynamoDB를 쓰자
너 혹시 그거 아니?
• Dynamo DB는 Read/Write unit이 있단다.
• Read unit : 단위당 최대 4KB까지 읽기 가능, 개당 0.09달러
• 5KB를 읽어야한다? -> unit 2개 필요
• 초당 100번을 읽어야한다 -> unit 최소 100개 필요
• 결과의 최대 크기는 1MB
• Write unit : 단위당 최대 1KB까지 쓰기 가능, 개당 0.47달러
• 512Byte를 써야한다? -> unit 1개 필요
• 문자열 -> 속성 이름의 길이 + utf-8 인코딩된 바이트 수
• 숫자는 4Byte? -> 속성 이름의 길이 + 2자리당 1Byte + 1Byte
• null은 무료겠지? -> 속성 이름의 길이 + 1Byte
어… 그럼 key를 잘 정하면 되지….
• primary key
• user_id, board_id, article_id 추천
• date, uuid = 지옥행 특급열차
• secondary index
• local / global
• 최대 5개 지정가능
• read, write unit을 줄일 수는 있다!
• 확장성이 좋지만 확장성이 안좋아지는 문제가 발생
• 만약 local 인덱스가 5개인데 추가해야 되는 상황이 발생한다면…?
그리고 사실….
• 오토스케일 되긴 하는데
• 스케일 업은 맘대로 해도 되는데
• 스케일 다운은 하루 4번 ㅋ
그럼 S3라도 믿고 써보자
• 버전관리도 되고 생명주기도 지정가능하고
비용은 GB당 0.023달러 (월 50TB미만)
심지어 오랫동안 안쓴건 더 싼 스토리지로 옮길 수 있어!
그럼 CDN없나…
• cloudFront 제공
• 매우 비싼 편
• 정책 변경시 반영까지 최소 20분
• 중간에 https 인증서라도 바뀐다면??
– 30분간 여러분의 사이트는 안전하지 않은 사이트가 됩니다.
그럼 RDS는??
• 이 또한 비싸다…
• 다른 리전으로 replica 생성 불가능
• 2018년 1월에 지원되게 패치됨
• 다른 DB에서 migration은 쉽지만 export하기가 까다로움
그럼 AWS를 왜 쓰는건가??
• 단순히 많이 써서 = 질문/답변이 많다 = 자료가 많다
= 물어볼 곳이 많다 = 잘 몰라도 일단 쓸 수 있다
그럼 AWS를 왜 쓰는건가??
• 컨퍼런스와 넘치는 AWS 설계 자료
다양한 리전과 IaaS, PaaS
• 12개 지역에 33개의 데이터 센터
• 다양한 분야의 다양한 서비스
선순환 구조
찬양해 갓마존
질문받습니다
야식 맛있게 드세요

More Related Content

What's hot

스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020 스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
 
RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기Kyuhyun Byun
 
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표NAVER D2
 
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집AWSKRUG - AWS한국사용자모임
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Saturday Azure Live 1701 Azure WebApp 개념원리
Saturday Azure Live 1701 Azure WebApp 개념원리Saturday Azure Live 1701 Azure WebApp 개념원리
Saturday Azure Live 1701 Azure WebApp 개념원리Youngjae Kim
 
AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나
AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나 AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나
AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나 AWSKRUG - AWS한국사용자모임
 
AWS Partner Techshift - B2B IT SaaS 기업은 왜 AWS와 함께 하는가? (샌드버드 윤진현 팀장)
AWS Partner Techshift - B2B IT SaaS 기업은 왜 AWS와 함께 하는가? (샌드버드 윤진현 팀장)AWS Partner Techshift - B2B IT SaaS 기업은 왜 AWS와 함께 하는가? (샌드버드 윤진현 팀장)
AWS Partner Techshift - B2B IT SaaS 기업은 왜 AWS와 함께 하는가? (샌드버드 윤진현 팀장)Amazon Web Services Korea
 
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기Youngjae Kim
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 finalGi Bong Kim
 
20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년Jongwon Han
 
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020AWSKRUG - AWS한국사용자모임
 
RDS에서 Aurora PostgreSQL Migration한 후기
RDS에서 Aurora PostgreSQL Migration한 후기RDS에서 Aurora PostgreSQL Migration한 후기
RDS에서 Aurora PostgreSQL Migration한 후기Kyuhyun Byun
 

What's hot (20)

스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020 스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
 
RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기RDS에서 Aurora PostgreSQL 마이그레이션하기
RDS에서 Aurora PostgreSQL 마이그레이션하기
 
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표
 
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
 
모바일을 위한 (AWS) 클라우드 기술 동향
모바일을 위한 (AWS) 클라우드 기술 동향 모바일을 위한 (AWS) 클라우드 기술 동향
모바일을 위한 (AWS) 클라우드 기술 동향
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
 
Saturday Azure Live 1701 Azure WebApp 개념원리
Saturday Azure Live 1701 Azure WebApp 개념원리Saturday Azure Live 1701 Azure WebApp 개념원리
Saturday Azure Live 1701 Azure WebApp 개념원리
 
AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나
AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나 AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나
AWSKRUG 소개 및 연혁 (정민영) - 4회 정기 세미나
 
AWS Partner Techshift - B2B IT SaaS 기업은 왜 AWS와 함께 하는가? (샌드버드 윤진현 팀장)
AWS Partner Techshift - B2B IT SaaS 기업은 왜 AWS와 함께 하는가? (샌드버드 윤진현 팀장)AWS Partner Techshift - B2B IT SaaS 기업은 왜 AWS와 함께 하는가? (샌드버드 윤진현 팀장)
AWS Partner Techshift - B2B IT SaaS 기업은 왜 AWS와 함께 하는가? (샌드버드 윤진현 팀장)
 
Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화
 
EC2용 SSH Tool - Eclair
EC2용 SSH Tool - EclairEC2용 SSH Tool - Eclair
EC2용 SSH Tool - Eclair
 
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
 
Amazon Aurora 100% 활용하기
Amazon Aurora 100% 활용하기Amazon Aurora 100% 활용하기
Amazon Aurora 100% 활용하기
 
Redis on AWS
Redis on AWSRedis on AWS
Redis on AWS
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 final
 
AWS로 불꺼온 나날들
AWS로 불꺼온 나날들AWS로 불꺼온 나날들
AWS로 불꺼온 나날들
 
20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년20180124 스타트업부터 대기업까지 aws와 함께한 7년
20180124 스타트업부터 대기업까지 aws와 함께한 7년
 
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
 
Serverless Architecture - 김현민
Serverless Architecture - 김현민Serverless Architecture - 김현민
Serverless Architecture - 김현민
 
RDS에서 Aurora PostgreSQL Migration한 후기
RDS에서 Aurora PostgreSQL Migration한 후기RDS에서 Aurora PostgreSQL Migration한 후기
RDS에서 Aurora PostgreSQL Migration한 후기
 

Similar to AWS 약쟁이

(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례Jeongsang Baek
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)Brian Hong
 
AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3Keeyong Han
 
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016Amazon Web Services Korea
 
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017Amazon Web Services Korea
 
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017Amazon Web Services Korea
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchHan Sung Kim
 
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017Amazon Web Services Korea
 
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online SeriesAmazon Web Services Korea
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) -  AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) -  AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)Amazon Web Services Korea
 
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)Sang Don Kim
 
Travis CI 에서 CodeBuild 로
Travis CI 에서 CodeBuild 로Travis CI 에서 CodeBuild 로
Travis CI 에서 CodeBuild 로Hyeon Ku Kang
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Web Services Korea
 
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020Amazon Web Services Korea
 
[IGC 2017] AWS 김필중 솔루션 아키텍트 - AWS 를 활용한 모바일 백엔드 개발
[IGC 2017] AWS 김필중 솔루션 아키텍트 - AWS 를 활용한 모바일 백엔드 개발[IGC 2017] AWS 김필중 솔루션 아키텍트 - AWS 를 활용한 모바일 백엔드 개발
[IGC 2017] AWS 김필중 솔루션 아키텍트 - AWS 를 활용한 모바일 백엔드 개발강 민우
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트Dae Kim
 
Amazon EC2 Deep Dive - 이창수 (AWS 솔루션 아키텍트) : 8월 온라인 세미나
Amazon EC2 Deep Dive - 이창수 (AWS 솔루션 아키텍트) : 8월 온라인 세미나Amazon EC2 Deep Dive - 이창수 (AWS 솔루션 아키텍트) : 8월 온라인 세미나
Amazon EC2 Deep Dive - 이창수 (AWS 솔루션 아키텍트) : 8월 온라인 세미나Amazon Web Services Korea
 
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015Amazon Web Services Korea
 

Similar to AWS 약쟁이 (20)

KGC 2013 DevSisters
KGC 2013 DevSistersKGC 2013 DevSisters
KGC 2013 DevSisters
 
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3
 
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017
 
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watch
 
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
 
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) -  AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) -  AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
 
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
Lambda를 활용한 서버없는 아키텍쳐 구현하기 :: 김기완 :: AWS Summit Seoul 2016
 
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
 
Travis CI 에서 CodeBuild 로
Travis CI 에서 CodeBuild 로Travis CI 에서 CodeBuild 로
Travis CI 에서 CodeBuild 로
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB Day
 
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
 
[IGC 2017] AWS 김필중 솔루션 아키텍트 - AWS 를 활용한 모바일 백엔드 개발
[IGC 2017] AWS 김필중 솔루션 아키텍트 - AWS 를 활용한 모바일 백엔드 개발[IGC 2017] AWS 김필중 솔루션 아키텍트 - AWS 를 활용한 모바일 백엔드 개발
[IGC 2017] AWS 김필중 솔루션 아키텍트 - AWS 를 활용한 모바일 백엔드 개발
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
 
Amazon EC2 Deep Dive - 이창수 (AWS 솔루션 아키텍트) : 8월 온라인 세미나
Amazon EC2 Deep Dive - 이창수 (AWS 솔루션 아키텍트) : 8월 온라인 세미나Amazon EC2 Deep Dive - 이창수 (AWS 솔루션 아키텍트) : 8월 온라인 세미나
Amazon EC2 Deep Dive - 이창수 (AWS 솔루션 아키텍트) : 8월 온라인 세미나
 
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
 

More from Han Sung Kim

파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차Han Sung Kim
 
구름 어디까지 써봤니
구름 어디까지 써봤니구름 어디까지 써봤니
구름 어디까지 써봤니Han Sung Kim
 
2017 새싹교실 1교시
2017 새싹교실 1교시2017 새싹교실 1교시
2017 새싹교실 1교시Han Sung Kim
 
Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Han Sung Kim
 
2016년 유니톤 언더라인 발표자료
2016년 유니톤 언더라인 발표자료2016년 유니톤 언더라인 발표자료
2016년 유니톤 언더라인 발표자료Han Sung Kim
 
외주 - 시작은 노예였으나 끝은 그래도 노예이니라
외주 - 시작은 노예였으나 끝은 그래도 노예이니라외주 - 시작은 노예였으나 끝은 그래도 노예이니라
외주 - 시작은 노예였으나 끝은 그래도 노예이니라Han Sung Kim
 
모바일 해커톤 사전교육 4일차
모바일 해커톤 사전교육 4일차모바일 해커톤 사전교육 4일차
모바일 해커톤 사전교육 4일차Han Sung Kim
 
모바일 해커톤 사전교육 3일차
모바일 해커톤 사전교육 3일차모바일 해커톤 사전교육 3일차
모바일 해커톤 사전교육 3일차Han Sung Kim
 
모바일 해커톤 사전교육 2일차
모바일 해커톤 사전교육 2일차모바일 해커톤 사전교육 2일차
모바일 해커톤 사전교육 2일차Han Sung Kim
 
모바일 해커톤 사전교육 1일차
모바일 해커톤 사전교육 1일차모바일 해커톤 사전교육 1일차
모바일 해커톤 사전교육 1일차Han Sung Kim
 
Uching - 2016 한양대 스마트 창작터
Uching - 2016 한양대 스마트 창작터Uching - 2016 한양대 스마트 창작터
Uching - 2016 한양대 스마트 창작터Han Sung Kim
 
코딩에는 좋은 노트북이 필요 없다
코딩에는 좋은 노트북이 필요 없다코딩에는 좋은 노트북이 필요 없다
코딩에는 좋은 노트북이 필요 없다Han Sung Kim
 
DB Project - Gmarket
DB Project - Gmarket DB Project - Gmarket
DB Project - Gmarket Han Sung Kim
 

More from Han Sung Kim (20)

파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 
AWS RDS, DYNAMO
AWS RDS, DYNAMOAWS RDS, DYNAMO
AWS RDS, DYNAMO
 
구름 어디까지 써봤니
구름 어디까지 써봤니구름 어디까지 써봤니
구름 어디까지 써봤니
 
블록체인
블록체인블록체인
블록체인
 
2017 새싹교실 1교시
2017 새싹교실 1교시2017 새싹교실 1교시
2017 새싹교실 1교시
 
Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료
 
2016년 유니톤 언더라인 발표자료
2016년 유니톤 언더라인 발표자료2016년 유니톤 언더라인 발표자료
2016년 유니톤 언더라인 발표자료
 
OMS - Start up
OMS - Start upOMS - Start up
OMS - Start up
 
Web is 뭔들
Web is 뭔들Web is 뭔들
Web is 뭔들
 
외주 - 시작은 노예였으나 끝은 그래도 노예이니라
외주 - 시작은 노예였으나 끝은 그래도 노예이니라외주 - 시작은 노예였으나 끝은 그래도 노예이니라
외주 - 시작은 노예였으나 끝은 그래도 노예이니라
 
모바일 해커톤 사전교육 4일차
모바일 해커톤 사전교육 4일차모바일 해커톤 사전교육 4일차
모바일 해커톤 사전교육 4일차
 
모바일 해커톤 사전교육 3일차
모바일 해커톤 사전교육 3일차모바일 해커톤 사전교육 3일차
모바일 해커톤 사전교육 3일차
 
모바일 해커톤 사전교육 2일차
모바일 해커톤 사전교육 2일차모바일 해커톤 사전교육 2일차
모바일 해커톤 사전교육 2일차
 
모바일 해커톤 사전교육 1일차
모바일 해커톤 사전교육 1일차모바일 해커톤 사전교육 1일차
모바일 해커톤 사전교육 1일차
 
Uching - 2016 한양대 스마트 창작터
Uching - 2016 한양대 스마트 창작터Uching - 2016 한양대 스마트 창작터
Uching - 2016 한양대 스마트 창작터
 
I see u
I see uI see u
I see u
 
라인전
라인전라인전
라인전
 
심리전
심리전심리전
심리전
 
코딩에는 좋은 노트북이 필요 없다
코딩에는 좋은 노트북이 필요 없다코딩에는 좋은 노트북이 필요 없다
코딩에는 좋은 노트북이 필요 없다
 
DB Project - Gmarket
DB Project - Gmarket DB Project - Gmarket
DB Project - Gmarket
 

AWS 약쟁이

  • 2. AWS란? • Amazon Web Services • 클라우드 컴퓨팅 플랫폼
  • 4. 크… EC2 • Amazon Elastic Compute Cloud • ECC = EC2 • 기능 • 가상 컴퓨팅 환경(인스턴스) • elastic IP • VPC(Virtual Private Clouds) • EBS(Elastic Block Store) • Linux(Ubuntu, Red hat), Window
  • 5. 크… S3 • Amazon Simple Storage Service • SSS = S3 • 인터넷용 스토리지 서비스
  • 6. 크… RDS • Amazon Relational Database Service • RDS • 클라우드 관계형 데이터 베이스 • MySQL, MariaDB, PostgreSQL, Oracle 등등 찬양해 Aurora
  • 7. 크… 람다(Lambda) • 서버에 대한 걱정 없이 코드를 실행할 수 있는 서비스 • 요청에 따른 자동 확장 • Node, Java, C#, Go, Python 지원
  • 8. 크… Cloud Watch • 실시간 리소스, 애플리케이션 모니터링 서비스 • 로그와 지표 조회 가능 • 지표에 대한 경고 및 이벤트 발생 가능
  • 9. 크… API Gateway • API 생성 및 모니터링 서비스
  • 10. 크… DynamoDB • NoSQL 데이터베이스 • 데이터 규모에 관계없이 저장 검색 가능 • 중지/성능저하 없이 처리 용량 변경 가능
  • 12. 최고의 약 = 서버 리스
  • 14. 같이 약에 취해보아요… - 실습 • https://155603983522.signin.aws.amazon.com/console • ID : guest숫자 ex- guest1, guest2….. • PW : 슬랙에 올릴겁니다 크게 의미 없지만 계정은 20개만 준비했어요…
  • 17. Lambda – 간단한 실행 • 실행하면
  • 18. Lambda – 실제로 함수를 만들어 봅시다
  • 19. Lambda • 역할?(Role) • 개발자는 다른 서비스(cloudwatch, rds)에 접근이 가능하지만 Lambda는 접근이 불가능하므로 미리 정의된 역할을 통해서 접근함 • VPC, 로깅, S3 등 다른 서비스의 권한이 필요할 경우 Role을 통해서 권한을 부여 받아서 사용해야함
  • 20. Lambda – 실행한 로그…. 로그를 보자!
  • 21. CloudWatch • 함수 시작 / 런타임 로그 / 함수 종료 / Duration time을 볼 수 있음
  • 22. S3 – Lambda 연동 실습 • S3에 파일이 업로드될 때 해당 파일의 정보를 Lambda에서 확인해보자 • 활용 • 썸네일 만들기 • 이미지 리사이징
  • 23. S3 - Lambda • 금지된 예약어가 많아서 버킷명 정하기가 어려울 수 있음
  • 24. S3 - Lambda • 방금 전 만든 버킷 선택 • 하단의 추가/저장 잊지마세요
  • 25. S3 - Lambda • 적당한 파일을 하나 올려보자 • 로그는 CloudWatch에서 확인
  • 26. 크… 취한다 • 방금 한 일 • aws에 로그인 했다 • 마우스 클릭을 했다 • 코드 조금 고쳤다 • 파일을 업로드하면 이미지 정보를 로그로 남기고 해당 로그를 자동 백업했다 서.버.없.이 == 서버리스
  • 27. 아니 서버리스의 세계는 어디까지인가… • 설마 html 파일로 유저에게 웹페이지를 제공할 수 있는가? • DB에 접근해서 API를 제공할 수 있는가? => gg ez
  • 28. S3 – 정적 웹 사이트 호스팅
  • 29. 형… 하고 찾지 마세요
  • 30. S3 퍼블릭으로 설정 • 조금 더 찾아본다면 Django 템플릿과 같은 것도 호스팅 가능함 This is serverless
  • 31. DynamoDB - lambda - API Gateway • HTTP API를 만들어 보자! 유저 API Gateway Lambda Dynamo DB
  • 32. DynamoDB – 기존에 만들어진걸 사용 • RDS – Dynamo DB 사용 • Nosql DB • zeropage table • primary key : id
  • 33. Lambda • Lambda api 함수 참고 • DynamoDB에서 원하는 테이블에서 데이터를 create : 생성(put) read : 읽기(get)
  • 34. Lambda TEST • 잘되나 안되나…. • 저장 후 테스트
  • 38. API Gateway 생성 완료 및 테스트 결과
  • 39. 크…. API를 서버없이 만들 수 있다 • 갓갓 AWS
  • 40. 근데 왜 다들 서버리스를 안 쓰지? • 거기에는 슬픈 전설이 있어……
  • 41. 요금이 비싼가?? - 방금 만든 API 기준 Lambda가 요청당 1초가 걸리고 초당 100개의 요청이 들어온다고 가정 한달 = 750시간 한달 총 호출 횟수 = 750 * 3,600 * 1,00 = 270,000,000 Lambda 비용 = 0.000000208 * 270,000,000 = 56.16달러(약 62만원) API Gateway 비용 = 270,000,000 / 1,000,000 * 3.5 = 945달러(약 105만원) DB와 트래픽 비용은 웹서버로 돌려도 발생하는 요금이므로 제외 매우 비쌈
  • 42. 그럼 혹시…. • 비싸긴하지만 돈만 낸다면 초당 1억 요청되는거 아닌가?
  • 43. 잉? 돈줄테니깐 해줘 • Lambda는 warm up time이 필요하고 처리량은 점차 증가함 • 단숨에 트래픽 증가가 불가능함 따라서 수강신청같이 한순간에 트래픽이 몰리는 서비스에는 장애가 발생함
  • 44. 하.. • 그럼 서버는 EC2를 쓰고 DB는 오토스케일되는 DynamoDB를 쓰자
  • 45. 너 혹시 그거 아니? • Dynamo DB는 Read/Write unit이 있단다. • Read unit : 단위당 최대 4KB까지 읽기 가능, 개당 0.09달러 • 5KB를 읽어야한다? -> unit 2개 필요 • 초당 100번을 읽어야한다 -> unit 최소 100개 필요 • 결과의 최대 크기는 1MB • Write unit : 단위당 최대 1KB까지 쓰기 가능, 개당 0.47달러 • 512Byte를 써야한다? -> unit 1개 필요 • 문자열 -> 속성 이름의 길이 + utf-8 인코딩된 바이트 수 • 숫자는 4Byte? -> 속성 이름의 길이 + 2자리당 1Byte + 1Byte • null은 무료겠지? -> 속성 이름의 길이 + 1Byte
  • 46. 어… 그럼 key를 잘 정하면 되지…. • primary key • user_id, board_id, article_id 추천 • date, uuid = 지옥행 특급열차 • secondary index • local / global • 최대 5개 지정가능 • read, write unit을 줄일 수는 있다! • 확장성이 좋지만 확장성이 안좋아지는 문제가 발생 • 만약 local 인덱스가 5개인데 추가해야 되는 상황이 발생한다면…?
  • 47. 그리고 사실…. • 오토스케일 되긴 하는데 • 스케일 업은 맘대로 해도 되는데 • 스케일 다운은 하루 4번 ㅋ
  • 48. 그럼 S3라도 믿고 써보자 • 버전관리도 되고 생명주기도 지정가능하고 비용은 GB당 0.023달러 (월 50TB미만) 심지어 오랫동안 안쓴건 더 싼 스토리지로 옮길 수 있어!
  • 49. 그럼 CDN없나… • cloudFront 제공 • 매우 비싼 편 • 정책 변경시 반영까지 최소 20분 • 중간에 https 인증서라도 바뀐다면?? – 30분간 여러분의 사이트는 안전하지 않은 사이트가 됩니다.
  • 50. 그럼 RDS는?? • 이 또한 비싸다… • 다른 리전으로 replica 생성 불가능 • 2018년 1월에 지원되게 패치됨 • 다른 DB에서 migration은 쉽지만 export하기가 까다로움
  • 51. 그럼 AWS를 왜 쓰는건가?? • 단순히 많이 써서 = 질문/답변이 많다 = 자료가 많다 = 물어볼 곳이 많다 = 잘 몰라도 일단 쓸 수 있다
  • 52. 그럼 AWS를 왜 쓰는건가?? • 컨퍼런스와 넘치는 AWS 설계 자료
  • 53. 다양한 리전과 IaaS, PaaS • 12개 지역에 33개의 데이터 센터 • 다양한 분야의 다양한 서비스