간단한 배포로 시작하기
이 단원에 나온 절차에서는 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에 콘텐츠를 업로드하고 모두에게 읽기 권한을 부여하려면
-
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 연다.
-
버킷 만들기를 선택한다.
-
버킷 이름(Bucket Name)에 버킷 이름을 입력한다.
Warning
버킷을 CloudFront와 함께 사용하려면 DNS 명명 요구 사항을 준수하는 이름을 사용해야 한다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 버킷 규제 및 제한을 참조한다.
-
리전에서 버킷의 AWS 리전을 선택한다. 지연 시간을 최적화하거나 비용을 최소화하려면 가까운 리전을 선택하는 것이 좋다. 또는 규제 요구 사항을 해소하기 위해 다른 리전을 선택할 수도 있다.
-
버킷에 대한 퍼블릭 액세스 차단 설정(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) 확인란을 선택한다.
-
다른 모든 설정은 기본값으로 두고 버킷 생성(Create bucket)을 선택한다.
-
(선택 사항) 자체 웹 사이트 콘텐츠가 없거나 콘텐츠를 업로드하기 전에 CloudFront를 시험해보고 싶다면 다음 링크를 사용하여 간단한 Hello World 웹 페이지 hello-world-html.zip을 다운로드한다.
-
버킷(Buckets) 섹션에서 새 버킷을 선택한 다음 업로드(Upload)를 선택한다.
-
업로드(Upload) 페이지를 사용하여 S3 버킷에 콘텐츠를 추가한다. 간단한 hello world 웹 페이지를 다운로드한 경우
index.html
파일과css
폴더를 추가한다(폴더 안에style.css
파일 포함). -
추가 업로드 옵션(Additional upload options)을 선택하여 섹션을 확장한다.
-
[액세스 제어 목록(ACL)(Access control list (ACL))] 섹션의 [객체(Objects)] 열에서 [모두(퍼블릭 액세스)(Everyone (public access)] 옆에 있는 [읽기(Read)]에 대한 확인란을 선택한다.
-
지정된 객체에 이 변경 사항이 미치는 영향을 이해합니다(I understand the effects of these changes on the specified objects) 확인란을 선택한다.
-
페이지 하단에서 업로드(Upload)를 선택한다.
업로드가 완료된 후에 해당 URL을 사용하여 항목으로 이동할 수 있다. 예:
<bucket name>
,<AWS Region>
및<object name>
을 해당 버킷 및 콘텐츠에 따라 해당하는 값으로 바꾼다. 이 절차에서 간단한 hello world 웹 사이트를 사용한 경우<object name>
을index.html
로 바꾼다.Note
미국 동부(버지니아 북부) 리전(us-east-1)에 버킷을 생성한 경우 URL의
<AWS Region>
부분을 생략한다. 예:Amazon S3 URL을 사용하여 콘텐츠에 공개적으로 액세스할 수 있는지 한다. 참고로 CloudFront에서 콘텐츠에 액세스할 때 사용할 URL은 이 URL이 아니다.
3. CloudFront 배포 생성
CloudFront 배포 생성
-
https://console.aws.amazon.com/cloudfront/v3/home에서 CloudFront 콘솔을 연다
-
Create Distribution(배포 생성)을 선택한다.
-
오리진에서 오리진 도메인에 대해 이전에 생성한 Amazon S3 버킷을 선택한다.
오리진의 다른 설정은 기본값을 그대로 사용한다.
-
기본 캐시 동작의 설정은 기본값을 그대로 사용한다.
캐시 동작 옵션에 대한 자세한 내용은 캐시 동작 설정을 참조한다.
-
나머지 설정에 모든 기본값을 적용한다.
이러한 옵션에 대한 자세한 내용은 배포 설정 섹션을 참조한다.
-
페이지 맨 아래에서 배포 생성(Create distribution)을 선택한다.
-
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 웹 페이지를 사용했다면 웹 페이지의 콘텐츠가 표시된다.
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 사용 섹션을 참조한다.