메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

예: Amazon CloudFront를 이용해 웹 사이트 속도 높이기

Amazon CloudFront을 이용해 웹 사이트의 성능을 향상시킬 수 있습니다. CloudFront를 통해 웹 사이트 파일들(HTML, 이미지, 동영상 등)을 엣지 로케이션이라고 하는 전 세계 각지의 데이터 센터에서 사용할 수 있습니다. 방문자가 웹 사이트에서 파일을 요청할 때 CloudFront는 가장 가까운 엣지 로케이션에 있는 파일 사본으로 요청을 자동 리디렉션합니다. 이렇게 하면 방문자가 더 멀리 있는 데이터 센터에서 콘텐츠를 요청한 경우보다 다운로드 시간이 빨라집니다.

CloudFront는 지정된 기간 동안 엣지 로케이션에 있는 콘텐츠를 캐시합니다. 방문자가 만료 날짜보다 더 오래 캐시된 콘텐츠를 요청하는 경우 CloudFront는 그 콘텐츠의 최신 버전이 사용 가능한지 알아보기 위해 오리진 서버를 확인합니다. 최신 버전이 사용 가능하다면, CloudFront는 새로운 버전을 엣지 로케이션에 복사합니다. 원본 콘텐츠에 대한 변경 사항은 방문객이 그 콘텐츠를 요청할 때 엣지 로케이션에 복제됩니다.

웹 사이트의 속도를 높이려면, CloudFront를 이용해 다음 작업을 완료하십시오.

CloudFront 배포 생성

먼저 CloudFront 배포를 만듭니다. 이를 통해 전 세계 각지의 데이터 센터에서 웹 사이트를 사용할 수 있게 됩니다.

To create a distribution with an Amazon S3 origin

  1. https://console.aws.amazon.com/cloudfront/에서 CloudFront 콘솔을 엽니다.

  2. Choose Create Distribution.

  3. On the Select a delivery method for your content page, for Web, choose Get Started.

  4. On the Create Distribution page, in the Origin Settings section, for Origin Domain Name, type the Amazon S3 static website hosting endpoint for your bucket. For example, example.com.s3-website-us-east-1.amazonaws.com.

    참고

    Be sure to specify the static website hosting endpoint, not the name of the bucket. For more information, see Amazon Simple Storage Service Website Endpoints.

    CloudFront fills in the Origin ID for you.

  5. For Default Cache Behavior Settings, leave the values set to the defaults. For more information about these configuration options, see Values that You Specify When You Create or Update a Web Distribution in the Amazon CloudFront 개발자 안내서.

  6. For Distribution Settings, do the following:

    1. Leave Price Class set to Use All Edge Locations (Best Performance).

    2. Set Alternate Domain Names (CNAMEs) to the root domain and www subdomain; in this tutorial, these are example.com and www.example.com. These values must be set before you create aliases for the A records that connect the specified domain names to the CloudFront distribution.

    3. Set Default Root Object to index.html. This is the default page that the CloudFront distribution returns if the URL used to access the distribution doesn't contain a file name. This value should match the index document value that you set in 웹 사이트 호스팅용 버킷 구성.

    4. Set Logging to On.

    5. For Bucket for Logs, choose the logging bucket that you created.

    6. To store the logs generated by traffic to the CloudFront distribution in a folder, named cdn, in the log bucket, type cdn/ for Log Prefix.

    7. Leave the other settings at their default values.

  7. Choose Create Distribution.

현재의 배포 상태를 보려면, 콘솔에서 배포를 찾아 [Status] 열을 확인합니다. InProgress 상태는 배포가 아직 완전히 이루어지지 않았음을 뜻합니다.

배포가 완료되면 새 CloudFront 도메인 이름으로 콘텐츠를 참조할 수 있습니다. CloudFront 콘솔에 표시되는 [Domain Name]의 값을 기록하십시오. 다음 단계에서 이 정보를 사용할 것입니다. 이 예시에서의 값은 dj4p1rv6mvubz.cloudfront.net입니다.

