자습서: Amazon S3, Amazon CloudFront 및 Amazon Route 53로 온디맨드 스트리밍 비디오 호스팅 - Amazon Simple Storage Service

자습서: Amazon S3, Amazon CloudFront 및 Amazon Route 53로 온디맨드 스트리밍 비디오 호스팅

Amazon S3를 Amazon CloudFront와 함께 사용하여 보안 및 확장성이 있는 방식의 온디맨드 보기 용도로 비디오를 호스팅할 수 있습니다. 온디맨드 비디오(VOD) 스트리밍은 비디오 콘텐츠가 서버에 저장되고 뷰어가 언제든지 비디오 콘텐츠를 볼 수 있음을 의미합니다.

CloudFront는 빠르고 안전하며 프로그래밍 가능한 콘텐츠 전송 네트워크(CDN) 서비스입니다. CloudFront는 전세계적으로 모든 CloudFront의 엣지 로케이션에서 HTTPS를 통해 콘텐츠를 안전하게 전송할 수 있습니다. CloudFront 에 대한 자세한 내용은 Amazon CloudFront 개발자 가이드Amazon CloudFront란 무엇입니까? 단원을 참조하십시오.

CloudFront 캐싱은 오리진 서버에서 직접 응답해야 하는 요청의 수를 줄입니다. 뷰어(최종 사용자)의 경우 CloudFront에서 제공하는 비디오를 요청하면 해당 요청은 뷰어의 위치와 가까운 엣지 로케이션으로 라우팅됩니다. CloudFront는 해당 캐시에서 비디오를 제공하고, 아직 캐싱되지 않은 경우에만 S3 버킷에서 비디오를 검색합니다. 이 캐싱 관리 기능은 짧은 대기 시간, 높은 처리량, 빠른 전송 속도로 전 세계 뷰어에게 비디오를 빠르게 제공할 수 있습니다. CloudFront 캐싱 관리에 대한 자세한 내용은 Amazon CloudFront 개발자 가이드캐싱 및 가용성 최적화를 참조하십시오.


            CloudFront 캐싱 메커니즘의 작동 방식. CloudFront는 뷰어에게 더 짧은 대기 시간을 제공하기 위해 다양한 리전 엣지 캐시에 비디오 사본을 캐시합니다.
목표

이 자습서에서는 전송을 위해 CloudFront를 사용하고 도메인 이름 시스템(DNS) 및 사용자 지정 도메인 관리를 위해 Amazon Route 53를 사용하여 온디맨드 비디오 스트리밍을 호스팅하도록 S3 버킷을 구성합니다.

사전 조건: Route 53에 사용자 지정 도메인 등록 및 구성

이 자습서를 시작하기 전에, 나중에 사용자 지정 도메인 이름을 사용하도록 CloudFront 배포를 구성하려면 Route 53에 사용자 지정 도메인(예: example.com)을 등록하고 구성해야 합니다.

사용자 지정 도메인 이름이 없으면 S3 비디오가 다음과 유사한 URL에서 CloudFront를 통해 공개적으로 액세스되고 호스팅됩니다.

https://CloudFront distribution domain name/Path to an S3 video

예: https://d111111abcdef8.cloudfront.net/sample.mp4

Route 53으로 구성된 사용자 지정 도메인 이름을 사용하도록 CloudFront 배포를 구성하면 S3 비디오가 다음과 유사한 URL에서 CloudFront를 통해 공개적으로 액세스되고 호스팅됩니다.

https://CloudFront distribution alternate domain name/Path to an S3 video

예: https://www.example.com/sample.mp4 사용자 지정 도메인 이름은 뷰어가 보다 간단하고 직관적으로 사용할 수 있습니다.

사용자 지정 도메인을 등록하려면 Amazon Route 53 개발자 안내서Route 53을 사용하여 새 도메인 이름 등록을 참조하십시오.

Route 53을 사용하여 도메인 이름을 등록하면 Route 53은 이 자습서의 뒷부분에서 사용할 호스팅 영역을 생성합니다. 이 호스팅 영역은 트래픽을 도메인(예: Amazon EC2 인스턴스 또는 CloudFront 배포)으로 라우팅하는 방법에 대한 정보를 저장하는 곳입니다.

도메인 등록, 호스팅 영역 및 도메인에서 수신한 DNS 쿼리와 관련된 요금이 있습니다. 자세한 내용은 Amazon Route 53 요금을 참조하십시오.

참고

