간단한 CloudFront 배포 시작하기 - Amazon CloudFront

간단한 CloudFront 배포 시작하기

이 단원에 나온 절차에서는 CloudFront를 사용하여 다음을 수행하는 기본 구성을 설정하는 방법을 보여줍니다.

  • 객체의 원래 버전을 Amazon Simple Storage Service(Amazon S3) 버킷에 저장합니다.

  • 모든 사용자가 객체에 액세스할 수 있도록 합니다.

  • 객체에 대한 URL에 CloudFront 도메인 이름을 사용합니다(예: http://d111111abcdef8.cloudfront.net/index.html).

  • 기본 24시간(최소 시간 0초) 동안 CloudFront 엣지 로케이션에 객체를 보관합니다.

이러한 옵션은 대부분 사용자 지정이 가능합니다. 예를 들어 S3 버킷을 사용하는 대신 웹 서버에 콘텐츠를 저장할 수 있으며, 서명된 URL이나 쿠키를 사용하여 콘텐츠를 액세스할 수 있는 사용자를 제한할 수 있습니다. CloudFront 배포 옵션을 사용자 지정하는 방법은 배포 만들기 단계(개요) 단원을 참조하세요.

몇 가지 기본 단계만 수행하면 CloudFront를 사용하여 콘텐츠를 제공할 수 있습니다. 첫 번째 단계는 가입입니다. 그 다음에는 CloudFront 배포를 만들고 웹 페이지나 애플리케이션의 URL에 CloudFront 도메인 이름을 사용하여 콘텐츠를 참조합니다.

Prerequisites

시작하기 전에 먼저 Amazon CloudFront 설정의 단계를 완료해야 합니다.

1단계: Amazon S3에 콘텐츠 업로드 및 객체 권한 부여

Amazon S3 버킷은 파일(객체) 또는 폴더를 위한 컨테이너입니다. CloudFront는 Amazon S3 버킷을 소스로 사용하여 거의 모든 유형의 파일을 배포할 수 있습니다. 예를 들어 CloudFront에서는 텍스트, 이미지 및 비디오를 배포할 수 있습니다. Amazon S3에 저장할 수 있는 데이터의 양에는 최대값이 없습니다.

기본적으로 Amazon S3 버킷과 그 안에 있는 모든 파일은 비공개 상태로, 버킷을 만든 AWS 계정만 파일을 읽거나 쓸 수 있는 권한이 있습니다. 누구나 CloudFront URL을 사용해 Amazon S3 버킷에 있는 파일에 액세스할 수 있도록 허용하려면 객체에 공개 읽기 권한을 부여해야 합니다.

참고

콘텐츠를 다운로드할 수 있는 사용자를 제한하기 위해 CloudFront 프라이빗 콘텐츠 기능을 사용할 수 있습니다. 비공개 콘텐츠를 배포하는 방법에 대한 자세한 내용은 서명된 URL과 서명된 쿠키를 사용하여 프라이빗 콘텐츠 제공를 참조하십시오.

Amazon S3에 콘텐츠를 업로드하고 모두에게 읽기 권한을 부여하려면

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 버킷 만들기를 선택합니다.

  3. 버킷 이름(Bucket Name)에 버킷 이름을 입력합니다.

    중요

    버킷을 CloudFront와 함께 사용하려면 DNS 명명 요구 사항을 준수하는 이름을 사용해야 합니다. 자세한 내용은 Amazon Simple Storage Service 개발자 안내서버킷 규제 및 제한을 참조하세요.

  4. 리전에서 버킷의 AWS 리전을 선택합니다. 지연 시간을 최적화하거나 비용을 최소화하려면 가까운 리전을 선택하는 것이 좋습니다. 또는 규제 요구 사항을 해소하기 위해 다른 리전을 선택할 수도 있습니다.

  5. 버킷에 대한 퍼블릭 액세스 차단 설정(Block Public Access settings for bucket) 섹션에서 모든 퍼블릭 액세스 차단(Block public access) 확인란을 선택 취소합니다.

    CloudFront URL이 버킷의 콘텐츠를 제공할 수 있도록 버킷 및 파일에 대한 퍼블릭 읽기 액세스를 허용해야 합니다. 그러나 CloudFront 프라이빗 콘텐츠 기능을 사용하여 특정 콘텐츠에 대한 액세스를 제한할 수 있습니다. 자세한 내용은 서명된 URL과 서명된 쿠키를 사용하여 프라이빗 콘텐츠 제공 단원을 참조하세요.

    현재 설정으로 인해 이 버킷과 그 안에 포함된 객체가 퍼블릭 상태가 될 수 있음을 알고 있습니다(I acknowledge that the current settings might result in this bucket and the objects within becoming public) 확인란을 선택합니다.

  6. 다른 모든 설정은 기본값으로 두고 버킷 생성(Create bucket)을 선택합니다.

  7. (선택 사항) 자체 웹 사이트 콘텐츠가 없거나 콘텐츠를 업로드하기 전에 CloudFront를 시험해보고 싶다면 다음 링크를 사용하여 간단한 Hello World 웹 페이지 hello-world-html.zip을 다운로드합니다.

  8. 버킷(Buckets) 섹션에서 새 버킷을 선택한 다음 업로드(Upload)를 선택합니다.

  9. 업로드(Upload) 페이지를 사용하여 S3 버킷에 콘텐츠를 추가합니다. 간단한 hello world 웹 페이지를 다운로드한 경우 index.html 파일과 css 폴더를 추가합니다(폴더 안에 style.css 파일 포함).

  10. 추가 업로드 옵션(Additional upload options)을 선택하여 섹션을 확장합니다.

  11. [액세스 제어 목록(ACL)(Access control list (ACL))] 섹션의 [객체(Objects)] 열에서 [모두(퍼블릭 액세스)(Everyone (public access)] 옆에 있는 [읽기(Read)]에 대한 확인란을 선택합니다.

  12. 지정된 객체에 이 변경 사항이 미치는 영향을 이해합니다(I understand the effects of these changes on the specified objects) 확인란을 선택합니다.

  13. 페이지 하단에서 업로드(Upload)를 선택합니다.

    업로드가 완료된 후에 해당 URL을 사용하여 항목으로 이동할 수 있습니다. 예:

    https://<bucket name>.s3-<AWS Region>.amazonaws.com/<object name>

    <bucket name>, <AWS Region><object name>을 해당 버킷 및 콘텐츠에 따라 해당하는 값으로 바꿉니다. 이 절차에서 간단한 hello world 웹 사이트를 사용한 경우 <object name>index.html로 바꿉니다.

    참고

    미국 동부(버지니아 북부) 리전(us-east-1)에 버킷을 생성한 경우 URL의 <AWS Region> 부분을 생략합니다. 예:

    https://<bucket name>.s3.amazonaws.com/<object name>

    Amazon S3 URL을 사용하여 콘텐츠에 공개적으로 액세스할 수 있는지 합니다. 참고로 CloudFront에서 콘텐츠에 액세스할 때 사용할 URL은 이 URL이 아닙니다.

2단계: CloudFront 배포 생성

CloudFront 배포 생성

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

  2. 배포 생성(Create Distribution)을 선택한 다음 시작하기(Get Started)를 선택합니다.

  3. 오리진 설정(Origin Settings)에서 오리진 도메인 이름(Origin Domain Name)에 대해 이전에 생성한 Amazon S3 버킷을 선택합니다.

    오리진 설정(Origin Settings)의 다른 설정은 기본값을 그대로 사용합니다.

  4. 기본 캐시 동작 설정(Default Cache Behavior Settings)의 설정은 기본값을 그대로 사용합니다.

    캐시 동작 옵션에 대한 자세한 내용은 캐시 동작 설정을 참조하세요.

  5. 배포 설정(Distribution Settings)의 설정에서는 기본값을 수락합니다.

    배포 옵션에 대한 자세한 내용은 배포 설정 단원을 참조하세요.

  6. 페이지 맨 아래에서 배포 생성(Create Distribution)을 선택합니다.

  7. CloudFront에서 배포를 생성하면 배포의 상태(Status) 열 값이 진행 중에(In Progress)서 배포 완료(Deployed)로 변경됩니다. 이 작업은 일반적으로 몇 분 정도 걸립니다.

    CloudFront가 배포에 할당하는 도메인 이름을 기록합니다. 이 도메인 이름은 배포 목록에 나타납니다. 선택한 배포에 대한 [General] 탭에도 나타납니다. d111111abcdef8.cloudfront.net와 유사하게 표시됩니다.

3단계: CloudFront를 통해 콘텐츠에 액세스

CloudFront를 통해 콘텐츠에 액세스하려면 CloudFront 배포 도메인 이름을 콘텐츠 액세스 경로와 결합합니다. 예를 들어 배포 도메인 이름은 d111111abcdef8.cloudfront.net과 유사합니다. 일반적으로 웹 사이트의 기본 페이지에 대한 액세스 경로는 /index.html입니다. 이 경우 다음과 유사한 URL에서 CloudFront를 통해 콘텐츠에 액세스할 수 있습니다.

https://d111111abcdef8.cloudfront.net/index.html

이전 단계를 수행했고 간단한 hello world 웹 페이지를 사용했다면 웹 페이지의 콘텐츠가 표시됩니다.


					Hello world 웹 페이지.

S3 버킷에 새 콘텐츠를 업로드하는 경우 CloudFront 배포 도메인 이름(예: d111111abcdef8.cloudfront.net)과 S3 버킷의 객체 경로를 결합하여 CloudFront를 통해 콘텐츠에 액세스할 수 있습니다. 예를 들어 S3 버킷의 루트에 new-page.html이라는 새 파일을 업로드하는 경우 다음과 유사한 URL의 CloudFront를 통해 이 페이지에 액세스할 수 있습니다.

https://d111111abcdef8.cloudfront.net/new-page.html

Amazon S3에 저장된 웹 사이트의 콘텐츠를 제공하도록 CloudFront를 성공적으로 구성했습니다. 한 단계 더 나아가 사용자 지정 도메인 이름(예: www.example.com 대신 d111111abcdef8.cloudfront.net)을 사용하도록 CloudFront 배포를 구성할 수 있습니다. 자세한 내용은 사용자 지정 URL 사용 단원을 참조하세요.