많은 고객들이 AWS 클라우드를 활용해 이용하여 자신들의 서비스와 비지니스를 성장시키고 있습니다. 이 강연에서는 고객들이 실제 사례를 통해 어떻게 AWS 클라우드를 활용하는지 소개해 드립니다.
웹 사이트 및 모바일 앱 개발, 데이터 분석 및 백업 및 재해 복구 그리고 클라우드로의 이전 사례 등 AWS 클라우드를 통한 다양한 요구 사항 충족 및 작업 처리에 대해 이해하실 수 있습니다. IT 영역의 다양한 분야에서 AWS의 컴퓨팅, 스토리지 및 데이터베이스 서비스들이 활용되는 양상을 알아보시기 바랍니다.
쉐이커(https://www.shakr.com/)에서 AWS를 온프레미스 인프라와 더불어 어떻게 사용하고 있는지, 이용 사례를 공유합니다.
Apr 21 2015
Presented at the AWS Summit Seoul
http://aws.amazon.com/ko/summits/seoul/
많은 고객들이 AWS 클라우드를 활용해 이용하여 자신들의 서비스와 비지니스를 성장시키고 있습니다. 이 강연에서는 고객들이 실제 사례를 통해 어떻게 AWS 클라우드를 활용하는지 소개해 드립니다.
웹 사이트 및 모바일 앱 개발, 데이터 분석 및 백업 및 재해 복구 그리고 클라우드로의 이전 사례 등 AWS 클라우드를 통한 다양한 요구 사항 충족 및 작업 처리에 대해 이해하실 수 있습니다. IT 영역의 다양한 분야에서 AWS의 컴퓨팅, 스토리지 및 데이터베이스 서비스들이 활용되는 양상을 알아보시기 바랍니다.
쉐이커(https://www.shakr.com/)에서 AWS를 온프레미스 인프라와 더불어 어떻게 사용하고 있는지, 이용 사례를 공유합니다.
Apr 21 2015
Presented at the AWS Summit Seoul
http://aws.amazon.com/ko/summits/seoul/
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020Amazon Web Services Korea
발표영상 다시보기: https://youtu.be/z68l2X5KoC4
AWS 클라우드는 초기에 적은 비용으로 웹 서비스를 시작하고, 향후 사업이 발전했을 때 천만 이상의 유저가 사용할 수 있는 고가용성, 확장성, 민첩성이 뛰어난 웹 서비스를 만들 수 있습니다. 본 세션에서는 작은 서비스로 시작하여 AWS의 다양한 서비스를 사용하여 천만 이상의 대규모 유저 트래픽을 수용할 수 있는 웹 서비스로 발전시키는 것을 단계별로 오토스케일링, 트래픽 경감, 모니터링과 자동화, 고가용성 확보를 위한 아키텍처 구성 방법을 소개합니다.
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타
Microsoft 워크로드에 대한 탁월한 전문성을 바탕으로 AWS의 Microsoft Competency인증을 취득한 Advanced 컨설팅 파트너사인 테크데이타에서 실제 마이그레이션 수행 시 고객사 인프라 환경을 빠르게 분석하고 자동화를 할 수 있는 AWS OLA(Optimization & License Assessment) 프로그램을 소개하고, Microsoft 워크로드를 마이그레이션시 고려해야 할 몇가지 서비스에 대해서 소개를 하였습니다.
AWS Summit Seoul 2015에서 GS네오텍 박정수 팀장님의 CloudFront와 Route53 기반 콘텐츠 배포 전략 발표 자료입니다.
---
웹 서비스를 이용하는 사용자들이 늘어나고 트래픽이 증가하면 이에 대응하기 위해 보다 유연한 서비스 환경을 구축할 필요가 있습니다. 특히 서비스 내 미디어 등 콘텐츠를 빠르게 배포하는 것은 서비스 경험을 높이는 데 매우 중요한 요소입니다.
이 강연에서는 AWS 클라우드의 콘텐츠 배포 서비스(CDN)인 Amazon CloudFront와 도메인 관리 서비스인 Amazon Route53를 활용하고 있는 국내 고객의 사례를 소개하고, 국내는 물론 국외에 소재한 고객들에게도 훌륭한 서비스 경험을 제공하기 위해 한국을 비롯해 전 세계 53개소에 자리잡은 CloudFront 엣지 로케이션을 활용하는 방법의 다양한 기술적/비용적 이점에 대해 설명하겠습니다.
AWS에서는 애플리케이션의 목적과 특징에 맞는 다양한 클라우드 기반 데이터베이스 선택 옵션을 제공합니다. 본 세션에서는 클라우드 DB 서비스를 간단히 알아보고, 그 중에서도 DB 서버 및 클러스터 관리 및 운영에 대한 걱정이 전혀 없는 서버리스(Serverless) DB 서비스인 Amazon Aurora Serverless와 DynamoDB에 대해 자세히 알아봅니다. DB 관리 및 운영 등의 번거러운 작업은 AWS에 맡기고, 비지니스 로직에 필요한 데이터 모델 구성 및 쿼리 최적화 등에 집중하여 시장에 요구에 따른 비지니스에 민첩한 서비스를 만드는 방법을 알아 봅니다.
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...Amazon Web Services Korea
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기
김병수 솔루션즈 아키텍트, AWS
AWS는 고객의 요구사항을 반영하여 끊임없이 서비스들을 추가하고 개선해왔습니다. 본 세션에서는 이러한 서비스들 중 게임 서비스 아키텍처를 개선하는데 직접적으로 도움이 될 수 있는 서비스와 기능들을 신규 서비스들을 중심으로 살펴보고 장르별 게임 아키텍처에서 신규 서비스 도입 이전과 이후의 아키텍처 개선사항을 비교해봅니다.
The document discusses techniques for reducing repetitive code using C/C++ preprocessor programming. It covers macros like X-Macro for generating repeating code structures, horizontal and vertical repetition using chaining and recursion of macros, and Boost Preprocessor library which provides optimized macros for tasks like repetition and token pasting that support high levels of reentrancy. The goal is to avoid duplicating code and generate boilerplate code at compile-time through clever use of the preprocessor.
This chapter discusses techniques for synchronizing concurrent threads in C++, including condition variables, futures/promises, packaged tasks, and chrono time utilities. Condition variables allow threads to wait for some condition to be met or signaled by another thread. Futures and promises are used to return values from asynchronous operations. Packaged tasks separate function execution from result retrieval. Chrono defines types for measuring time and time points. The chapter also briefly mentions message passing between actors as another concurrency method.
4. Cloud computing?
• the on-demand delivery of IT resources via the Internet with pay-
as-you-go pricing
4
http://aws.amazon.com/what-is-cloud-computing/
6. Region & AZ
• 하나의 지리적 구역에 있는 가용 영역
• 독립된 전력망, 네트워크를 갖춤
• 지역에 따라 사용 금액이 다르고,
네트워크 반응성 차이가 있음
• 한 지역(Region)에는
여러 가용 구역(Available Zone)을 갖음
6
7. EC2 (Elastic Compute Cloud)
• Virtual servers in the Cloud
• AMI(Amazon Machine Instance)를 실행하는 서버 인스턴스 가동
• EBS(Elastic Block Storage) 사용, EIP(Elasic IP) 부여
• EIP 미설정 시 서버 재시작마다 Public/Private DNS가 변경됨
7
8. S3 (Simple Storage Service)
• 내고장성(fault-tolerant) 데이터 저장소
• bucket 내 object로 파일 관리 (folder 개념 없음)
– Console이나 Toolkit마다 Folder를 emulation 해줌 (_$FOLDER$_)
• ACL을 통한 permission 부여
• 데이터 전송 부담이 EC2에 비해 낮음 (비용은 동일)
• EC2와의 데이터 전송 비용은 없음
8
http://lzclient.s3-ap-northeast-1.amazonaws.com/UpdateHistory.txt
bucket object
9. CloudFront
• Web service for content delivery
• S3 bucket으로 CloudFront Distribution 생성
• 변경된 S3 bucket object가 반영되려면 시간이 필요함(동기화 주기)
혹은 직접 invalidation 수행. edge location 동기화 완료 예측 어려움
• 데이터 전송 비용이 S3에 비해 저렴
9
11. Service Limits
• EC2 on-demand instances (보통) 20개
• EC2 spot instances 100개
• Elastic IP Address 5개
• RDS 40개
• VPC는 별도
• 한도 증가 요청 시 업무일 2-3일 소요
11
http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html
http://aws.amazon.com/ko/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2
https://aws.amazon.com/ko/contact-us/ec2-request/
https://aws.amazon.com/ko/contact-us/eip_limit_request/
12. Pricing
• CPU 사용 시간(%/sec), 전송 데이터 양(GB/s), 월간 데이터 스토리지(GB/s)
• Oregon보다 Tokyo가 더 비쌈
• EC2 Windows가 Linux보다 비쌈
• S3 PUT, COPY, POST, LIST 요청에도 요금이 부과됨
• CloudFront HTTP보다 HTTPS가 더 비쌈
12
http://aws.amazon.com/ko/pricing/
EC2
CloudFront
14. Charges
• 사용한 자원에 따른 요금
14
https://portal.aws.amazon.com/gp/aws/developer/account/index.html
15. Free tier
• 신규 AWS 고객 첫 12개월 대상으로 적용
• EC2
– Linux/Unix/RHEL/Windows Micro instance 매달 750시간 무료
• S3
– 5GB, GET 20,000건, PUT 2,000건 무료
• RDS
– MSSQL Express Edition Micro instance 20GB, 매달 750시간 무료
15
http://aws.amazon.com/ko/free/
19. Game Hosting!
• EC2를 사용한 게임 서버 운영
• 바이너리 배포를 위한 S3/CloudFront 사용
• RDS/DynamoDB를 사용한 데이터 저장
19
Auto scaling Group
Availability Zone #1
Logs
EC2 Instance
Game
Server
CloudFront
Distribution
MSSQL
Instance
DynamoDB
Elastic Load
Balancing
Game Data
EC2 Instance
Game
Server
AMI
Game Client
Packages
Upload
Download
Amazon
S3 Bucket
20. Step 1. 서버 구동
1) 적절한 OS를 선택하여 Instance 생성
2) 필요한 프로그램 설치 (.NET Framework 나 mono 등)
3) 기타 환경 설정 (필요에 따라 EBS mount)
4) AMI 생성
5) 서버 바이너리 업로드
6) 서버 구동
7) Elastic IP 부여
20
장애 발생 시 해당 Instance에서 EBS 분리
새 Instance에 mount한 뒤 대응 서버 구동
새 Instance 구동 준비 노력 절감
빠른 장애 대응 Instance 구동 및 빠른 서버 확장
21. Step 2. CDN 구축
1) S3 Bucket 생성
2) AWS API 등을 사용하여 배포 파일 업로드
3) S3를 CloudFront에 Distribution
4) CloudFront 전달 위해 Invalidation
5) Launcher는 CloudFront 혹은 S3로부터 다운로드
21
언제 edge location으로 전달될지 모름
CloudFront의 Invalidation이 InProgress 상태이면
최신 내용이 아니라는 것이므로 S3로부터 다운로드 해야 함
22. 운영 패턴
• 준비된 AMI로 Instance 생성 및 서버 구동 후 Elastic IP 연결
• 동기화할 데이터가 있다면 EBS로 구성하고, 장애 서버의 EBS를 분리한
후 새 서버에 연결해서 사용
• 더 높은 사양의 Instance에서 서버 구동 후 Elastic IP 연결 (Scale Up)
• 추가 Instance 구동 후 (Scale Out) 처리 분산 (ELB)
22
23. Floating IP
• 서버 패치, 장애 복구, 업그레이드 작업 등을 처리할 때 정지 시간 최소화
• EIP 변경이므로 DNS의 TTL에 영향을 주지 않고 바로 변경 가능
23
Route 53
Elastic IP
EC2 EC2
IP 교체서버 장애
(1) (2)
24. Server Swapping
• 새 Instance에 기존 가상 디스크(EBS)를 연결하여 장애 복구
• EBS 장애를 고려하여 snapshot 백업도 필요
24
EC2 EC2
EBS를 새로운
EC2에 장착
EC2 장애
Amazon EBS
AMI
동일한 AMI에서
EM2 가동
(1)
(3)
(2)
25. Scale up / down
• 서버 자원에 맞는 Instance 변경
25
EC2
EC2
Change Instance Type
EC2
small
micro
xlarge
26. Scale out / in
• 로드 밸런서를 사용해 트래픽 양에 따라 가상 서버 수를 동적으로 변경
• 갑작스런 트래픽 변동은 대응하기 어려움
26
EC2 EC2
감사
AMI
(1)
Auto scaling Group
EC2
ELB
CloudWatch
Alarm Auto Scaling
설정 조건으로
알람 가동
(2)
통지
(3)
서버 가동
(4)
27. Scheduled Scale out
• 트래픽이 급증하는 시간을 알 경우 사전에 Scale out을 수행
• 트래픽이 떨어지는 시간대를 지정하여 Scale in을 수행
27
EC2 EC2
AMI
Auto scaling Group
EC2ELB
Auto Scaling
정해진 시각에
가동 지시
28. 참고
• AWS 한국 사용자 모임
https://www.facebook.com/groups/189675924467773/
• 아마존 웹 서비스 완벽 활용법, 위키북스
• 아마존 웹 서비스 클라우드 디자인 패턴 설계 가이드, JPub
28