도메인을 등록하면 즉시 비용이 청구되며, 이는 취소할 수 없습니다. 도메인을 자동 갱신하지 않도록 선택할 수 있지만, 선불로 비용을 지불하며 1년 동안 소유합니다. 자세한 내용은 Amazon Route 53 개발자 안내서새 도메인 등록을 참조하십시오.

1단계: S3 버킷 생성

스트리밍하려는 원본 비디오를 저장할 버킷을 생성합니다.

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

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

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

    버킷 만들기 페이지가 열립니다.

  4. 버킷 이름에 버킷 이름을 입력합니다(예: tutorial-bucket).

    Amazon S3의 버킷 이름 지정 규칙에 대한 자세한 내용은 버킷 이름 지정 규칙 섹션을 참조하십시오.

  5. 리전(Region)에서 버킷이 속할 AWS 리전을 선택합니다.

    가능하면 뷰어의 대다수와 가장 가까운 리전을 선택해야 합니다. 버킷 리전에 대한 자세한 내용은 버킷 개요 섹션을 참조하십시오.

  6. 이 버킷에 대한 퍼블릭 액세스 차단 설정(Block Public Access settings for this bucket)에서 해당 설정을 기본값으로 유지합니다(모든 퍼블릭 액세스 차단(Block all public access)이 활성화됨).

    모든 퍼블릭 액세스 차단을 활성화한 경우에도 뷰어는 CloudFront를 통해 업로드된 비디오에 계속 액세스할 수 있습니다. 이 기능은 CloudFront를 사용하여 S3에 저장된 비디오를 호스팅할 때의 주요 이점입니다.

    해당 사용 사례에 대해 하나 이상의 설정을 해제해야 하는 경우가 아니라면 모든 설정을 활성화 상태로 유지하는 것이 좋습니다. 퍼블릭 액세스 차단에 대한 자세한 내용은 Amazon S3 스토리지에 대한 퍼블릭 액세스 차단 섹션을 참조하십시오.

  7. 나머지 설정은 기본값으로 유지합니다.

    특정 사용 사례에 대한 추가 버킷 설정을 구성하려면 버킷 생성 섹션을 참조하십시오(선택 사항).

  8. 버킷 생성을 선택합니다.

2단계: S3 버킷에 파일 업로드

다음 절차에서는 콘솔을 사용하여 S3 버킷에 비디오 파일을 업로드하는 방법을 설명합니다. S3에 많은 대용량 비디오파일을 업로드하는 경우 Amazon S3 Transfer Acceleration을 사용하여 빠르고 안전한 파일 전송을 구성할 수 있습니다. Transfer Acceleration을 사용하면 S3 버킷에 비디오를 빠르게 업로드하여 대용량의 비디오를 장거리 전송할 수 있습니다. 자세한 내용은 Amazon S3 Transfer Acceleration을 사용하여 빠르고 안전한 파일 전송 구성 단원을 참조하십시오.

버킷에 파일을 업로드하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. 버킷(Buckets) 목록에서, 1단계에서 생성한 버킷의 이름(예: tutorial-bucket)을 선택하여 파일을 업로드합니다.

  4. 버킷의 객체(Objects) 탭에서 업로드(Upload)를 선택합니다.

  5. 업로드(Upload) 페이지의 파일 및 폴더(Files and Folders)에서 파일 추가(Add Files)를 선택합니다.

  6. 업로드할 파일을 선택한 후 열기를 선택합니다.

    예를 들어 sample.mp4 비디오 파일을 업로드할 수 있습니다.

  7. 업로드를 선택합니다.

3단계: CloudFront 원본 액세스 자격 증명 생성

S3 버킷에서 비디오에 대한 직접 액세스를 제한하려면, 원본 액세스 ID(OAI)라는 특별한 CloudFront 사용자를 생성합니다. 이 자습서의 후반에서는 OAI를 배포와 연결합니다. OAI를 사용하면 CloudFront를 우회하여 S3 버킷에서 직접 비디오를 가져올 수 없도록 할 수 있습니다. CloudFront OAI만 S3 버킷의 파일에 액세스할 수 있습니다. 자세한 내용은 Amazon CloudFront 개발자 안내서OAI를 사용하여 Amazon S3 콘텐츠에 대한 액세스 제한 단원을 참조하십시오.

CloudFront OAI를 생성하려면
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 왼쪽 탐색 창의 보안 섹션에서 오리진 액세스를 선택합니다.

  3. 자격 증명 탭에서 오리진 액세스 ID 생성을 선택합니다.

  4. 새로운 원본 액세스 ID에 이름을 입력합니다(예: S3-OAI).

  5. 생성(Create)을 선택합니다.

4단계: CloudFront 배포 생성

