스마트스터디의
CloudFront 와 S3 사용기
아마존 웹 서비스 한국 사용자 모임
박현우, 스마트스터디 지게로봇 / [email protected]
Slide 2
Slide 2 text
S3 와 Cloudfront
● S3 : Simple Storage Service
○ 무식하게 안전하다.
○ 한 지역(region)에 여러 사본이 존재.
■ vs EBS : 한 존(zone)에 여러 사본이 존재.
● CF : CloudFront
○ 콘텐츠 전송 서비스 (CDN).
○ 원본(origin)으로부터 AWS 엣지(Edge)로 전송.
■ http://aws.amazon.com/cloudfront/#details
■ 전세계 약 30 개의 엣지. (아직 까지는 지구만)
Slide 3
Slide 3 text
왜 이걸 골랐나?
● 대용량 멀티미디어 콘텐츠를 전 세계 모바일
시장에 배포해야 해서.
● 안정적으로, 빠르게, 적당한 가격으로 전 세계
에 배포해야 하므로.
● 다양한 시스템을 운영하기 위한 인력이 충분
하지 않다.
Slide 4
Slide 4 text
플래시 동영상
Slide 5
Slide 5 text
S3 Bucket
( tokyo )
s3cmd
Package
( encrypted )
Thumbnails
Video
npk
Transcoder
Gnash
FFmpeg
qtfaststart
Flash
Movie
Slide 6
Slide 6 text
CloudFront
{
Edge Edge Edge Edge Edge
S3 Bucket
( tokyo )
s3cmd
Video
npk
Slide 7
Slide 7 text
어떻게 동작하는가?
● S3 로 복사
○ 파일이 100개 정도면, GUI 도구를 사용한다.
○ 그 이상이면 반드시 s3fs 나 s3cmd 를 사용.
○ sync 기능이나 invalidation 이 필요하면, 역시 s3cmd.
○ 약 3만 개 정도의 파일이 있어서, s3cmd 를 선택.
● s3cmd
○ 엄청 좋음!
○ S3 와 CloudFront 위에서 동작함.
Slide 8
Slide 8 text
어떻게 동작하는가? (계속)
● s3cmd
○ AWS 콘솔에서 할 수 있는 대부분의 일이 가능.
○ INI 형식의 설정 파일.
○ 마법같은 'sync' 명령이 제공됨
● s3cmd sync
○ Glob 문법으로 특정 파일 지정 / 제외가 가능.
○ ... 정규 표현식으로도 가능함.
○ 자동으로 invalidatoin 요청을 보낼 수 있음.
○ 어떤 파일이 변경될 지 '미리 해보기' 가능. (-n, --dry-
run)
Slide 9
Slide 9 text
● s3cmd sync
○ 파일의 MD5 해시 정보로 달라진 여부를 검사.
○ (!) 파일 크기가 15MB 이상이면, 파일 크기로만 비교.
○ 약 60GB, 3만개 파일에 대해 = 검사에 8분 소요.
(i7 2500K + SATA HDD 에서 tokyo 버킷과 비교)
● s3cmd sync --cf-invalidate
○ Invalidation 요청을 자동으로 보내줌.
○ (!) 동시 요청은 3개 까지 가능. (파일 3개가 아님)
○ (!) 한 달에 1천 개 파일까지 무료.
○ s3cmd cfinvalinfo 명령으로 진행 상황 확인 가능.
어떻게 동작하는가? (계속)
Slide 10
Slide 10 text
빠른지
안전한지
비싸진 않은지?
그래서 정말
{
Slide 11
Slide 11 text
충분히 빠릅니다.
8.0MB/s
Slide 12
Slide 12 text
매우 안전합니다.
적어도 직접
운영하는
서버들 보단
Slide 13
Slide 13 text
그리고
별로
안 비싸요
Slide 14
Slide 14 text
* 버킷에서 각 엣지로의 복사 비용은 제외한 요금
국내 CDN
피크 트래픽 기준
● 350Mbps/피크시
● $6.00/Mbps
= $2,100
CloudFront
총 전송량 기준
● 10TB/한 달
● $0.209/GB
= $2,090*
Slide 15
Slide 15 text
그래도
비싸다구요?
Slide 16
Slide 16 text
* Photo from Linkedin page of Lee, Jung-in / Amazon Korea
Slide 17
Slide 17 text
10TB 이상이면
약정하고
할인 받으세요
Slide 18
Slide 18 text
● 더 작게
○ 최적의 옵션으로 미디어를 가공.
○ 각 플랫폼에 맞게 별도의 파일을 준비.
○ 저장 비용은 전송 비용보다 싸다!
● 정적으로
○ 자주 바뀌는 파일은 CloudFront 에 어울리지 않음.
○ Invalidation 요청이 때로는 10분 정도 걸림.
○ 정적이지 않은 파일들은 아직도 웹 서버를 사용 중.
● 스트리밍 가능하게
○ 모바일 네트워크는 아직 느리므로.
○ 다운로드 끝날 때까지 사용자를 기다리게 하지 말자.
팁