20
스마트스터디의 CloudFront S3 사용기 아마존 서비스 한국 사용자 모임 박현우, 스마트스터디 지게로봇 / [email protected]

[AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

Embed Size (px)

DESCRIPTION

AWS 한국사용자모임 1회 세미나(2013-02-16) 스마트스터디의 CloudFront와 S3 사용기

Citation preview

Page 1: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

스마트스터디의

CloudFront 와 S3 사용기

아마존 웹 서비스 한국 사용자 모임박현우, 스마트스터디 지게로봇 / [email protected]

Page 2: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

S3 와 Cloudfront

● S3 : Simple Storage Service○ 무식하게 안전하다.○ 한 지역(region)에 여러 사본이 존재.

■ vs EBS : 한 존(zone)에 여러 사본이 존재.

● CF : CloudFront○ 콘텐츠 전송 서비스 (CDN).○ 원본(origin)으로부터 AWS 엣지(Edge)로 전송.

■ http://aws.amazon.com/cloudfront/#details■ 전세계 약 30 개의 엣지. (아직 까지는 지구만)

Page 3: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

왜 이걸 골랐나?

● 대용량 멀티미디어 콘텐츠를 전 세계 모바일 시장에 배포해야 해서.

● 안정적으로, 빠르게, 적당한 가격으로 전 세계에 배포해야 하므로.

● 다양한 시스템을 운영하기 위한 인력이 충분하지 않다.

Page 4: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

플래시 동영상

Page 5: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

S3 Bucket( tokyo )

s3cmd

Package( encrypted )

Thumbnails

Video

npk

Transcoder

Gnash

FFmpeg

qtfaststart

Flash

Movie

Page 6: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

CloudFront{

Edge Edge Edge Edge Edge

S3 Bucket( tokyo )

s3cmd

Package( encrypted )

Thumbnails

Video

Transcoder

Gnash

FFmpeg

qtfaststart

Flash

Movie

npk

Page 7: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

어떻게 동작하는가?

● S3 로 복사○ 파일이 100개 정도면, GUI 도구를 사용한다.○ 그 이상이면 반드시 s3fs 나 s3cmd 를 사용.○ sync 기능이나 invalidation 이 필요하면, 역시 s3cmd.○ 약 3만 개 정도의 파일이 있어서, s3cmd 를 선택.

● s3cmd○ 엄청 좋음!○ S3 와 CloudFront 위에서 동작함.

Page 8: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

어떻게 동작하는가? (계속)

● s3cmd○ AWS 콘솔에서 할 수 있는 대부분의 일이 가능.○ INI 형식의 설정 파일.○ 마법같은 'sync' 명령이 제공됨

● s3cmd sync○ Glob 문법으로 특정 파일 지정 / 제외가 가능.○ ... 정규 표현식으로도 가능함.○ 자동으로 invalidatoin 요청을 보낼 수 있음.○ 어떤 파일이 변경될 지 '미리 해보기' 가능. (-n, --dry-

run)

Page 9: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

● s3cmd sync○ 파일의 MD5 해시 정보로 달라진 여부를 검사.○ (!) 파일 크기가 15MB 이상이면, 파일 크기로만 비교.○ 약 60GB, 3만개 파일에 대해 = 검사에 8분 소요.

(i7 2500K + SATA HDD 에서 tokyo 버킷과 비교)

● s3cmd sync --cf-invalidate○ Invalidation 요청을 자동으로 보내줌.○ (!) 동시 요청은 3개 까지 가능. (파일 3개가 아님)○ (!) 한 달에 1천 개 파일까지 무료.○ s3cmd cfinvalinfo 명령으로 진행 상황 확인 가능.

어떻게 동작하는가? (계속)

Page 10: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

빠른지

안전한지

비싸진 않은지?

그래서 정말

{

Page 11: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

충분히 빠릅니다.

8.0MB/s

Page 12: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

매우 안전합니다.

적어도 직접운영하는

서버들 보단

Page 13: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

그리고

별로

안 비싸요

Page 14: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

* 버킷에서 각 엣지로의 복사 비용은 제외한 요금

국내 CDN피크 트래픽 기준

● 350Mbps/피크시

● $6.00/Mbps

= $2,100

CloudFront총 전송량 기준

● 10TB/한 달

● $0.209/GB

= $2,090*

Page 15: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

그래도

비싸다구요?

Page 16: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

* Photo from Linkedin page of Lee, Jung-in / Amazon Korea

Page 17: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

10TB 이상이면

약정하고

할인 받으세요

Page 18: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

● 더 작게○ 최적의 옵션으로 미디어를 가공.○ 각 플랫폼에 맞게 별도의 파일을 준비.○ 저장 비용은 전송 비용보다 싸다!

● 정적으로○ 자주 바뀌는 파일은 CloudFront 에 어울리지 않음.○ Invalidation 요청이 때로는 10분 정도 걸림.○ 정적이지 않은 파일들은 아직도 웹 서버를 사용 중.

● 스트리밍 가능하게○ 모바일 네트워크는 아직 느리므로.○ 다운로드 끝날 때까지 사용자를 기다리게 하지 말자.

Page 19: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

● Gnash○ http://www.gnu.org/software/gnash/

● FFmpeg○ http://www.ffmpeg.org/

● qtfaststart○ https://github.com/danielgtaylor/qtfaststart

● npk○ https://github.com/lqez/npk

● s3cmd○ http://s3tools.org/

링크

Page 20: [AWS KR UG 1회 세미나] CloudFront와 S3 사용기 @ 박현우

스마트스터디의

CloudFront 와 S3 사용기

아마존 웹 서비스 한국 사용자 모임박현우, 스마트스터디 지게로봇 / [email protected]