CloudFront를 사용하여 S3 버킷에서 비디오를 제공하고 배포하려면 CloudFront 배포를 생성해야 합니다.

CloudFront 배포를 생성합니다.

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 배포를 선택합니다.

  3. Create Distribution(배포 생성)을 선택합니다.

  4. 원본 섹션의 원본 도메인에서, 1단계에서 생성한 S3 버킷의 이름으로 시작하는 S3 원본의 도메인 이름을 선택합니다(예: tutorial-bucket).

  5. 원본 액세스에서 레거시 액세스 ID를 선택합니다.

  6. 원본 액세스 ID에서, 3단계에서 생성한 원본 액세스 ID를 선택합니다(예: S3-OAI).

  7. 버킷 정책(Bucket policy)에서, 예, 버킷 정책을 업데이트합니다(Yes, update the bucket policy)를 선택합니다.

  8. 기본 캐시 동작 섹션의 뷰어 프로토콜 정책에서 HTTP를 HTTPS로 리디렉션을 선택합니다.

    이 기능을 선택하는 경우, 웹 사이트를 보호하고 뷰어의 데이터를 보호하기 위해 HTTP 요청이 자동으로 HTTPS로 리디렉션됩니다.

  9. 기본 캐시 동작 섹션의 기타 설정은 기본값을 유지하십시오.

    (선택 사항) CloudFront에서 다른 요청을 원본에 전달하기 전에 파일을 CloudFront 캐시에 보관하는 기간을 제어할 수 있습니다. 이 기간을 단축함으로써 동적 콘텐츠를 제공할 수 있습니다. 이 기간이 늘어나면 파일이 엣지 캐시에서 바로 제공될 가능성이 높으므로 뷰어에게 제공되는 성능이 향상됩니다. 보관 기간이 늘어나면 오리진에 걸리는 부하 역시 줄어듭니다. 자세한 내용은 Amazon CloudFront 개발자 안내서콘텐츠가 엣지 캐시에 유지되는 기간 관리(만료)를 참조하십시오.

  10. 다른 섹션의 경우 나머지 설정을 기본값으로 유지합니다.

    다양한 옵션에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서배포의 생성 또는 업데이트 시 지정하는 값을 참조하십시오.

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

  12. CloudFront 배포에 대한 일반 탭의 세부 정보에서, 배포에 대한 마지막 수정 날짜 열 값이 배포 중에서 배포가 마지막으로 수정된 타임스탬프로 변경됩니다. 이 작업은 일반적으로 몇 분 정도 걸립니다.

