Skip to content

간단한 배포로 시작하기


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

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

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

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

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

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

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


1. 사전 조건

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


2. Amazon S3에 콘텐츠 업로드 및 객체 권한 부여

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

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

Note

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

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

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

  2. 버킷 만들기를 선택한다.

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

    Warning

    버킷을 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로 바꾼다.

    Note

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

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

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


3. CloudFront 배포 생성

CloudFront 배포 생성

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

  2. Create Distribution(배포 생성)을 선택한다.

  3. 오리진에서 오리진 도메인에 대해 이전에 생성한 Amazon S3 버킷을 선택한다.

    오리진의 다른 설정은 기본값을 그대로 사용한다.

  4. 기본 캐시 동작의 설정은 기본값을 그대로 사용한다.

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

  5. 나머지 설정에 모든 기본값을 적용한다.

    이러한 옵션에 대한 자세한 내용은 배포 설정 섹션을 참조한다.

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

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

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


4. CloudFront를 통해 콘텐츠에 액세스

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

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

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

001

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

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

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


References