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

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

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

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

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

CloudFront 배포 생성

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

Amazon S3 오리진으로 배포를 생성하려면

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

  2. Create Distribution을 선택합니다.

  3. Select a delivery method for your content 페이지의 Web에서 Get Started를 선택합니다.

  4. [Create Distribution] 페이지의 [Origin Settings] 섹션에서 [Origin Domain Name] 상자에 해당 버킷에 대한 Amazon S3 정적 웹 사이트 호스팅 엔드포인트를 입력합니다. 예: example.com.s3-website-us-east-1.amazonaws.com.

    참고

    버킷 이름이 아니라 정적 웹 사이트 호스팅 엔드포인트를 지정해야 합니다. 자세한 내용은 Amazon Simple Storage Service 웹 사이트 엔드포인트 단원을 참조하십시오.

    CloudFront가 사용자 대신 [Origin ID]를 채웁니다.

  5. [Default Cache Behavior Settings]에서는 기본값으로 설정되어 있는 값을 그대로 둡니다. 이 구성 옵션에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서웹 배포의 생성 또는 업데이트 시 지정하는 값을 참조하십시오.

  6. Distribution Settings에서 다음 작업을 수행합니다.

    1. Use All Edge Locations (Best Performance)로 설정된 Price Class를 그대로 둡니다.

    2. Alternate Domain Names (CNAMEs)를 루트 도메인과 www 하위 도메인(본 자습서에서는 example.comwww.example.com)에 설정합니다. 이 값들은 지정된 도메인 이름을 CloudFront 배포에 연결하는 A 레코드 별칭을 생성하기 전에 설정되어야 합니다.

    3. Default Root Objectindex.html로 설정합니다. 이 페이지는 배포에 액세스하는 데 사용되는 URL에 파일 이름이 없는 경우 CloudFront 배포가 반환하는 기본 페이지입니다. 이 값은 웹 사이트 호스팅용 버킷 구성에서 설정한 인덱스 문서 값과 일치해야 합니다.

    4. LoggingOn으로 설정합니다.

    5. [Bucket for Logs]에서 앞서 생성한 로깅 버킷을 선택합니다.

    6. CloudFront 배포로 들어가는 트래픽에 의해 생성된 로그를 로그 버킷의 cdn이라는 폴더에 저장하려면, [Log Prefix]에 cdn/를 입력합니다.

    7. 기타 설정은 기본값을 유지합니다.

  7. Create Distribution을 선택합니다.

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

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

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

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

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

A 레코드를 업데이트하여 CloudFront 배포를 가리키도록 하려면

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

  2. Hosted Zones 페이지에서 도메인을 위해 생성한 호스팅 영역을 선택합니다.

  3. Go to Record Set를 선택합니다.

  4. www 하위 도메인을 위해 생성한 A 레코드를 선택합니다.

  5. Alias Target에서 CloudFront 배포를 선택합니다.

  6. Save Record Set를 선택합니다.

  7. 루트 도메인에 대한 A 레코드를 CloudFront 배포로 리디렉션하려면 이 절차를 반복합니다.

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

동작에 이러한 변경이 발생하는 이유는 기존 A 레코드에 의해 www하위 도메인 S3 버킷으로 라우팅되는 트래픽이 Amazon S3의 설정에 따라 루트 도메인으로 리디렉션되기 때문입니다. 새로운 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시간 이내에 로그 버킷에 로그를 기록합니다.

웹 사이트의 로그 파일을 보는 방법

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

  2. 웹 사이트에 대한 로깅 버킷을 선택합니다.

  3. cdn 또는 root 폴더에 저장된 로그 파일을 보려면 cdn 또는 root를 선택합니다.

  4. 브라우저에서 텍스트 파일인 Amazon S3 로그 파일을 엽니다. 열기 전에 CloudFront가 작성한 .gzip 파일을 다운로드합니다.