AWS CDN: 고용량의 이미지를 배포 시 캐싱을 위해 CDN 서비스 이용

AWS CDN: 고용량의 이미지를 배포 시 캐싱을 위해 CDN 서비스 이용

cloudhwang 0 1535

웹서비스 중에 고용량의 이미지를 배포할때 일반 웹서버를 사용하게 되면,

과부하로 인해 서비스문제가 발생할 수가 있어서 이미지캐싱을 위해 CDN서비스를 이용하여 구성하게 됩니다.

AWS를 이용해서 CDN을 사용하려면 CloudFront를 사용하면 보다쉽게 구성할 수 있다.

AWS CloudFront는 엣지 로케이션이라고 하는 데이터 센터의 네트워크를 통해 콘텐츠 서비스를 제공합니다.

엣지 서버를 사용해 컨텐츠를 캐싱하고 서비스를 제공하면 최종 사용자가 위치한 곳에서 가깝게 콘텐츠를 전송할 수 있기 때문에 성능이 향상되면서 지연시간이 발생되지 않습니다.

CloudFront는 아래 지도에서도 표시된것 처럼 여러 곳에 엣지 서버가 배포되어 있습니다.

[출처 : AWS]

일반적으로 Origin은 S3를 많이 사용하고 있으며, S3에서 CloudFront로 데이터전송비용도 무료입니다.

그러면 CloudFront를 이용하여 CDN서비스 구성을 해보도록 하겠습니다.

1. CloudFront에서 Distribution생성하기 위해 Create Distribution을 클릭합니다.

2. 웹서비스단 이미지가속을 위해 Web쪽 Get Started를 클릭합니다.

3. Origin으로 이미지가 저장되어 있는 S3버킷을 선택합니다.

4. 캐쉬동작에 대해 설정을 합니다.

- Viewer Protocol Policy는 HTTP와 HTTPS를 모두 사용한다면 첫번째 선택,

HTTP로 유입시 HTTPS로 리다이렉트할 경우 두번째 선택

HTTPS만 사용할 경우에는 HTTPS Only선택

- Default TTL은 기본적인 캐싱타입시간을 초단위로 입력

- Forward Cookies : 쿠키를 Origin으로 전달할지를 선택, 기본적으로 전달하지 않는 None선택

- Query String Forwarding and Cache : Query String을 Origin으로 전달할지를 선택, 기본적으로 None선택

5. Distribution설정을 진행

- Price Class는 All Edge Locations일 경우 제일 성능이 좋지만 비용이 비싸고,

Asia에서만 사용하는 서비스라고 하면 Use U.S., Canada, Europe, Asia를 선택

- Alternate Domain Names는 사용할 도메인을 입력한다. DNS에서 CNAME적용이 되어 있어야 가능

- SSL Certificate는 AWS에서 발급하여 사용가능하고, 기존 사용중인 인증서를 사용해도 된다

6. 최종적으로 생성하면 Distributions리스트에서 Status가 In Progress로 변경되고, 완료되면 Deployed로 표시

7. CloudFront에서 Alarm기능으로 특정에러코드가 지속적으로 발생을 감지할 수도 있다.

일반 CDN서비스보다 다양한 기능을 제공하고 있어서 AWS서비스를 사용한다면, 안쓸 이유가 없는 CDN서비스!!

0 Comments