버킷 정책 검토

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

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. 버킷목록에서, 이전에 CloudFront 배포의 원본으로 사용한 버킷의 이름을 선택합니다(예: tutorial-bucket).

  4. 권한 탭을 선택합니다.

  5. 버킷 정책 섹션에서 버킷 정책 텍스트 상자에 다음과 비슷한 문이 표시되는지 확인합니다.

    { "Version": "2008-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity EH1HDMB1FH2TC" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::tutorial-bucket/*" } ] }

    이는 이전에 예, 버킷 정책을 업데이트합니다를 선택했을 때CloudFront 배포가 버킷 정책에 추가한 문입니다.

    이 버킷 정책 업데이트는 S3 버킷에 대한 액세스를 제한하도록 CloudFront 배포를 성공적으로 구성했음을 나타냅니다. 이러한 제한으로 인해 CloudFront 배포를 통해서만 버킷의 객체에 액세스할 수 있습니다.

5단계: CloudFront 배포를 통해 비디오에 액세스

이제 CloudFront는 S3 버킷에 저장된 비디오를 제공할 수 있습니다. CloudFront를 통해 비디오에 액세스하려면 CloudFront 배포 도메인 이름을 S3 버킷의 비디오 경로와 결합해야 합니다.

CloudFront 배포 도메인 이름을 사용하여 S3 비디오에 대한 URL을 생성하려면
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 배포를 선택합니다.

  3. 배포 도메인 이름을 가져오려면 다음을 수행합니다.

    1. 원본 열에서, 1단계에서 생성한 S3 버킷으로 시작되는 원본 이름을 찾아 올바른 CloudFront 배포를 찾습니다(예: tutorial-bucket).

    2. 목록에서 배포를 찾은 후 도메인 이름 열을 확장하여 CloudFront 배포의 도메인 이름 값을 복사합니다.

  4. 새 브라우저 탭에서, 복사한 배포 도메인 이름을 붙여 넣습니다.

  5. 이전 브라우저 탭으로 돌아가 https://console.aws.amazon.com/s3/에서 S3 콘솔을 엽니다.

  6. 왼쪽 탐색 창에서 버킷을 선택합니다.

  7. 버킷(Buckets) 목록에서, 1단계에서 생성한 버킷의 이름을 선택합니다(예: tutorial-bucket).

  8. 객체 목록에서, 2단계에서 업로드한 비디오의 이름을 선택합니다(예: sample.mp4).

  9. 객체 세부 정보 페이지의 객체 개요 섹션에서 값을 복사합니다. 이 값은 S3 버킷에서 업로드된 비디오 객체로의 경로입니다.

  10. 이전에 배포 도메인 이름을 붙여 넣은 브라우저 탭으로 돌아가서 배포 도메인 이름 뒤에 사선(/)을 입력한 다음, 앞서 복사한 비디오로의 경로를 붙여 넣습니다(예: sample.mp4).

    이제 S3 비디오가 다음과 유사한 URL에서 CloudFront를 통해 공개적으로 액세스되고 호스팅됩니다.

    https://CloudFront distribution domain name/Path to the S3 video

    CloudFront 배포 도메인 이름S3 비디오로의 경로를 적절한 값으로 바꿉니다. 예제 URL은 https://d111111abcdef8.cloudfront.net/sample.mp4입니다.

6단계: 사용자 지정 도메인 이름을 사용하도록 CloudFront 배포 구성

URL에서 CloudFront 도메인 이름 대신에 고유의 도메인 이름을 사용하여 S3 비디오에 액세스하려면, 대체 도메인 이름을 CloudFront 배포에 추가합니다.

SSL 인증서 요청

뷰어가 동영상 비디오 스트리밍용 URL에 HTTPS 및 사용자 지정 도메인 이름을 사용할 수 있도록 하려면 AWS Certificate Manager(ACM)을(를) 사용하여 보안 소켓 계층(SSL) 인증서를 요청합니다. SSL 인증서는 웹 사이트에 대한 암호화된 네트워크 연결을 설정합니다.

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

  2. 소개 페이지가 나타나면 인증서 프로비저닝(Provision certificates)에서 시작하기(Get Started)를 선택합니다.

  3. 인증서 요청 페이지에서 퍼블릭 인증서 요청을 선택한 후 인증서 요청을 선택합니다.

  4. 도메인 이름 추가 페이지에서 SSL/TLS 인증서로 보안을 설정할 사이트의 정규화된 도메인 이름(FQDN)을 입력합니다. 별표(*)를 사용하여 같은 도메인 내의 여러 사이트를 보호하는 와일드카드 인증서를 요청할 수 있습니다. 이 자습서에서는 *사전 조건에서 구성한 사용자 지정 도메인 이름을 입력합니다. 이 예제의 경우 *.example.com을 입력한 다음 다음을 선택합니다.

    자세한 내용은 AWS Certificate Manager 사용 설명서ACM 퍼블릭 인증서를 요청하려면(콘솔)을 참조하십시오.

  5. 검증 방법 선택(Select validation method) 페이지에서 DNS 검증(DNS validation)을 선택합니다. 그리고 다음을 선택합니다.

    사용자 DNS 환경 설정을 편집할 수 있다면, 이메일 검증보다는 DNS 검증을 사용하는 것을 권장합니다. DNS 검증은 이메일 검증에 비해 다양한 이점이 있습니다. 자세한 내용은 AWS Certificate Manager 사용 설명서옵션 1: DNS 유효성 검사 단원을 참조하십시오.

  6. (선택 사항) 태그 추가 페이지에서 인증서에 메타데이터로 태그를 지정할 수 있습니다.

  7. 검토를 선택합니다.

  8. 검토 페이지에서 도메인 이름메서드 검증의 정보가 올바른지 확인합니다. 그런 다음 확인 및 요청(Confirm and request)을 선택합니다.

    검증 페이지에서는 요청이 처리 중이며 인증서 도메인이 검증되고 있음을 보여줍니다. 검증 대기 중인 인증서는 검증 보류(Pending validation) 상태입니다.

  9. 검증 페이지에서 사용자 지정 도메인 이름의 왼쪽에 있는 아래쪽 화살표를 선택한 후 Route 53에서 레코드 생성을 선택하여 DNS를 통해 도메인 소유권을 검증합니다.

    그러면 AWS Certificate Manager에서 제공하는 CNAME 레코드가 DNS 구성에 추가됩니다.

  10. Route 53에서 레코드 생성(Create record in Route 53) 대화 상자에서 생성(Create)을 선택합니다.

    검증 페이지의 하단에 성공이라는 상태 알림이 표시되어야 합니다.

  11. 계속(Continue)을 선택하여 인증서(Certificates) 목록 페이지를 확인합니다.

    새 인증서에 대한 상태가 30분 이내에 검증 보류에서 발급 완료로 변경됩니다.

CloudFront 배포에 대체 도메인 이름을 추가합니다.

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 배포를 선택합니다.

  3. 4단계에서 생성한 배포의 ID를 선택합니다.

  4. 일반탭에서 설정섹션으로 이동하고 편집을 선택합니다.

  5. 설정 편집 페이지에서 대체 도메인 이름(CNAME) - 선택 사항의 경우, 항목 추가를 선택하여 이 CloudFront 배포에서 제공하는 S3 비디오의 URL에 사용하려는 사용자 지정 도메인 이름을 추가합니다.

    이 자습서에서는 예를 들어 하위 도메인(예: www.example.com)에 대한 트래픽을 라우팅하려는 경우 도메인 이름(example.com)과 함께 하위 도메인 이름(www)을 입력합니다. 구체적으로 www.example.com을 입력합니다.

    참고

    추가하는 대체 도메인 이름(CNAME)은 이전에 CloudFront 배포에 연결한 SSL 인증서의 적용을 받아야 합니다.

  6. 사용자 지정 SSL 인증서 - 선택 사항의 경우 이전에 요청한 SSL 인증서를 선택합니다(예: *.example.com).

    참고

    SSL 인증서를 요청한 직후에 인증서가 표시되지 않으면 인증서를 선택할 수 있을 때까지 30분간 기다린 다음 목록을 새로 고칩니다.

  7. 나머지 설정은 기본값으로 유지합니다. Save changes(변경 사항 저장)를 선택합니다.

  8. 해당 배포에 대한 일반 탭에서, 마지막 수정 날짜 값이 배포 중에서 배포가 마지막으로 수정된 타임스탬프로 변경될 때까지 기다립니다.

대체 도메인 이름에서 트래픽을 CloudFront 배포의 도메인 이름으로 라우팅하는 DNS 레코드를 생성합니다.

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

  2. 왼쪽 탐색 창에서 Hosted Zones(호스팅 영역)를 선택합니다.

  3. 호스팅 영역 페이지에서, 사전 조건에서 Route 53가 생성한 호스팅 영역의 이름을 선택합니다(예: example.com).

  4. 레코드 생성을 선택한 다음 빠른 레코드 생성 메서드를 사용합니다.

  5. 레코드 이름의 경우 레코드 이름의 값을 이전에 추가한 CloudFront 배포의 대체 도메인 이름과 동일하게 유지합니다.

    이 자습서에서는 하위 도메인(예: www.example.com)에 대한 트래픽을 라우팅하기 위해 도메인 이름 없이 하위 도메인 이름을 입력합니다. 예를 들어, 사용자 지정 도메인 이름 앞의 텍스트 필드에 www를 입력합니다.

  6. 레코드 유형(Record type)에서 A - IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅(A ‐ Routes traffic to an IPv4 address and some AWS resource)을 선택합니다.

  7. 에서 별칭 리소스를 활성화하기 위해 별칭 토글을 선택합니다.

  8. 다음으로 트래픽 라우팅의 드롭다운 목록에서 CloudFront 배포에 대한 별칭을 선택합니다.

  9. 배포 선택이라는 검색 상자에서, 4단계에서 생성한 CloudFront 배포의 도메인 이름을 선택합니다.

    CloudFront 배포의 도메인 이름을 찾으려면 다음을 수행합니다.

    1. 새 브라우저 탭에서 AWS Management Console에 로그인한 후 https://console.aws.amazon.com/cloudfront/v3/home에서 CloudFront 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 배포를 선택합니다.

    3. 원본 열에서, 1단계에서 생성한 S3 버킷으로 시작되는 원본 이름을 찾아 올바른 CloudFront 배포를 찾습니다(예: tutorial-bucket).

    4. 목록에서 배포를 찾은 후 도메인 이름 열을 확장하여 CloudFront 배포의 도메인 이름 값을 확인합니다.

  10. Route 53 콘솔의 레코드 생성 페이지에서 나머지 설정은 기본값을 유지합니다.

  11. 레코드 생성을 선택합니다.

배포에 대해 IPv6이 활성화되어 있는지 확인하고, 필요한 경우 다른 DNS 레코드를 만듭니다.

배포에 대해 IPv6이 활성화되어 있다면 다른 DNS 레코드를 만들어야 합니다.

  1. 배포에 대해 IPv6이 활성화되어 있는지 확인하려면 다음을 수행합니다.

    1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 배포를 선택합니다.

    3. 4단계에서 생성한 CloudFront 배포의 ID를 선택합니다.

    4. 일반 탭의 설정에서, IPv6활성화됨으로 설정되어 있는지 확인합니다.

      배포에 대해 IPv6이 활성화되어 있다면 다른 DNS 레코드를 만들어야 합니다.

  2. 배포에 대해 IPv6이 활성화되어 있다면 다음을 수행하여 다른 DNS 레코드를 만들어야 합니다.

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

    2. 왼쪽 탐색 창에서 Hosted Zones(호스팅 영역)를 선택합니다.

    3. 호스팅 영역 페이지에서, 사전 조건에서 Route 53가 생성한 호스팅 영역의 이름을 선택합니다(예: example.com).

    4. 레코드 생성을 선택한 다음 빠른 레코드 생성 메서드를 사용합니다.

    5. 레코드 이름의 경우, 사용자 지정 도메인 이름 앞의 텍스트 필드에서 이전에 IPv4 DNS 레코드를 생성했을 때 입력한 것과 동일한 값을 입력합니다. 예를 들어 이 자습서에서는 하위 도메인 www.example.com의 트래픽을 라우팅하기 위해 www만 입력합니다.

    6. 레코드 유형(Record type)에서 AAAA - IPv6 주소 및 일부 AWS 리소스로 트래픽 라우팅(AAAA ‐ Routes traffic to an IPv6 address and some AWS resource)을 선택합니다.

    7. 에서 별칭 리소스를 활성화하기 위해 별칭 토글을 선택합니다.

    8. 다음으로 트래픽 라우팅의 드롭다운 목록에서 CloudFront 배포에 대한 별칭을 선택합니다.

    9. 배포 선택이라는 검색 상자에서, 4단계에서 생성한 CloudFront 배포의 도메인 이름을 선택합니다.

    10. 나머지 설정은 기본값으로 유지합니다.

    11. 레코드 생성을 선택합니다.

7단계: 사용자 지정 도메인 이름을 사용하여 CloudFront 배포를 통해 S3 비디오에 액세스

사용자 지정 URL을 사용하여 S3 비디오에 액세스하려면 대체 도메인 이름을 S3 버킷의 비디오 경로와 결합해야 합니다.

CloudFront 배포를 통해 S3 비디오에 액세스하기 위한 사용자 지정 URL을 생성하려면
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 배포를 선택합니다.

  3. CloudFront 배포의 대체 도메인 이름을 가져오려면 다음을 수행합니다.

    1. 원본 열에서, 1단계에서 생성한 버킷의 S3 버킷 이름으로 시작되는 원본 이름을 찾아 CloudFront 배포를 찾고 수정합니다(예: tutorial-bucket).

    2. 목록에서 배포를 찾은 후 대체 도메인 이름 열을 확장하여 CloudFront 배포의 대체 도메인 이름 값을 복사합니다.

  4. 새 브라우저 탭에서, CloudFront 배포의 대체 도메인 이름을 붙여 넣습니다.

  5. 이전 브라우저 탭으로 돌아가 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  6. 5단계에서 설명하는 S3 비디오의 경로를 찾습니다.

  7. 이전에 대체 도메인 이름을 붙여 넣은 브라우저 탭으로 돌아가서 사선(/)를 입력하고 S3 비디오의 경로를 붙여 넣습니다(예: sample.mp4).

    이제 S3 비디오가 다음과 유사한 사용자 지정 URL에서 CloudFront를 통해 공개적으로 액세스되고 호스팅됩니다.

    https://CloudFront distribution alternate domain name/Path to the S3 video

    CloudFront 배포 대체 도메인 이름S3 비디오 경로를 적절한 값으로 바꿉니다. 예제 URL은 https://www.example.com/sample.mp4입니다.

8단계: CloudFront 배포에서 수신한 요청에 대한 데이터 보기(선택 사항)

8단계: CloudFront 배포에서 수신한 요청에 대한 데이터를 보려면
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 왼쪽 탐색 창의 보고서 및 분석에서, 캐시 통계, 인기 객체, 상위 참조자, 사용량뷰어의 범위에서 콘솔의 보고서를 선택합니다.

    각 보고서 대시보드를 필터링할 수 있습니다. 자세한 내용은 Amazon CloudFront 개발자 안내서에서 콘솔의 CloudFront 보고서를 참조하십시오.

  3. 데이터를 필터링하려면 4단계에서 생성한 CloudFront 배포의 ID를 선택합니다.

9단계: 정리

CloudFront 및 Route 53을 학습 연습으로만 사용하여 S3 스트리밍 비디오를 호스팅한 경우 더 이상 요금이 발생하지 않도록 할당한 AWS 리소스를 삭제합니다.

참고

도메인을 등록하면 즉시 비용이 청구되며, 이는 취소할 수 없습니다. 도메인을 자동 갱신하지 않도록 선택할 수 있지만, 선불로 비용을 지불하며 1년 동안 소유합니다. 자세한 내용은 Amazon Route 53 개발자 안내서새 도메인 등록을 참조하십시오.

CloudFront 배포 삭제

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 배포를 선택합니다.

  3. 원본 열에서, 1단계에서 생성한 버킷의 S3 버킷 이름으로 시작되는 원본 이름을 찾아 CloudFront 배포를 찾고 수정합니다(예: tutorial-bucket).

  4. CloudFront 배포를 삭제하려면 먼저 배포를 비활성화해야 합니다.

    • 상태 열 값이 활성화됨이고 마지막 수정 날짜 값이 배포가 마지막으로 수정되었을 때의 타임스탬프이면 삭제하기 전에 배포를 비활성화합니다.

    • 상태 값이 활성화됨이고 마지막 수정 날짜 값이 배포 중이면 상태 값이 배포가 마지막으로 수정되었을 때의 타임스탬프로 변경될 때까지 기다립니다. 그런 다음 삭제하기 전에 배포를 비활성화합니다.

  5. CloudFront 배포를 비활성화하려면 다음을 수행합니다.

    1. 배포 목록에서 삭제할 배포에 대한 ID 옆의 확인란을 선택합니다.

    2. 배포를 비활성화하려면 비활성화를 선택한 후 비활성화를 선택하여 확인합니다.

      대체 도메인 이름이 연결된 배포를 비활성화하면, 동일한 도메인과 일치하는 와일드카드(*)가 있는 대체 도메인 이름(예: *.example.com)이 다른 배포에 있더라도 CloudFront가 해당 도메인 이름(예: www.example.com)에 대한 트래픽 수신을 중지합니다.

    3. 상태(Status) 값이 비활성화됨(Disabled)으로 즉시 변경됩니다. 마지막 수정 날짜 값이 배포 중에서 배포가 마지막으로 수정된 타임스탬프로 변경될 때까지 기다립니다.

      CloudFront는 이 변경 사항을 모든 엣지 로케이션에 전파해야 하므로, 업데이트가 완료되어 배포를 삭제할 수 있는 삭제(Delete) 옵션이 사용 가능해질 때까지 몇 분이 걸릴 수 있습니다.

  6. 비활성화된 배포를 삭제하려면 다음을 수행합니다.

    1. 삭제하려는 배포의 ID 옆 확인란을 선택합니다.

    2. 삭제를 선택한 후 삭제를 선택하여 확인합니다.

DNS 레코드 삭제

도메인의 퍼블릭 호스팅 영역(DNS 레코드 포함)을 삭제하려면 Amazon Route 53 개발자 안내서사용자 지정 도메인의 퍼블릭 호스팅 영역 삭제를 참조하십시오. 6단계에서 생성한 DNS 레코드만 삭제하려면 다음을 수행합니다.

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

  2. 왼쪽 탐색 창에서 Hosted Zones(호스팅 영역)를 선택합니다.

  3. 호스팅 영역 페이지에서, 사전 조건에서 Route 53이 생성한 호스팅 영역의 이름을 선택합니다(예: example.com).

  4. 레코드 목록에서, 삭제하려는 레코드(6단계에서 생성한 레코드) 옆의 확인란을 선택합니다.

    참고

    유형 값이 NS 또는 SOA인 레코드는 삭제할 수 없습니다.

  5. 레코드 삭제(Delete record)를 선택합니다.

  6. 삭제를 확인하려면 삭제를 선택합니다.

    레코드 변경 내용이 Route 53 DNS 서버로 전파되려면 시간이 걸립니다. 현재 변경 사항의 전파 여부를 확인하는 유일한 방법은 GetChange API 작업을 사용하는 것입니다. 변경 사항은 일반적으로 60초 이내에 모든 Route 53 이름 서버로 전파됩니다.

사용자 지정 도메인의 퍼블릭 호스팅 영역 삭제

주의

도메인 등록을 유지하면서 웹 사이트 또는 웹 애플리케이션으로 인터넷 트래픽이 라우팅되는 것을 중지하려면, 호스팅 영역을 삭제하는 대신 호스팅 영역에서 레코드를 삭제하는 것이 좋습니다(이전 섹션에 설명됨).

호스팅 영역을 삭제하면 다른 사람이 이 도메인을 사용할 수 있으며 사용자의 도메인 이름을 사용하여 트래픽을 그들의 리소스로 라우팅할 수 있습니다.

또한 호스팅 영역을 삭제하면 삭제를 취소할 수 없습니다. 새 호스팅 영역을 만들고 도메인 등록을 위한 이름 서버를 업데이트해야 합니다. 도메인 등록은 효력이 발생하려면 최대 48시간이 걸립니다.

도메인을 인터넷에서 사용 불가능하게 만들려면 먼저 DNS 서비스를 무료 DNS 서비스로 이전한 후 Route 53 호스팅 영역을 삭제합니다. 이렇게 하면 이후의 DNS 쿼리가 잘못 라우팅되지 않도록 할 수 있습니다.

  1. 도메인이 Route 53에 등록되어 있는 경우 Route 53 이름 서버를 새로운 DNS 서비스의 이름 서버로 바꾸는 방법은 Amazon Route 53 개발자 안내서도메인의 이름 서버 및 글루 레코드 추가 또는 변경을 참조하십시오.

  2. 도메인이 다른 등록 대행자에 등록되어 있는 경우 등록 대행자가 제공한 방법을 사용하여 도메인에 대한 이름 서버를 변경하십시오.

참고

하위 도메인(www.example.com)의 호스팅 영역을 삭제하는 경우에는 도메인(example.com)의 이름 서버를 변경할 필요가 없습니다.

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

  2. 왼쪽 탐색 창에서 Hosted Zones(호스팅 영역)를 선택합니다.

  3. 호스팅 영역(Hosted zones) 페이지에서, 삭제할 호스팅 영역의 이름을 선택합니다.

  4. 호스팅 영역의 레코드(Records) 탭에서, 삭제할 호스팅 영역에 NSSOA레코드만 포함되어 있는지 확인합니다.

    추가 레코드가 있는 경우 먼저 삭제합니다.

    호스팅 영역의 하위 도메인에 대한 NS 레코드를 생성한 경우, 해당 레코드 역시 삭제합니다.

  5. 호스팅 영역의 DNSSEC 서명(DNSSEC signing) 탭에서 DNNSSEC 서명을 활성화한 경우 비활성화합니다. 자세한 내용은 Amazon Route 53 개발자 안내서DNSSEC 서명 비활성화를 참조하십시오.

  6. 호스팅 영역의 세부 정보 페이지 상단에서 영역 삭제를 선택합니다.

  7. 삭제를 확인하려면 delete을(를) 입력한 후 삭제를 선택합니다.

Route 53에서 사용자 지정 도메인 이름 삭제

TLD(최상위 도메인)에 대해 등록을 더 이상 원하지 않는 경우 등록을 삭제할 수 있습니다. 등록이 만료되기 전에 Route 53에서 도메인 이름 등록을 삭제할 경우 AWS에서는 등록 요금을 환불하지 않습니다. 자세한 내용은 Amazon Route 53 개발자 가이드도메인 이름 등록 삭제를 참조하십시오.

중요

AWS 계정 간에 도메인을 이전하거나 도메인을 다른 등록 대행사로 이전하려는 경우 도메인을 삭제해서 즉시 재등록하려고 하지 마십시오. 대신 Amazon Route 53 개발자 가이드의 해당 문서를 참조하십시오.

S3 소스 버킷의 원본 비디오 삭제

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

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. 버킷 이름 목록에서, 2단계에서 동영상을 업로드한 버킷의 이름을 선택합니다(예: tutorial-bucket).

  4. 객체 탭에서 삭제하려는 객체의 이름 옆에 있는 확인란을 선택합니다(예: sample.mp4).

  5. 삭제를 선택합니다.

  6. 객체를 영구적으로 삭제하시겠습니까?에서 permanently delete를 입력하여 객체를 삭제할 것인지 확인합니다.

  7. 객체 삭제를 선택합니다.

S3 소스 버킷 삭제

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

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. 버킷 목록에서, 1단계에서 생성한 버킷의 이름 옆에 있는 옵션 버튼을 선택합니다(예: tutorial-bucket).

  4. 삭제를 선택합니다.

  5. 버킷 삭제(Delete bucket) 페이지의 텍스트 필드에 버킷 이름을 입력하여 버킷의 삭제 여부를 확인한 다음 버킷 삭제(Delete bucket)를 선택합니다.

다음 단계

이 자습서를 완료한 후에는 다음과 같은 관련 사용 사례를 더 자세히 탐색할 수 있습니다.