CloudFront 배포가 이루어지고 있는지 확인하려면, 웹 브라우저에서 배포의 도메인 이름을 입력하십시오. 배포 중인 경우 웹 사이트가 표시됩니다.

도메인 및 하위 도메인용 레코드 세트 업데이트

CloudFront 배포를 성공적으로 생성했으므로, 다음 단계는 Amazon Route 53의 A 레코드를 업데이트하여 새로운 CloudFront 배포를 가리키도록 하는 것입니다.

To update A records to point to a CloudFront distribution

  1. https://console.aws.amazon.com/route53/에서 Amazon Route 53 콘솔을 엽니다.

  2. On the Hosted Zones page, choose the hosted zone that you created for your domain.

  3. Choose Go to Record Sets.

  4. Choose the A record that you created for the www subdomain.

  5. For Alias Target, choose the CloudFront distribution.

  6. Choose Save Record Set.

  7. To redirect the A record for the root domain to the CloudFront distribution, repeat this procedure.

레코드 세트를 업데이트한 내용은 2~48시간 내에 적용됩니다. 새 A 레코드가 적용되었는지 확인하려면, 웹 브라우저에 http://www.example.com을 입력합니다. 브라우저가 http://example.com으로 리디렉션되지 않는 경우 새 A 레코드가 적용된 것입니다.

동작에 이러한 변경이 발생하는 이유는 old A 레코드에 의해 하위 도메인 S3 버킷으로 라우팅되는 트래픽이 Amazon S3의 설정에 따라 루트 도메인으로 리디렉션되기 때문입니다. www 새로운 A 레코드가 적용되면 새로운 A 레코드에 의해 CloudFront 배포로 라우팅되는 트래픽은 루트 도메인으로 리디렉션되지 않습니다.

작은 정보

브라우저는 리디렉션 설정을 캐시할 수 있습니다. 새로운 A 레코드 설정이 이미 적용되었어야 하는데 여전히 브라우저에서 http://www.example.comhttp://example.com으로 리디렉션된다면, 브라우저 애플리케이션을 닫았다가 다시 열어 브라우저의 검색 기록 및 캐시를 삭제하거나 다른 웹 브라우저를 사용하십시오.

새로운 A 레코드가 적용되면, http://example.com 또는 http://www.example.com을 이용해 사이트를 참조하는 방문자가 가장 가까운 CloudFront 엣지 로케이션으로 리디렉션됨으로써, 더 빨라진 다운로드 시간의 이점을 누릴 수 있습니다.

실습용으로 사이트를 생성한 경우에는 요금이 발생하지 않도록 할당한 리소스를 삭제할 수 있습니다. 그렇게 하려면, 예제 리소스 정리 단원으로 이동합니다. AWS 리소스를 삭제한 후에는 웹 사이트를 사용할 수 없습니다.

(선택 사항) 로그 파일 점검

액세스 로그는 웹 사이트를 방문하는 사람의 수를 알려 줍니다. 또한 Amazon EMR과 같은 다른 서비스로 분석할 수 있는 중요 비즈니스 데이터를 포함하고 있습니다.

버킷에서 기존 Amazon S3 로그 파일은 root 폴더에 있습니다. CloudFront 로그여야 하는 모든 새 로그 파일들은 cdn 폴더에 있습니다. Amazon S3는 매 2시간마다 웹 사이트 액세스 로그를 로그 버킷에 기록합니다. CloudFront는 해당 요청 이후 24시간 이내에 로그 버킷에 로그를 기록합니다.

To see the log files for your website

  1. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. Choose the logging bucket for your website.

  3. To see the log files that are stored in the cdn or root folder, choose cdn or root.

  4. Open Amazon S3 log files, which are text files, in a browser. Download the .gzip files written by CloudFront before opening them.