일반

Q: Amazon CloudFront란 무엇입니까?

Amazon CloudFront는 비즈니스 및 웹 애플리케이션 개발자에게 짧은 지연 시간과 빠른 데이터 전송 속도를 사용하여 콘텐츠를 간편하고 비용 효율적으로 배포할 방법을 제공합니다. 모든 AWS 인프라 서비스와 마찬가지로 Amazon CloudFront는 장기 약정 또는 최소 요금이 필요 없고 사용량에 따라 지불하는 셀프 서비스입니다. CloudFront를 사용하면 엣지 로케이션의 글로벌 네트워크를 사용해 최종 사용자에게 파일이 전송됩니다.

Q: Amazon CloudFront로 할 수 있는 작업은 무엇입니까?

Amazon CloudFront는 다음과 같은 작업을 할 수 있는 간단한 API를 제공합니다.

  • 전 세계에 있는 엣지 로케이션의 네트워크를 사용해 요청을 처리하여 짧은 지연 시간과 빠른 데이터 전송 속도로 콘텐츠를 배포합니다.
  • 계약 및 최소 약정 없이 시작할 수 있습니다.

Q: Amazon CloudFront를 시작하려면 어떻게 해야 합니까?

Amazon CloudFront 세부 정보 페이지에서 [무료 계정 생성] 버튼을 클릭하십시오. Amazon CloudFront를 통해 제공되는 파일의 오리진으로 다른 AWS 서비스를 선택할 경우 CloudFront 배포를 생성하기 전에 해당 서비스에 가입해야 합니다.

Q: Amazon CloudFront를 사용하려면 어떻게 해야 합니까?

Amazon CloudFront를 사용하려면 다음을 수행합니다.

  • 정적 파일의 경우 파일의 가장 신뢰할 수 있는 버전을 하나 이상의 오리진 서버에 저장합니다. 이는 Amazon S3 버킷이 될 수 있습니다. 개인화 또는 사용자 지정된 동적 생성 콘텐츠의 경우 Amazon EC2 또는 다른 웹 서버를 오리진 서버로 사용할 수 있습니다. 이들 오리진 서버는 Amazon CloudFront를 통해 배포될 사용자 콘텐츠를 저장하거나 생성합니다.
  • 간단한 API 호출을 통해 Amazon CloudFront에 오리진 서버를 등록합니다. 이 호출은 Amazon CloudFront 서비스를 통해 오리진 서버에서 배포하는 데 사용할 수 있는 CloudFront.net 도메인 이름을 반환합니다. 예를 들어 Amazon S3 버킷 “bucketname.s3.amazonaws.com”을 모든 사용자 정적 콘텐츠의 오리진으로 등록하고 Amazon EC2 인스턴스 “dynamic.myoriginserver.com”을 모든 동적 콘텐츠에 대해 등록할 수 있습니다. 그러면 API 또는 AWS Management Console을 사용하여 배포 도메인 이름으로 “abc123.cloudfront.net”을 반환할 Amazon CloudFront 배포를 만들 수 있습니다.
  • cloudfront.net 도메인 이름 또는 웹 애플리케이션, 미디어 플레이어 또는 웹 사이트에서 만든 CNAME 별칭을 포함합니다. cloudfront.net 도메인 이름(또는 CNAME)을 사용한 각 요청은 최고의 성능으로 콘텐츠를 전송하기에 적합한 엣지 로케이션로 라우팅되고 해당 엣지 로케이션에서는 파일의 로컬 사본을 사용해 요청을 처리합니다. 로컬 사본을 사용할 수 없는 경우, Amazon CloudFront가 오리진에서 사본을 받게 됩니다. 그러면 이후에 발생하는 요청의 엣지 로케이션에서 이 사본을 사용할 수 있습니다.

Q: Amazon CloudFront는 어떻게 더 높은 성능을 제공합니까?

Amazon CloudFront는 엣지 로케이션과 리전별 엣지 캐시로 구성된 글로벌 네트워크를 통해 콘텐츠 사본을 최종 사용자에게 가깝게 캐싱합니다. Amazon CloudFront는 사용자와 가장 가까운 엣지 로케이션에서 최종 사용자 요청이 처리되도록 보장합니다. 그 결과 최종 사용자 요청이 전송되는 거리가 짧아져서 최종 사용자에 대한 성능이 향상됩니다. 엣지 로케이션과 리전 엣지 캐시에 캐시되지 않은 파일의 경우 Amazon CloudFront는 오리진 서버와 지속적인 연결을 유지하여 해당 파일을 가능한 한 빨리 오리진 서버에서 가져올 수 있습니다. 마지막으로 Amazon CloudFront는 추가적인 최적화 도구(예: TCP initial congestion window 확장)를 사용하여 콘텐츠를 최종 사용자에게 전달하는 동안 보다 나은 성능을 제공합니다.

Q: Amazon CloudFront가 인터넷을 통해 콘텐츠를 배포하는 비용을 줄일 수 있는 방법은 무엇입니까?

다른 AWS 서비스와 마찬가지로 Amazon CloudFront는 최소 약정이 없으며 사용한 만큼만 비용을 지불합니다. 직접 파일을 호스팅하는 경우에 비해 Amazon CloudFront는 인터넷의 여러 사이트에서 캐시 서버의 네트워크를 운영하는 데 따르는 비용과 복잡성을 줄여주며 잠재적 트래픽 스파이크 문제를 처리하기 위해 용량을 과도하게 프로비저닝해야 할 필요가 없습니다. 또한 Amazon CloudFront는 엣지 로케이션에서 동일 파일에 대한 동시다발적인 최종 사용자 요청을 오리진 서버에 대한 단일 요청으로 축소하는 등의 기술을 사용합니다. 이렇게 하면 오리진 인프라 확장 요구를 줄이면서 오리진 서버의 로드를 줄이며 더 나아가 비용 절감의 효과를 누릴 수 있습니다.

또한, AWS 오리진(Amazon S3, Amazon EC2 등)을 사용 중인 경우, 2014년 12월 1일을 기해 Amazon CloudFront로 전송되는 AWS 데이터에 대해 더는 전송 비용이 부과되지 않습니다. 이는 모든 AWS 리전에서 모든 글로벌 CloudFront 엣지 로케이션으로의 데이터 전송에 적용됩니다.

Q: Amazon CloudFront는 어떻게 나의 전체 웹 사이트 속도를 높입니까?

Amazon CloudFront는 사용자가 설정한 표준 캐시 제어 헤더를 사용하여 정적 및 동적 콘텐츠를 식별합니다. 단일 Amazon CloudFront 배포를 사용하여 모든 콘텐츠를 전송하면 성능 최적화가 사용자의 전체 웹 사이트 또는 웹 애플리케이션에 적용되도록 할 수 있습니다. AWS 오리진을 사용하면 오리진 경로를 추적 및 조정하고, 시스템 상태를 모니터링하며, 문제 발생 시 신속하게 응답할 수 있는 AWS 기능에서 비롯된 향상된 성능, 안정성 및 사용 편의성, 그리고 Amazon CloudFront와 다른 AWS 서비스의 통합이라는 이점을 누릴 수 있습니다. 또한 정적 개체에 대해서는 Amazon S3, 동적 콘텐츠에 대해서는 Amazon EC2, 타사 콘텐츠에 대해서는 맞춤형 오리진을 사용하는 등 단일 사이트에서 다양한 유형의 콘텐츠에 대해 서로 다른 오리진을 사용하는 이점을 누릴 수 있으며 요금은 사용한 만큼만 지불하면 됩니다.

Q: Amazon CloudFront는 Amazon S3와 어떻게 다릅니까?

Amazon CloudFront는 인기 웹 사이트 이미지, 비디오, 미디어 파일, 소프트웨어 다운로드 등 엣지 전송의 이점을 활용할 수 있고 액세스 빈도가 높은 정적 콘텐츠를 배포하는 데 적합합니다.

Q: Amazon CloudFront는 기존의 콘텐츠 전송 솔루션과 어떻게 다릅니까?

Amazon CloudFront를 사용하면 계약이나 높은 가격에 대한 부담 없이 고성능 콘텐츠 전송의 이점을 빠르게 확보할 수 있습니다. Amazon CloudFront는 모든 개발자가 셀프 서비스 모델을 통해 저렴하고 사용량에 따라 지불하는 요금제에 액세스할 수 있도록 지원합니다. 이 외에도 개발자는 다른 Amazon Web Services와 긴밀하게 통합하는 이점을 얻을 수 있습니다. 이 솔루션에서는 Amazon S3, Amazon EC2 및 Elastic Load Balancing을 간편하게 오리진 서버로 사용할 수 있으며, 개발자는 이를 통해 내구성 높은 스토리지와 고성능 전송의 이점을 동시에 누릴 수 있습니다. 또한, Amazon CloudFront를 Amazon Route 53 및 AWS CloudFormation과 통합하면 손쉽게 구성할 수 있을 뿐만 아니라 더욱 뛰어난 성능 혜택을 누릴 수 있습니다.

Q: Amazon CloudFront는 어떤 유형의 콘텐츠를 지원합니까?

Amazon CloudFront는 HTTP 또는 WebSocket 프로토콜을 사용해 전송할 수 있는 콘텐츠를 지원합니다. 여기에는 HTML 또는 PHP 페이지와 같은 동적 웹페이지와 애플리케이션, 또는 WebSocket 기반 애플리케이션이 포함되며 웹사이트 이미지, 오디오, 비디오, 미디어 파일 또는 소프트웨어 다운로드와 같이 웹 애플리케이션의 일부를 이루는 보편적인 정적 파일도 모두 포함됩니다. 또한, Amazon CloudFront는 HTTP를 통한 라이브 또는 온디맨드 미디어 스트리밍 전송을 지원합니다.

Q: Amazon CloudFront는 비 AWS 오리진 서버와 연동됩니까?

예. Amazon CloudFront는 원본 및 최종 콘텐츠 버전(정적 및 동적)을 보유하고있는 모든 오리진 서버와 연동됩니다. 사용자 지정 오리진을 사용하는 데 추가 비용이 부과되지 않습니다.

Q: Amazon CloudFront는 어떻게 오리진 중복성을 활성화합니까?

CloudFront 배포에 오리진을 추가할 때마다 백업 오리진을 할당하여 기본 오리진을 이용할 수 없는 경우 자동으로 트래픽을 처리하는 데 사용하도록 조처할 수 있습니다. HTTP 4xx/5xx 상태 코드를 조합하여 선택하면 되는데, 이것은 기본 오리진에서 반환되면 백업 오리진에 대하여 장애 조치를 트리거합니다. 두 개의 오리진은 AWS 오리진과 AWS 외 오리진의 모든 조합일 수 있습니다.

Q: Amazon CloudFront는 서비스 수준 계약(SLA)을 제공합니까?

예. Amazon CloudFront SLA는 요금 청구 시 고객의 월간 가동률이 Amazon이 요금 청구 주기에 약속한 서비스보다 낮을 경우 서비스 크레딧을 제공합니다. 자세한 내용은 여기에서 확인할 수 있습니다.

Q: AWS Management Console에서 Amazon CloudFront를 사용할 수 있습니까?

예. AWS Management Console의 간단한 포인트 앤 클릭 방식의 웹 인터페이스를 통해 Amazon CloudFront를 구성하고 관리할 수 있습니다. AWS Management Console은 Amazon CloudFront의 기능을 대부분 지원하므로 코드를 작성하나 소프트웨어를 설치하지 않고도 전송 지연 시간이 짧은 Amazon CloudFront를 활용할 수 있습니다. https://console.aws.amazon.com에서 무료로 AWS Management Console에 액세스할 수 있습니다.

Q: Amazon CloudFront와 함께 사용할 수 있는 도구와 라이브러리는 무엇입니까?

AWS 리소스 센터에서 다양한 프로그래밍 언어로 Amazon CloudFront 배포 및 라이브러리를 관리할 수 있는 여러 가지 도구를 이용할 수 있습니다.

Q: Zone Apex(example.com 대 www.example.com)를 Amazon CloudFront 배포에 지정할 수 있습니까?

예. AWS의 공신력 있는 DNS 서비스인 Amazon Route 53을 사용하여, DNS 이름의 최상위 또는 루트(example.com)를 Amazon CloudFront 배포에 매핑할 수 있는 '별칭' 레코드를 구성할 수 있습니다. 그러면 Amazon Route 53이 CloudFront 배포를 위한 올바른 IP 주소를 사용하여 별칭 레코드에 대한 각 요청에 응답합니다. Route 53은 CloudFront 배포에 매핑되어 있는 별칭 레코드에 대한 쿼리에 대해서는 비용을 청구하지 않습니다. 이 쿼리는 Amazon Route 53 사용 보고서에 "Intra-AWS-DNS-Queries"로 기재되어 있습니다.

엣지 로케이션

Q: Q: CloudFront 리전별 엣지 캐시란 무엇입니까?

CloudFront는 엣지 로케이션이라고 하는 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공합니다. 리전별 엣지 캐시는 최종 사용자에게 콘텐츠를 직접 제공하는 글로벌 엣지 로케이션과 오리진 웹 서버 사이에 위치해 있습니다. 이는 오리진 리소스의 확장에 따른 운영 부담 및 비용을 줄이는 동시에 최종 사용자의 성능을 높이는 데도 효과적입니다.

Q: 리전별 엣지 캐시는 어떻게 작동하나요?

Amazon CloudFront에는 전 세계에 분산되어 추가 캐시 계층을 제공하는 다수의 리전별 엣지 캐시(REC)가 있습니다. 리전별 엣지 캐시는 사용자에게 직접 콘텐츠를 제공하는 접속 지점(POP)과 애플리케이션 웹 서버 사이에 위치합니다. 캐시된 객체의 사용 빈도가 줄어들면 개별 엣지 로케이션에서 해당 객체를 제거하여 더 널리 사용되는 콘텐츠를 위한 공간을 확보할 수 있습니다. 리전별 엣지 캐시는 개별 엣지 로케이션보다 캐시 대역이 크기 때문에, 캐시에 객체를 더 오래 보관할 수 있습니다. 이를 통해 더 많은 콘텐츠를 최종 사용자와 가까운 거리가 유지할 수 있으므로 CloudFront가 오리진 웹서버로 돌아가야 할 필요성이 줄어들고 최종 사용자를 위한 전반적인 성능도 향상됩니다. 예를 들어, 이제 유럽의 CloudFront 엣지 로케이션은 오리진 웹 서버로 돌아가기 전에 프랑크푸르트의 리전별 엣지 캐시로 이동하여 객체를 가져옵니다. 리전별 엣지 캐시 로케이션은 S3, EC2 또는 사용자 지정 오리진과 같은 모든 오리진에서 사용할 수 있습니다. 애플리케이션 오리진을 현재 호스팅하는 리전에서는 REC를 건너뜁니다.

Q: 리전별 엣지 캐시 기능은 기본적으로 활성화됩니까?

예. 이 기능은 현재 신규 및 기존 CloudFront 배포에서 기본적으로 활성화되어 있으므로 CloudFront 배포를 변경할 필요는 없습니다. 이 기능을 사용하는 데 따른 추가 비용은 없습니다.

Q: Amazon CloudFront가 사용하는 엣지 네트워크 로케이션은 어디에 있습니까?

Amazon CloudFront는 엣지 로케이션과 리전별 엣지 캐시로 구성된 글로벌 네트워크를 이용해 콘텐츠를 전송합니다. 여기.에서 Amazon CloudFront 위치가 나와 있는 전체 목록을 확인할 수 있습니다.

Q: 지정된 국가로 콘텐츠를 전송하거나 전송하지 않도록 선택할 수 있습니까?

예. 지역 제한 기능을 사용하면 특정 국가의 사용자만 내 콘텐츠에 액세스하도록 지정할 수 있습니다. 또한, 특정 국가의 사용자가 내 콘텐츠에 액세스할 수 없도록 지정할 수도 있습니다. 어떤 방식을 사용하든 CloudFront는 제한된 국가에서 액세스를 요청한 최종 사용자에게 HTTP 상태 코드 403(금지됨)을 표시합니다.

Q: AWS의 GeoIP 데이터베이스는 얼마나 정확합니까?

국가/지역 검색 데이터베이스의 IP 주소 정확도는 지역에 따라 다릅니다. 최근에 진행한 테스트에 따르면 국가 매핑에 대한 IP 주소의 전반적인 정확도는 99.8%입니다.

Q: 오류 메시지를 내 최종 사용자에게 전송할 수 있습니까?

예. 다양한 HTTP 4xx 및 5xx 오류 응답을 위해 나만의 브랜드와 콘텐츠가 포함된 사용자 정의 오류 메시지(예: HTML 파일 또는 .jpg 그래픽)를 생성할 수 있습니다. 생성 후에는 오리진이 Amazon CloudFront에 지정된 오류 중 하나를 반환할 때 사용자 정의 오류 메시지를 반환하도록 CloudFront를 구성할 수 있습니다.

Q: Amazon CloudFront는 내 파일을 에지 로케이션에 얼마 동안 보관합니까?

캐시 제어 헤더를 설정하지 않으면, 기본적으로 각 엣지 로케이션은 해당 파일에 변경 사항이 있는지 오리진을 확인하고 24시간이 지나 업데이트 확인 요청을 받으면, 그때마다 파일에서 업데이트 사항을 확인합니다. 이 시간을 “만료 기간”이라고 합니다. 오리진의 파일에 캐시 제어 헤더를 설정하여 이 만료 기간을 최소 0초 또는 원하는 시간으로 설정할 수 있습니다. Amazon CloudFront는 이러한 캐시 제어 헤더를 사용하여 오리진에서 해당 파일의 업데이트된 버전이 있는지 확인해야 하는 빈도를 결정할 수 있습니다. 만료 기간이 0초로 설정된 경우 Amazon CloudFront는 모든 요청을 오리진 서버에서 다시 확인합니다. 파일이 빈번하게 변경되지 않을 경우 만료 기간을 길게 설정하고 버전 관리 시스템을 구현해 파일에 대한 업데이트를 관리하는 것이 좋습니다.

Q: Amazon CloudFront 엣지 로케이션에서 항목을 제거하려면 어떻게 해야 합니까?

엣지 로케이션에서 파일을 제거할 수 있는 여러 가지 옵션이 있습니다. 오리진에서 파일을 삭제해도 되고, 엣지 로케이션의 콘텐츠가 각 객체의 HTTP 헤더에 정의된 만료 기간에 도달하면 제거됩니다. 위험하거나 유해한 자료를 지정된 만료 기간 전에 제거해야 하는 경우 Invalidation API를 사용해 모든 Amazon CloudFront 엣지 로케이션에서 객체를 제거할 수 있습니다. 여기에서 무효화 요청에 대한 요금을 확인할 수 있습니다.

Q: 제출할 수 있는 무효화 요청 수에 제한이 있습니까?

개별적으로 객체를 무효화하는 경우 진행 중인 배포마다 한번에 최대 3,000개의 객체에 대한 무효화 요청을 제출할 수 있습니다. 최대 3,000개의 객체에 대한 무효화 요청 1회나 객체에 대한 최대 3,000개의 요청 또는 3,000개 객체를 초과하지 않는 선에서 이 둘을 조합하여 제출할 수 있습니다.

* 와일드카드를 사용하는 경우 진행 중인 경로에 대해 한 번에 최대 15개까지 무효화 요청을 할 수 있습니다. 진행 중인 배포마다 한번에 최대 3,000개의 개별 객체에 대한 무효화 요청이 가능합니다. 와일드카드 무효화 요청 제한은 개별적인 객체 무효화 제한과 관계가 없습니다. 이 한도를 초과하는 경우 추가 무효화 요청을 제출하면 이전 요청 중 하나가 완료될 때까지 오류가 수신됩니다.

예기치 않은 상황에서만 무효화를 사용해야 합니다. 파일을 캐시에서 자주 제거해야 한다는 것을 미리 알고 있다면 파일에 대해 버전 관리 시스템을 구현하거나 만료 기간을 짧게 설정하는 것이 좋습니다.

임베디드 접속 지점(POP)

Q: CloudFront 임베디드 접속 지점(POP)이란 무엇인가요?

CloudFront 임베디드 접속 지점(POP)은 인터넷 서비스 제공업체(ISP) 및 모바일 네트워크 사업자(MNO) 네트워크 내에서 최종 사용자에게 가장 가깝게 배포되는 CloudFront 인프라 유형입니다. 임베디드 POP는 대규모 라이브 스트리밍 이벤트, 비디오 온디맨드(VOD) 및 게임 다운로드를 제공하도록 맞춤 제작되었습니다. 이러한 임베디드 POP는 Amazon에서 소유 및 운영하며 ISP/MNO 네트워크의 라스트 마일에 배포되어 최종 사용자를 콘텐츠 소스에 연결하는 혼잡한 네트워크에서 용량 병목 현상을 방지함으로써 성능을 개선합니다.

Q: CloudFront 임베디드 POP는 CloudFront POP와 어떻게 다른가요?

CloudFront 임베디드 POP는 배포 위치와 전송하는 콘텐츠에 따라 CloudFront POP와 다릅니다. CloudFront 임베디드 POP는 AWS 네트워크 내에 배포되는 CloudFront POP와 달리 ISP 및 MNO 네트워크에 직접 배포됩니다. 임베디드 POP는 비디오 스트림 및 게임 다운로드와 같은 대규모의 캐시 가능 트래픽을 전송하기 위해 특별히 구축된 반면, CloudFront POP는 캐시 가능한 콘텐츠와 동적 콘텐츠를 모두 포함하는 다양한 워크로드를 전송하도록 설계되었습니다.

Q: CloudFront 임베디드 POP에 가장 적합한 워크로드는 무엇인가요?

CloudFront 임베디드 POP는 대규모 라이브 비디오 스트리밍, 비디오 온디맨드, 게임 다운로드 등 많은 수의 최종 사용자가 동시에 액세스하는 캐시 가능한 콘텐츠를 전송하도록 설계되었습니다.

Q: 임베디드 POP 사용에 대한 별도의 요금이 있나요?

아니요. CloudFront 임베디드 POP를 사용하는 데 따른 추가 요금은 없습니다.

Q: 임베디드 POP에 액세스하려면 어떻게 해야 하나요?

임베디드 POP는 캐시 가능한 대규모 트래픽을 전송하기 위한 옵트인 기능입니다. AWS 영업 담당자에게 문의하여 임베디드 POP가 워크로드에 적합한지 평가하세요.

Q: CloudFront 임베디드 POP용으로 특별히 CloudFront 배포를 새로 생성해야 하나요?

아니요. 임베디드 POP용으로 특별히 새 배포를 만들 필요는 없습니다. 적격한 워크로드의 경우 CloudFront가 요청 시 기존 배포에 임베디드 POP를 활성화합니다.

Q: CloudFront 임베디드 POP와 CloudFront POP 중 하나를 선택해야 하나요?

콘텐츠 전송을 위해 CloudFront 임베디드 POP 또는 CloudFront POP 중에서 하나를 선택할 필요는 없습니다. CloudFront 배포에 임베디드 POP를 활성화하면 CloudFront의 라우팅 시스템이 CloudFront POP와 임베디드 POP 모두를 동적으로 활용하여 콘텐츠를 전송함으로써 최종 사용자에게 최적의 성능을 보장합니다.

Q: ISP입니다. 네트워크에 임베디드 POP를 추가하려면 어떻게 해야 하나요?

네트워크 내에 임베디드 POP를 배포하려면 AWS에 문의하세요.

Q: ISP입니다. 네트워크의 임베디드 POP를 관리하려면 어떻게 해야 하나요?

임베디드 POP 포털을 사용하여 네트워크 내에 배포된 임베디드 POP를 관리할 수 있습니다. 임베디드 POP 포털은 AWS Interconnect Portal과 통합되며 이러한 POP의 전체 수명 주기에 연결된 다양한 태스크를 셀프 서비스 방식으로 손쉽게 수행할 수 있는 통합 인터페이스를 제공합니다. 새 어플라이언스 요청, 요청 진행 상황 추적, 성능 통계 모니터링, 지원 요청 등의 태스크가 여기에 포함됩니다. PeeringDB 계정을 사용하여 Single Sign On(SSO)으로 인증하여 포털에 액세스할 수 있습니다.

규정 준수

Q: Amazon CloudFront는 PCI의 규정을 준수하나요?

Amazon CloudFront는 [CloudFront 임베디드 POP를 통한 콘텐츠 전송을 제외하고] 서비스 공급업체가 준수해야 하는 규정 중 가장 높은 레벨인 PCI DSS(Payment Card Industry Data Security Standard) Merchant Level 1 규정을 준수하는 서비스 세트에 포함되어 있습니다. 자세한 내용은 개발자 안내서를 참조하세요.

Q: Amazon CloudFront는 HIPAA 적격 서비스인가요?

AWS는 HIPAA 규정 준수 프로그램을 확장하여 [CloudFront 임베디드 POP를 통한 콘텐츠 전송 제외하고] Amazon CloudFront를 HIPAA 적격 서비스로 포함시켰습니다. AWS와 비즈니스 제휴 계약(BAA)을 체결한 경우 [CloudFront 임베디드 POP를 통한 콘텐츠 전송 제외하고] Amazon CloudFront를 사용하여 PHI(개인 건강 정보)를 더 빠르게 제공할 수 있습니다. 자세한 내용은 HIPAA 규정 준수 및 AWS 개발자 안내서를 참조하세요.

Q: Amazon CloudFront는 SOC를 준수하나요?

Amazon CloudFront는 [CloudFront 임베디드 POP를 통한 콘텐츠 전송 제외하고] SOC(시스템 및 조직 제어) 조치를 준수합니다. SOC 보고서는 AWS가 주요 규정 준수 제어 및 목표를 달성하는 방법을 보여주는 독립적인 서드 파티 심사 보고서입니다. 자세한 내용은 AWS SOC 규정 준수 및 AWS 개발자 안내서를 참조하십시오.

Q: AWS SOC 1, SOC 2 또는 SOC 3 보고서를 요청하려면 어떻게 해야 합니까?

AWS SOC 1 또는 SOC 2 보고서는 AWS의 규정 준수 보고서에 온디맨드 방식으로 액세스할 수 있는 셀프서비스 포털인 AWS Artifact를 통해 고객에게 제공됩니다. AWS Management Console에서 AWS Artifact에 로그인하거나 AWS Artifact 시작하기를 통해 자세히 알아보십시오. 최신 AWS SOC 3 보고서는 AWS 웹 사이트에 공개되어 있습니다.

HTTP, HTTP/2 및 HTTP/3

Q: 어떤 유형의 HTTP 요청이 Amazon CloudFront에서 지원됩니까?

Amazon CloudFront는 현재 GET, HEAD, POST, PUT, PATCH, DELETE 및 OPTIONS 요청을 지원합니다.

Q: Amazon CloudFront는 POST 응답을 캐시합니까?

Amazon CloudFront는 POST, PUT, DELETE 및 PATCH 요청에 대한 응답을 캐시하지 않으며 이들 요청은 오리진 서버에 프록시됩니다. OPTIONS 요청에 대한 응답을 캐싱하는 기능은 활성화할 수 있습니다.

Q: HTTP/2를 사용하려면 어떻게 해야 합니까?

기존 Amazon CloudFront 배포를 보유하고 있는 경우에는 API 또는 AWS Management Console을 사용해 HTTP/2를 사용할 수 있습니다. 콘솔의 [Distribution Configuration] 페이지에서 [Supported HTTP Versions] 섹션으로 이동합니다. 여기에서 “HTTP/2, HTTP/1.1 또는 HTTP/1.0”을 선택할 수 있습니다. 새로운 모든 CloudFront 배포에서는 HTTP/2가 자동으로 활성화됩니다.

Q: 내 오리진이 HTTP/2를 지원하지 않는 경우는 어떻게 해야 합니까?

Amazon CloudFront는 현재 최종 사용자의 클라이언트 및 브라우저에 콘텐츠를 전송할 수 있도록 HTTP/2를 지원하고 있습니다. 또한 Amazon CloudFront는 엣지 로케이션과 오리진 서버 사이의 통신을 위해서 HTTP/1.1을 계속해서 사용할 예정입니다.

Q: Amazon CloudFront가 TLS 없이 HTTP/2를 지원합니까?

현재는 지원하지 않습니다. 하지만 최신 브라우저 대부분이 암호화된 연결을 통해서만 HTTP/2를 지원하고 있습니다. Amazon CloudFront와 함께 SSL을 사용하는 방법에 대한 자세한 내용은 여기를 참조하세요.

Q: HTTP/3란 무엇입니까?

HTTP/3는 Hypertext Transfer Protocol의 세 번째 주 버전입니다. HTTP/3는 사용자 데이터그램 프로토콜(UDP) 기반의 스트림 멀티플렉싱된 보안 전송 프로토콜인 QUIC를 사용합니다. QUIC는 기존 전송 제어 프로토콜(TCP), TLS, HTTP/2의 기능을 결합하고 개선합니다. HTTP/3는 이전 HTTP 버전에 비해 빠른 응답 시간, 향상된 보안 등 여러 이점을 제공합니다.

Q: QUIC란 무엇입니까?

HTTP/3는 성능 및 복원력이 뛰어나고 안전한 새로운 인터넷 전송 프로토콜인 QUIC로 구동됩니다. CloudFront의 HTTP/3 지원은 Rust의 새로운 오픈 소스 QUIC 프로토콜 구현인 s2n-quic를 기반으로 합니다. QUIC에 대해 자세히 알아보려면 ‘Introducing s2n-quic’ 블로그를 참조하세요. 

Q: Amazon CloudFront에서 HTTP/3를 사용할 때의 주요 이점은 무엇입니까?

고객은 항상 최종 사용자에게 보다 빠르고 안전한 애플리케이션을 제공할 방법을 찾습니다. 인터넷 침투율이 전 세계적으로 증가하고 더 많은 사용자가 모바일과 원격 네트워크를 통해 온라인에 연결됨에 따라 향상된 성능 및 신뢰성에 대한 요구가 그 어느 때보다 커지고 있습니다. HTTP/3는 여러 측면에서 이전 HTTP 버전보다 개선된 성능을 제공하므로 이 요구를 충족할 수 있습니다.

  1. 빠르고 신뢰할 수 있는 연결 - CloudFront는 HTTP/3의 TLS 핸드셰이크에 1-RTT를 사용하므로 이전 HTTP 버전에 비해 연결 설정 시간이 단축되고 해당하는 핸드셰이크 실패가 줄어듭니다.
  2. 향상된 웹 성능 - CloudFront의 HTTP/3 구현은 클라이언트 측 연결 마이그레이션을 지원하므로 최소한의 중단으로 연결 저하 상태의 클라이언트 애플리케이션을 복구할 수 있습니다. TCP와 달리 QUIC는 무손실이 아니기 때문에 패킷 손실이 높은 정체된 네트워크에 더 적합합니다. 또한 QUIC를 사용하면 Wifi 또는 셀룰러 핸드오프 중에 재연결 속도를 높일 수 있습니다.
  3. 보안 - HTTP/3는 TLS 핸드셰이크 중에 교환되는 패킷을 암호화하여 이전 버전의 HTTP에 비해 보다 포괄적인 보안을 제공합니다. 미들 장비에 의한 검사가 더 어려워지므로 개인 정보 보호가 추가되고 중간자 공격이 줄어듭니다. CloudFront의 HTTP/3 지원은 효율성 및 성능에 중점을 둔 s2n-quic와 Rust를 기반으로 합니다.

Q: CloudFront 배포에서 HTTP/3를 사용하려면 어떻게 해야 합니까?

CloudFront 콘솔, UpdateDistribution API 작업 또는 Cloudformation 템플릿을 사용하여 신규 및 기존 Amazon CloudFront 배포에 HTTP/3를 사용하도록 설정할 수 있습니다. 콘솔의 ‘Distribution Configuration(배포 구성)’ 페이지에서 ‘Supported HTTP Versions(지원되는 HTTP 버전)’ 섹션으로 이동합니다. 여기에서 ‘HTTP/3, HTTP/2, HTTP/1.1 또는 HTTP/1.0’을 선택할 수 있습니다.

Q: HTTP/3를 사용 설정하기 전에 내 애플리케이션을 변경해야 하나요?

CloudFront 배포에서 HTTP/3를 사용하도록 설정하면 CloudFront가 자동으로 Alt-Svc 헤더를 추가합니다. 그런 다음 이 헤더를 사용하여 HTTP/3 지원을 사용할 수 있음을 알리므로 사용자가 수동으로 Alt-Svc 헤더를 추가할 필요가 없습니다. 애플리케이션에서 여러 프로토콜에 대한 지원을 사용하도록 설정하는 것이 좋습니다. 이렇게 하면 애플리케이션에서 HTTP/3 연결을 설정하지 못할 경우 HTTP /1.1 또는 HTTP/2로 폴백되므로 HTTP/3를 지원하지 않는 클라이언트에서도 HTTP/1.1 또는 HTTP/2를 사용하여 HTTP/3를 사용하는 CloudFront 배포와 통신할 수 있습니다. 폴백 지원은 HTTP/3 사양의 일부로 필요하며 HTTP/3를 지원하는 모든 주요 브라우저에 의해 구현됩니다.

Q: 내 오리진이 HTTP/3를 지원하지 않는 경우는 어떻게 해야 합니까?

현재 CloudFront는 뷰어의 클라이언트 및 브라우저와 CloudFront 엣지 로케이션 간의 통신에 대해 HTTP/3를 지원합니다. 또한 CloudFront는 엣지 로케이션과 오리진 서버 사이의 통신에 HTTP/1.1을 계속해서 사용할 예정입니다.

Q: Amazon CloudFront의 TLS 보안 정책은 HTTP/3와 어떻게 상호 작용합니까?

HTTP/3는 QUIC를 사용하며 여기에는 TLSv1.3이 필요합니다. 따라서 선택한 보안 정책과 관계없이 TLSv1.3과 지원되는 TLSv1.3 암호 그룹만 HTTP/3 연결을 설정하는 데 사용할 수 있습니다. 자세한 내용은 CloudFront 개발자 안내서의 최종 사용자와 CloudFront 간에 지원되는 프로토콜 및 암호 섹션을 참조하세요.

Q: HTTP/3를 사용하는 데 별도의 요금이 있습니까?

아니요. Amazon CloudFront 배포에서 HTTP/3를 사용하기 위한 별도의 요금은 없습니다. HTTP/3 요청에 대한 요금은 사용하는 요금제의 요청 요율에 따라 부과됩니다.

WebSocket

Q: WebSocket이 무엇입니까?

WebSocket은 오래 유지되는 TCP 연결을 통해 클라이언트와 서버 간 양방향 통신을 제공하는 실시간 통신 프로토콜입니다. 지속적으로 개방된 연결을 사용하면, 교환할 새로운 데이터를 확인하기 위해 클라이언트와 서버는 연결을 자주 다시 시작할 필요 없이 클라이언트와 서버가 실시간으로 서로 데이터를 전송할 수 있습니다. WebSocket 연결은 채팅 애플리케이션, 협업 플랫폼, 멀티플레이어 게임 및 금융 거래 플랫폼에서 자주 사용됩니다. Amazon CloudFront와 함께 WebSocket 프로토콜을 사용하는 방법을 자세히 알아보려면 설명서를 참조하십시오. 

Q: Amazon CloudFront 배포가 WebSocket 프로토콜을 지원하게 활성화하려면 어떻게 해야 합니까?

WebSocket은 전 세계적으로 사용할 수 있고, 기본적으로 지원되기 때문에 CloudFront 리소스 내에서 WebSocket 프로토콜을 활성화하기 위한 추가 구성이 필요하지 않습니다.

Q: 어떤 경우에 WebSocket 연결이 Amazon CloudFront를 통해 설정됩니까?

Amazon CloudFront는 클라이언트에 ‘Upgrade: websocket’ 헤더가 포함되고 서버가 HTTP 상태 코드 101로 응답하여 WebSocket 프로토콜로 전환할 수 있다고 확인해야만 WebSocket 연결을 설정합니다.

Q: Amazon CloudFront는 TLS에서 보안 WebSocket을 지원합니까?

예. Amazon CloudFront는 SSL/TLS 프로토콜을 사용해 암호화한 WebSocket 연결(WSS)을 지원합니다.

보안

Q: 자체 도메인 이름을 사용하여 HTTPS를 통해 콘텐츠를 전달하도록 CloudFront 배포를 구성할 수 있습니까?

기본적으로 URL에 CloudFront 배포 도메인 이름(예: https://dxxxxx.cloudfront.net/image.jpg)을 사용하여 HTTPS를 통해 최종 사용자에게 콘텐츠를 전달할 수 있습니다. 자체 도메인 이름과 자체 SSL 인증서를 사용하여 HTTPS를 통해 콘텐츠를 전달하려는 경우 Amazon에서 제공하는 사용자 지정 SSL 인증서 지원 기능 중 하나를 사용할 수 있습니다. 자세히 알아보십시오.

Q: 필드 레벨 암호화란 무엇입니까?

필드 레벨 암호화는 신용 카드 번호와 같이 사용자가 제출한 데이터를 안전하게 오리진 서버로 업로드할 수 있게 해주는 CloudFront의 기능입니다. 이 기능을 사용하면 PUT/POST 요청이 오리진으로 전달되기 전에 필드별 암호화 키(사용자가 제공)를 사용하여 HTTPS 형식의 민감한 데이터를 추가로 암호화할 수 있습니다. 따라서 중요한 데이터는 애플리케이션 스택의 특정 구성 요소나 서비스에서만 복호화하고 볼 수 있습니다. 필드 레벨 암호화에 대해 자세히 알아보려면 설명서에서 필드 레벨 암호화 페이지를 참조하십시오.

Q: CloudFront에서 이미 SSL/ TLS 암호화를 사용하고 있습니다. 그래도 필드 레벨 암호화가 필요합니까?

많은 웹 애플리케이션은 신용 카드 번호와 같이 사용자가 제출하는 민감한 데이터를 수집하며, 오리진 인프라에서 실행되는 애플리케이션 서비스에서 이를 처리합니다. 이러한 모든 웹 애플리케이션에서는 최종 사용자와 CloudFront 사이, CloudFront와 오리진 사이에 SSL/TLS 암호화를 사용합니다. 이제, 오리진은 사용자 입력을 기반으로 중요한 작업을 수행하는 다중 마이크로 서비스입니다. 하지만 이러한 마이크로 서비스 중 일부 하위 집합에서만 민감한 정보를 사용하게 됩니다. 즉, 대부분 구성 요소는 이러한 데이터에 직접 액세스할 필요가 전혀 없습니다. 잘못된 변수를 로깅하는 등의 간단한 프로그래밍 실수가 고객의 신용 카드 번호를 파일에 작성하는 결과로 이어질 수 있습니다.

필드 레벨 암호화로 CloudFront의 엣지 로케이션은 신용 카드 데이터를 암호화할 수 있습니다. 이 시점부터 프라이빗 키를 가진 애플리케이션만 민감한 필드를 복호화할 수 있습니다. 따라서 주문 이행 서비스는 암호화된 신용 카드 번호만 볼 수 있지만 지불 서비스는 신용 카드 데이터를 복호화할 수 있습니다. 높은 레벨의 보안은 애플리케이션 서비스 중 하나가 암호 텍스트를 노출해도 그 데이터가 보호된 암호를 유지합니다.

Q: Amazon CloudFront의 SNI 사용자 정의 SSL과 전용 IP 사용자 정의 SSL의 차이점은 무엇입니까?

전용 IP 사용자 정의 SSL은 전용 IP 주소를 할당하여 각 CloudFront 엣지 로케이션에서 사용자의 SSL 콘텐츠를 제공합니다. IP 주소와 SSL 인증서 간에 일대일로 매핑되어 있으므로 전용 IP 사용자 정의 SSL은 SNI를 지원하지 않는 브라우저 및 다른 클라이언트에서 사용할 수 있습니다. 현재 IP 주소 비용 때문에 전용 IP 사용자 정의 SSL의 비용은 월 600 USD이며 시간 단위로 비례 할당으로 계산됩니다.

SNI 사용자 정의 SSL은 최종 사용자가 연결하려는 호스트 이름을 포함하여 동일한 IP 주소를 통해 다중 도메인에서 SSL 트래픽을 제공하도록 허용하는 전송 계층 보안 프로토콜의 SNI 확장을 사용합니다. 전용 IP 사용자 정의 SSL과 마찬가지로 CloudFront에서는 전용 IP 사용자 정의 SSL 기능과 동일한 보안을 사용하여 각 Amazon CloudFront 엣지 로케이션의 콘텐츠를 제공합니다. SNI 사용자 정의 SSL은 Chrome 버전 6 이상(Windows XP 이상 또는 OS X 10.5.7 이상에서 실행), Safari 버전 3 이상(Windows Vista 이상 또는 Mac OS X 10.5.6. 이상에서 실행), Firefox 2.0 이상 및 Internet Explorer 7 이상(Windows Vista 이상에서 실행)을 비롯한 대부분의 최신 브라우저에서 작동합니다. SNI를 지원하지 않는 오래된 브라우저는 HTTPS 버전 콘텐츠를 로드하는 CloudFront와의 연결을 설정할 수 없습니다. SNI 사용자 정의 SSL은 표준 CloudFront 데이터 전송 및 요청 요금 이외의 추가 비용 없이 사용할 수 있습니다.

Q: 서버 이름 표시란 무엇입니까?

SNI(서버 이름 표시)는 TLS(전송 계층 보안) 프로토콜의 확장입니다. 이 메커니즘은 연결된 SSL 요청의 도메인(서버 이름)을 식별하므로 SSL 방법에 적절한 인증서를 사용할 수 있습니다. 따라서 여러 서버 간에 단일 IP 주소를 사용할 수 있습니다. SNI에서 서버 이름을 추가하려면 브라우저 지원이 필요합니다. 대부분의 최신 서버에서는 이를 지원하지만 오래된 일부 브라우저에서는 이를 지원하지 않습니다. 자세한 내용은 CloudFront 개발자 안내서의 SNI 섹션 또는 SNI Wikipedia 도움말을 참조하십시오.

Q: CloudFront는 AWS Certificate Manager와 통합됩니까?

예. 이제 몇 분이면 SSL/TLS 인증서를 프로비저닝하고 이를 CloudFront 배포와 연결할 수 있습니다. 새로운 AWS Certificate Manager(ACM)를 사용하여 클릭 몇 번으로 인증서를 프로비저닝하고 CloudFront 배포에 이를 배포하기만 하면, ACM에서 인증서 갱신을 대신 관리해줍니다. ACM을 사용하면 추가 비용 없이 인증서를 프로비저닝, 배포, 및 관리할 수 있습니다.

CloudFront에서는 타사 인증 기관을 통해 받아서 IAM 인증서 스토어에 업로드한 인증서도 계속 사용할 수 있습니다.

Q: Amazon CloudFront는 유료 또는 개인 콘텐츠에 대한 액세스 제어를 지원합니까?

예. Amazon CloudFront는 개인 콘텐츠 기능(옵션)을 제공합니다. 이 옵션을 활성화하면 Amazon CloudFront가 사용자의 요청에 안전하게 서명하여 사용자가 허용한 파일만 전송합니다. 이 기능에 대한 자세한 내용은 CloudFront 개발자 안내서를 참조하십시오.

Q: CloudFront를 통해 제공되는 내 웹 애플리케이션을 DDoS 공격으로부터 보호하려면 어떻게 해야 합니까?

AWS 고객은 추가 비용 없이 AWS Shield Standard를 사용할 수 있습니다. AWS Shield는 AWS에서 실행되는 웹 애플리케이션을 DDoS 공격으로부터 보호하는 관리형 서비스입니다. AWS Shield Standard는 AWS의 애플리케이션 고가용성을 지원하기 위해 SYN/UDP Floods, 반사 공격 등과 같은 일반적이고 가장 빈번히 발생하는 인프라(계층 3 및 4) 공격으로부터 모든 AWS 고객을 보호합니다.

AWS Shield Advanced는 선택 사항인 유료 서비스로서 AWS Business Support 및 AWS Enterprise Support 고객에게 제공됩니다. AWS Shield Advanced는 더 정교하고 더 큰 규모의 공격에 대해 Elastic Load Balancing(ELB), Amazon CloudFront 및 Route 53에서 실행되는 애플리케이션을 위한 추가적인 보호를 제공합니다.

Q: CloudFront를 통해 제공되는 내 웹 애플리케이션을 보호하려면 어떻게 해야 합니까?

CloudFront 배포를 AWS WAF와 통합할 수 있습니다. AWS WAF는 IP 주소, HTTP 헤더 및 사용자 정의 URI 문자열을 기반으로 규칙을 구성함으로써 웹 공격으로부터 웹 애플리케이션을 보호하는 웹 애플리케이션 방화벽입니다. AWS WAF에서는 이러한 규칙을 사용하여 웹 애플리케이션에 대한 웹 요청을 차단, 허용 또는 모니터링(계수)할 수 있습니다. 자세한 내용은 AWS WAF 개발자 안내서를 참조하십시오.

캐싱

Q: 오리진에 전달된 요청 헤더를 추가하거나 변경할 수 있습니까?

예. 오리진으로 전달된 요청에 사용자 정의 헤더를 추가하거나 기존 헤더 값을 무시하도록 Amazon CloudFront를 구성할 수 있습니다. 이러한 헤더를 사용하여 오리진에 전달된 요청이 CloudFront로부터 온 요청임을 확인할 수 있습니다. 지정한 사용자 정의 헤더 값이 포함된 요청만 허용하도록 오리진을 구성할 수도 있습니다. 또한, 같은 오리진에 여러 CloudFront 배포를 사용하는 경우 사용자 정의 헤더를 통해 각기 다른 배포에서 전달된 오리진 요청을 구별할 수 있습니다. 마지막으로 사용자 정의 헤더는 요청에 대해 적절한 CORS 헤더가 반환되었는지 확인하는 데 사용할 수 있습니다. 사용자 정의 헤더는 CloudFront API와 AWS Management Console을 통해 구성할 수 있습니다. 이 기능에 대한 추가 비용은 없습니다. 사용자 정의 헤더를 설정하는 방법에 대한 자세한 내용은 여기를 참조하십시오.

Q: Amazon CloudFront는 HTTP 쿠키를 어떻게 처리합니까?

Amazon CloudFront는 이제 HTTP 쿠키를 사용하여 사용자 정의되거나 개인화된 동적 콘텐츠 전달을 지원합니다. 이 기능을 사용하려면 Amazon CloudFront가 맞춤 오리진 서버로 쿠키 일부를 전달할지 또는 전부를 전달할지를 지정해야 합니다. 그런 다음 Amazon CloudFront는 캐시에서 고유 객체를 식별할 때 전달된 쿠키 값을 고려합니다. 이렇게 함으로써 최종 사용자는 쿠키를 통해 자신에게 개인화된 콘텐츠의 이점과 Amazon CloudFront의 성능 이점을 모두 얻습니다. 또한 Amazon CloudFront 액세스 로그에 쿠키 값을 기록하도록 선택할 수도 있습니다.

Q: Amazon CloudFront는 URL의 쿼리 문자열 파라미터를 어떻게 처리합니까?

쿼리 문자열은 선택적으로 Amazon CloudFront 캐시의 객체를 식별하기 위한 캐시 키의 일부로 구성될 수 있습니다. 이렇게 하면 일정 시간 동안 엣지에 캐시될 수 있는 동적 웹 페이지(예: 검색 결과)를 구축할 수 있습니다.

Q: 캐시 키에서 사용할 쿼리 파라미터를 지정할 수 있습니까?

예. 쿼리 문자열 화이트리스트 기능을 사용하면 Amazon CloudFront에서 모든 파라미터를 오리진으로 전달하면서 동시에 캐시 키에서는 특정 파라미터만 사용하도록 손쉽게 구성할 수 있습니다.

Q: 화이트리스트에 올릴 수 있는 쿼리 파라미터의 수에 제한이 있습니까?

예. 최대 10개의 쿼리 파라미터를 화이트리스트에 올리도록 Amazon CloudFront를 구성할 수 있습니다.

Q: 어떤 파라미터 유형이 지원됩니까?

Amazon CloudFront는 RFC3986의 섹션 3.4에 정의된 URI 쿼리 파라미터를 지원합니다. 특히 HTTP GET 문자열에서 '?' 문자 다음에 포함되고 ‘&’ 문자로 구분된 쿼리 파라미터를 지원합니다.

Q: CloudFront에서는 gzip 압축을 지원합니까?

예. CloudFront에서는 텍스트 또는 바이너리 데이터를 자동으로 압축할 수 있습니다. 캐시 동작 설정에서 CloudFront가 자동으로 객체를 압축하도록 지정하고 클라이언트가 요청 헤더에 Accept-Encoding: gzip을 추가(최신 웹 브라우저 대부분은 기본적으로 이를 수행함)하도록 하기만 하면 이 기능을 사용할 수 있습니다. 이 기능에 대한 자세한 내용은 개발자 안내서를 참조하십시오.

스트리밍

Q: 스트리밍이 무엇입니까? 스트리밍을 하는 이유는 무엇입니까?

일반적으로 스트리밍은 재생하기 전에 미디어 파일을 다운로드할 필요 없이 최종 사용자에게 인터넷을 통해 오디오 및 비디오를 전송하는 것을 말합니다. 스트리밍에 사용되는 프로토콜에는 Apple의 HTTP Live Streaming(HLS), MPEG Dynamic Adaptive Streaming over HTTP(MPEG-DASH), Adobe의 HTTP Dynamic Streaming(HDS), Microsoft의 Smooth Streaming 등과 같이 전송에 HTTP를 사용하는 프로토콜이 포함됩니다. 스트리밍 프로토콜은 실시간으로 미디어를 전송해 바이트가 전송되는 대로 최종 사용자가 이를 볼 수 있으므로 웹 페이지 및 기타 콘텐츠를 전송하는 데 사용되는 프로토콜과 다릅니다. 스트리밍 콘텐츠는 귀하와 최종 사용자에게 다음과 같은 여러 가지 잠재적인 이점을 제공합니다.

  • 스트리밍을 사용하면 최종 사용자가 시청 환경에 대한 더 많은 제어 권한을 가질 수 있습니다. 예를 들어, 기존 다운로드 전송을 사용할 때보다 스트리밍을 사용할 때 최종 사용자가 비디오에서 좀 더 쉽게 앞뒤로 검색할 수 있습니다.
  • 스트리밍에서는 최종 사용자가 비디오 시청을 마치면 최종 사용자의 클라이언트 또는 로컬 드라이브에 파일이 남지 않으므로 콘텐츠에 대한 제어가 강화됩니다.
  • 스트리밍은 미디어 파일에서 최종 사용자가 실제로 시청하는 부분만 전송하므로 비용을 줄이는 데 도움이 될 수 있습니다. 이에 반해 기존 다운로드 방식에서는 최종 사용자가 파일 일부분만 시청하더라도 전체 미디어 파일을 전송하는 경우가 많습니다.

Q: Amazon CloudFront는 VOD(온디맨드 비디오) 스트리밍 프로토콜을 지원합니까?

예. Amazon CloudFront는 온디맨드 비디오 콘텐츠를 전송하는 다양한 옵션을 제공합니다. Amazon S3(또는 사용자 지정 원본)에 저장되기 전에 AWS Elemental MediaConvert를 사용해 미디어 파일을 HLS, MPEG-DASH 또는 Microsoft Smooth Streaming으로 전환한 경우, Amazon CloudFront 웹 배포를 사용하면 다른 미디어 서버를 구동하지 않고도 해당 형식으로 스트리밍할 수 있습니다.

또는, 미디어 파일을 필요한 HTTP 스트리밍 형식으로 변환할 수 있는 타사 스트리밍 서버(예: AWS Marketplace에서 제공하는 Wowza Media Server)를 Amazon EC2에서 실행할 수 있습니다. 그런 다음 이 서버를 Amazon CloudFront 웹 배포를 위한 오리진 서버로 지정할 수 있습니다.

자세한 내용은 AWS 페이지의 VOD(온디맨드 비디오)를 참조하십시오.

Q: Amazon CloudFront는 다중 플랫폼에 대한 라이브 스트리밍을 지원합니까?

예. Amazon CloudFront 라이브 스트리밍을 AWS Elemental MediaPackage 또는 AWS Elemental MediaStore와 같이 HTTP 기반 스트림을 출력하는 라이브 비디오 오리지네이션 서비스와 함께 사용할 수 있습니다. MediaPackage는 다양한 전송 및 콘텐츠 보호 표준을 사용해 비디오 제공업체가 대규모 스트리밍 콘텐츠를 안전하고 안정적으로 전송할 수 있도록 지원하는 비디오 오리지네이션 및 JIT(Just-In-Time) 패키징 서비스입니다. MediaStore는 Amazon 스토리지의 보안 및 안정성과 더불어 라이브 미디어를 위한 뛰어난 성능, 즉각적인 일관성, 예측 가능한 짧은 지연 시간을 제공하는 HTTP 오리지네이션 및 스토리지 서비스입니다.

자세한 내용은 AWS 라이브 비디오 스트리밍 페이지를 참조하세요.

Origin Shield

Q: Origin Shield란 무엇입니까?

Origin Shield는 캐시 적중률을 높여 오리진의 부하를 줄일 수 있는 중앙 집중식 캐싱 계층입니다. 또한 Origin Shield는 여러 리전에 걸친 요청을 압축하여 오리진으로 제출되는 객체당 요청을 최소 1개까지 줄임으로써 오리진 운영 비용을 절감해 줍니다. Origin Shield를 활성화하면 CloudFront가 모든 오리진 가져오기 요청을 Origin Shield로 라우팅하며, 콘텐츠가 이미 Origin Shield의 캐시에 저장되어 있지 않은 경우에만 요청을 오리진에 제출합니다.

Q: Origin Shield는 어떤 상황에서 사용해야 합니까?

최종 사용자가 여러 지역에 분산되어 있는 경우나, 비디오 스트리밍용 JIT(Just-in-time) 패키징/이미지 즉시 처리/기타 유사한 프로세스가 포함된 워크로드를 처리해야 하는 경우 Origin Shield를 사용하면 효율적입니다. 오리진 앞에 Origin Shield를 배치하면 중복 오리진 페치 수를 줄일 수 있습니다. 오리진의 중앙 캐시를 먼저 확인하여 Origin Shield 캐시에 아직 없는 콘텐츠의 경우에만 통합 오리진 페치를 수행하기 때문입니다. 마찬가지로 다중 CDN 아키텍처에서도 여러 CDN 간의 중복 오리진 페치 수를 줄이기 위해 Origin Shield를 사용할 수 있습니다. 이 경우에는 다른 CDN의 오리진으로 Amazon CloudFront를 배치하면 됩니다. 이러한 사용 사례와 기타 Origin Shield 사용 사례에 대해 자세히 알아보려면 Amazon CloudFront 개발자 안내서를 참조하세요.

Q: 어떤 Origin Shield 리전을 사용해야 합니까?

Amazon CloudFront에 지역 엣지 캐시가 있는 AWS 리전에서 Origin Shield가 제공됩니다. Origin Shield를 활성화할 때는 오리진에 대한 지연 시간이 가장 짧은 AWS 리전을 Origin Shield용으로 선택해야 합니다. Origin Shield는 AWS 리전 내에 있는 오리진과 AWS 외부에 있는 오리진 둘 다에 사용 가능합니다. 자세한 내용은 Amazon CloudFront 개발자 안내서에서 Origin Shield용 AWS 리전 선택을 참조하세요.

Q: Origin Shield는 복원력과 가용성이 우수합니까?

예. 모든 Origin Shield 리전은 여러 가용 영역을 포함하는 고가용성 아키텍처로 구성되어 있습니다. 이러한 가용 영역에는 Auto Scaling Amazon EC2 인스턴스 플릿이 포함됩니다. 또한 CloudFront 위치와 Origin Shield 간의 연결에서는 각 요청에 활성 오류 추적 기능을 사용해 주 Origin Shield 위치를 사용할 수 없으면 요청을 보조 Origin Shield 위치로 자동 라우팅합니다.

한도

Q: 최대 사용량이 150Gbps 또는 25만RPS보다 높을 경우 Amazon CloudFront를 사용할 수 있습니까?

예. 여기에서 한도 상향 조정 요청을 작성하면 영업일 기준 2일 이내에 계정 용량을 추가해 드립니다.

Q: 내 Amazon CloudFront 계정이 제공할 수 있는 배포 수에 제한이 있습니까?

현재 각 AWS 계정에 대해 생성할 수 있는 배포 수 제한을 알아보려면 Amazon Web Services 일반 참조에서 Amazon CloudFront 제한 섹션을 참조하십시오. 한도를 높이려면 CloudFront 한도 증가 요청 양식에서 요청하시면 됩니다.

Q: Amazon CloudFront를 통해 전송할 수 있는 파일의 최대 크기는 얼마입니까?

Amazon CloudFront를 통해 전송할 수 있는 단일 파일의 최대 크기는 30GB입니다. 이 한도는 모든 Amazon CloudFront 배포에 적용됩니다.

로깅 및 보고

Q: Amazon CloudFront에서는 어떤 로깅 기능을 이용할 수 있습니까?

CloudFront 배포를 생성하거나 수정할 때 액세스 로깅을 활성화할 수 있습니다. CloudFront는 배포에서 제공되는 요청을 로깅하는 두 가지 방법(표준 로그실시간 로그)을 제공합니다.

CloudFront 표준 로그는 사용자가 선택한 Amazon S3 버킷으로 제공됩니다(이때 로그 레코드는 최종 사용자 요청 후 몇 분 안에 제공됨). 이 기능을 활성화하면 CloudFront는 사용자가 지정한 Amazon S3 버킷에 W3C 확장 형식의 자세한 로그 정보를 자동으로 게시합니다. 액세스 로그는 요청된 객체, 요청 날짜 및 시간, 요청을 처리하는 엣지 로케이션, 클라이언트 IP 주소, 참조자, 사용자 에이전트, 쿠키 헤더 및 결과 유형(예: 캐시 적중, 누락 또는 오류)을 비롯하여 콘텐츠에 대한 각 요청의 자세한 정보를 포함합니다. 로그 파일의 저장 및 액세스에 대한 Amazon S3 요금이 발생하지만, CloudFront에서는 표준 로그에 대한 요금을 청구하지 않습니다.

CloudFront 실시간 로그는 Amazon Kinesis Data Streams에서 사용자가 선택한 데이터 스트림으로 제공됩니다(이때 로그 레코드는 최종 사용자 요청 후 몇 초 안에 제공됨). 실시간 로그에 대한 샘플링 비율(즉, 실시간 로그 레코드를 수신하려는 요청의 백분율)을 선택할 수 있습니다. 또한 로그 레코드에서 수신하려는 특정 필드도 선택할 수 있습니다. CloudFront 실시간 로그는 표준 로그와 동일한 모든 데이터 포인트를 함께, 최종 사용자 요청 헤더 및 국가 코드와 같은 각 요청에 대한 특정 추가 정보를 W3C 확장 형식으로 포함합니다. CloudFront는 Kinesis Data Streams 사용 요금 외에도, 실시간 로그에 대한 요금을 청구합니다.

Q: CloudFront 로그가 나의 사용 사례에 적합한지 어떻게 판단합니까?

사용 사례에 따라 대상을 선택할 수 있습니다. 급히 해결해야 하는 사용 사례가 있고 몇 초 안에 로그 데이터에 신속하게 액세스해야 하는 경우, 실시간 로그를 선택합니다. 실시간 로그 파이프라인을 좀 더 저렴한 요금으로 이용하고자 하는 경우, 특정 캐시 동작에 대해서만 로그를 활성화하거나 낮은 샘플링 비율을 선택하여 로그 데이터를 필터링하기로 선택할 수 있습니다. 실시간 로그 파이프라인은 신속한 데이터 제공에 최적화되었습니다. 따라서 데이터 지연이 발생하는 경우 로그 레코드가 삭제될 수 있습니다. 반면 실시간 데이터에 대한 요구 사항 없이 저렴한 로그 처리 솔루션이 필요한 경우, 현재 버전의 표준 로그 옵션이 가장 적합합니다. S3의 표준 로그는 완전성에 최적화되어 있으며 대개 몇 분 안에 로그를 이용할 수 있습니다. 이러한 로그는 배포 전체에 대하여 활성화할 수 있으며, 특정 캐시 동작에 대해서만 활성화할 수는 없습니다. 따라서 임시 조사, 감사 및 분석 때문에 로그가 필요한 경우라면 S3에서 표준 로그만 활성화할 수 있습니다. 두 가지 로그를 조합하여 사용하는 방법도 있습니다. 운영 가시성 면에서는 실시간 로그를 필터링한 목록을 사용하고, 감사 목적으로는 표준 로그를 사용하십시오.

Q: 이용 가능한 로그 대상 옵션으로는 어떤 것이 있습니까?
CloudFront 표준 로그는 S3 버킷에 전달됩니다. DataDog 및 Sumologic과 같은 타사 솔루션이 구축한 통합을 사용해 이러한 로그에서 대시보드를 생성할 수도 있습니다.

실시간 로그는 Kinesis Data Stream에 전달됩니다. Kinesis Data Stream에서 로그를 Amazon Kinesis Data Firehose에 게시할 수 있습니다. Amazon Kinesis Data Firehose는 Amazon S3, Amazon Redshift, Amazon Elasticsearch Service를 대상으로 간편한 데이터 전달을 지원하며 이외에 Datadog, New Relic 및 Splunk와 같은 서비스 제공자에게도 로그를 전달할 수 있습니다. Kinesis Firehose는 일반 HTTP 엔드포인트에 대한 데이터 전달도 지원합니다.

Q: Kinesis Data Stream에서는 Kinesis 샤드가 얼마나 많이 필요합니까?
필요한 샤드의 수를 예측하려면 다음 단계를 따르십시오.

  1. CloudFront 배포에서 수신하는 초당 요청 수를 계산(또는 예측)합니다. 초당 요청 수를 계산하는 데 도움이 되는 CloudFront 사용량 보고서 또는 CloudFront 지표를 사용할 수 있습니다.
  2. 실시간 로그 레코드 하나의 일반적인 크기를 판단합니다. 이용 가능한 모든 필드를 포함한 일반적인 레코드 하나는 대략 1KB입니다. 로그 레코드 크기가 확실하지 않으면 샘플링 비율을 낮게 설정하여(예: 1%) 실시간 로그를 활성화한 다음 Kinesis Data Streams의 모니터링 데이터를 사용해 레코드의 평균 크기를 계산할 수 있습니다(총 레코드 수를 수신되는 총 바이트 수로 나눔).
  3. 초당 요청 수(1단계에서 얻은 값)에 일반적인 실시간 로그 레코드 크기(2단계에서 얻은 값)를 곱하면 실시간 로그 구성이 Kinesis 데이터 스트림에 전송할 가능성이 큰 초당 데이터양을 알아낼 수 있습니다.
  4. 초당 데이터를 사용하여 필요한 샤드 수를 계산합니다. 샤드 한 개는 초당 1MB, 초당 요청(로그 레코드) 1,000건까지만 처리할 수 있습니다. 필요한 샤드의 수를 계산할 때 완충 장치 삼아 최대 25%를 더하는 것이 좋습니다.

예를 들어 배포에서 수신하는 요청 수가 초당 10,000건이고 실시간 로그 레코드 크기가 보통 1KB라고 가정합니다. 즉, 실시간 로그 구성으로 초당 10,000,000바이트(10,000 곱하기 1,000), 즉 9.53MB를 생성할 수 있습니다. 이 경우 Kinesis 샤드는 10개만 있으면 됩니다. 그렇다면 어느 정도 완충 역할을 하기 위해 적어도 12개의 샤드를 생성하는 방향으로 고민해보시기 바랍니다.

Q: Amazon CloudFront에서는 내 사용량, 최종 사용자 수, 제공 중인 콘텐츠 등에 대해 자세히 알아볼 수 있도록 즉시 사용 가능한 보고서를 제공합니까?

예. 자세한 캐시 통계 보고서 수신, CloudFront 사용량 모니터링, 최종 사용자가 콘텐츠를 시청하는 장소 확인, 운영 지표에 대한 실시간에 가까운 경보 설정 등의 작업을 할 수 있도록 Amazon CloudFront는 보고 요구 사항에 따라 다양한 솔루션을 제공합니다. AWS Management Console의 Amazon CloudFront Reporting & Analytics 대시보드에서 모든 보고 옵션에 액세스할 수 있습니다. Amazon CloudFront의 보고서 및 분석 페이지에서도 다양한 보고 옵션에 대해 자세히 알아볼 수 있습니다.

Q: 내 배포를 태그 지정할 수 있습니까?

예. Amazon CloudFront는 비용 할당 태깅을 지원합니다. 태그를 사용하면 AWS 리소스를 분류하고 그룹화하여 손쉽게 비용을 할당하고 지출을 최적화할 수 있습니다. 예를 들어 태그를 사용하여 리소스를 관리자, 애플리케이션 이름, 비용 센터 또는 특정 프로젝트별로 그룹화할 수 있습니다. 비용 할당 태깅에 대해 자세히 알아보려면 비용 할당 태그 사용을 참조하십시오. CloudFront 배포에 태그를 추가할 준비가 되었다면 Amazon CloudFront 태그 추가 페이지를 참조하십시오.

Q: 보안, 운영 또는 규제 준수 감사를 위해 내 계정에서 이루어진 모든 Amazon CloudFront API 호출 내역을 확인할 수 있습니까?

예. 계정에서 이루어진 모든 Amazon CloudFront API 호출 내역을 받아보려면 CloudTrail의 AWS Management Console에서 AWS CloudTrail을 활성화하면 됩니다. 자세한 내용은 AWS CloudTrail 홈 페이지를 참조하십시오.

Q: 지표를 실시간으로 모니터링하고 경보를 받을 수 있는 옵션이 있습니까?

Amazon CloudWatch를 사용하면 최종 사용자는 요청 후 몇 분 내에 Amazon CloudFront 배포의 운영 성능을 모니터링하고 경보 및 알림을 받을 수 있습니다. CloudFront는 1분 단위로 Amazon CloudWatch에 6가지 운영 지표를 자동으로 게시합니다. 따라서 CloudWatch를 사용하여 CloudFront 트래픽의 모든 비정상적인 패턴에 대해 경보를 설정할 수 있습니다. CloudFront 활동을 모니터링하고 CloudWatch를 통해 경보를 설정하는 방법에 대해 알아보려면 Amazon CloudFront 개발자 안내서의 설명을 참조하거나 Amazon CloudFront 관리 콘솔로 이동하여 탐색 창에서 [모니터링 및 경보(Monitoring & Alarming)]를 선택하기만 하면 됩니다.

CloudFront 함수

Q: CloudFront 함수란 무엇입니까?

CloudFront Functions는 경량 HTTP(S) 변환 및 조작에 대한 CloudFront 엣지 로케이션에서 JavaScript 코드를 실행할 수 있는 서버리스 엣지 컴퓨팅 기능입니다. 함수는 최신 웹 애플리케이션에 필요한 성능 및 보안과 함께 전체 프로그래밍 환경의 유연성을 고객에게 제공하기 위한 목적별 기능입니다. AWS Lambda@Edge 요금의 일부로, 고객은 즉각적으로 확장 가능하고 저렴하게 초당 1백만 개의 요청을 지원할 수 있습니다.

Q. CloudFront 함수에서 콘텐츠를 사용자 지정하려면 어떻게 해야 합니까?

CloudFront Functions는 기본적으로 CloudFront에 구축되어 있으므로, 고객은 동일한 서비스 내에서 함수를 쉽게 구축, 테스트 및 배포할 수 있습니다. 또한, CloudFront KeyValueStore를 CloudFront Functions와 함께 활용하여 조회 데이터를 저장하고 검색하여 함수 로직을 보완할 수 있습니다. GitHub 리포지토리를 사용하면 개발자가 함수 구축의 시작점으로 사용할 수 있는 많은 코드 모음 예시를 제공하여 쉽게 시작해볼 수 있습니다. CloudFront 콘솔에서 IDE를 사용하거나 CloudFront API/CLI를 사용하여 함수를 구축할 수 있습니다. 코드를 작성한 후에 프로덕션 CloudFront 배포에서 함수를 테스트할 수 있으며, 이를 통해 배포 후 함수를 올바르게 실행하도록 보장합니다. 콘솔에서 테스트 기능은 시각적 편집기에서 테스트 이벤트를 빠르게 생성하고 함수를 검증합니다. CloudFront 배포에 연결된 후 CloudFront 요청에 대한 응답으로 실행을 위해 AWS의 글로벌로 분산된 엣지 로케이션의 네트워크에 코드가 배포됩니다.

Q: CloudFront 함수의 사용 사례로는 무엇이 있습니까?

CloudFront 함수는 다음과 같이 단기 실행 경량 함수에 적합합니다.

  • 캐시 키 정규화: HTTP 요청 속성(헤더, 쿼리 문자열, 쿠키, 그리고 요청 URL의 상대적 경로)을 변환하여 캐시 적중률을 개선할 수 있도록 최적의 캐시 키를 생성할 수 있습니다.
  • 헤더 조작: 요청 또는 응답에서 HTTP 헤더를 삽입, 수정 또는 삭제할 수 있습니다. 예를 들어, HTTP 엄격한 전송 보안(HSTS) 또는 교차 오리진 리소스 공유(CORS) 헤더를 모든 응답에 추가할 수 있습니다.
  • URL 리디렉션 또는 다시 기록: 요청 정보에 따라 시청자를 다른 페이지로 리디렉션하거나 한 경로에서 다른 경로로 모든 요청을 리디렉션할 수 있습니다.
  • 요청 권한 부여: 권한 부여 헤더 또는 다른 요청 메타데이터를 검사하여 JSON 웹 토큰(JWT)과 같은 권한 부여 토큰을 검증할 수 있습니다.

Q: CloudFront KeyValueStore란 무엇인가요?

CloudFront KeyValueStore는 지연 시간이 짧고 완벽하게 관리되는 글로벌 키-값 데이터 스토어입니다. KeyValueStore를 통해 CloudFront Functions 내에서 키 값 데이터를 검색할 수 있으므로, 독립적인 데이터 업데이트를 허용하여 함수를 보다 쉽게 사용자 지정할 수 있습니다. 키 값 데이터는 모든 CloudFront 엣지 로케이션에서 액세스할 수 있어, CloudFront Functions 내에서 빠르게 읽을 수 있는 매우 효율적인 인메모리 키-값 스토어를 제공합니다.

Q: CloudFront KeyValueStore의 사용 사례로는 무엇이 있나요?

CloudFront KeyValueStore는 엣지 로케이션에서 자주 읽고 자주 업데이트하지 않는 다음과 같은 경우에 적합합니다.

  • URL 재작성 및 리디렉션 유지 관리: 지리적 위치를 기반으로 사용자를 특정 국가 사이트로 리디렉션합니다. 이러한 지리적 위치 기반 URL을 KeyValueStore에 저장하고 업데이트하면 URL 관리가 간소화됩니다.
  • A/B 테스트 및 특성 플래그: 웹 사이트 버전에 일정 비율의 트래픽을 할당하여 실험을 실행합니다. 함수 코드나 CloudFront 배포를 업데이트하지 않고도 실험 가중치를 업데이트할 수 있습니다.
  • 액세스 권한 부여: HMAC 토큰 또는 JSON 웹 토큰(JWT)과 같은 사용자 생성 토큰을 생성하고 검증하여 요청을 허용하거나 거부함으로써 CloudFront를 통해 제공되는 콘텐츠에 대한 액세스 제어 및 권한 부여를 구현합니다. 

Q: CloudFront Functions가 Lambda@Edge를 대체하나요?

아니요. CloudFront 함수는 Lambda@Edge를 보완하는 기능이며, 대체하지는 않습니다. Lambda@Edge 및 CloudFront 함수를 결합하면 작업에 올바른 도구를 선택할 수 있습니다. CloudFront 배포에서 동일한 캐시 동작 내 서로 다른 이벤트 트리거에서 CloudFront 함수 및 Lambda@Edge 모두를 사용하도록 선택할 수도 있습니다. 예를 들어, Lambda@Edge를 사용하여 사용자 지정 토큰을 삽입해 라이브 스트림을 보안하도록 스트리밍 매니페스트 파일을 즉시 조작할 수 있습니다. CloudFront 함수를 사용하면 사용자가 매니페스트에서 세그먼트에 대한 요청을 수행할 때 이러한 토큰을 검증할 수 있습니다.

Q: CloudFront 함수 또는 Lambda@Edge를 사용해야 합니까?

CloudFront 함수 및 Lambda@Edge를 결합하면 CloudFront 이벤트에 대한 응답으로 코드를 실행할 때 강력하면서도 유연한 두 가지 옵션을 제공합니다. 둘 다 인프라를 관리하지 않고도 CloudFront 이벤트에 대한 응답으로 코드를 실행하는 안전한 방법을 제공합니다. CloudFront 함수는 지연 시간에 민감한 경량의 대규모 요청/응답 변환 및 조작을 위해 특별히 설계되었습니다. Lambda@Edge는 다양한 컴퓨팅 요구 사항 및 사용자 지정을 지원하는 범용 런타임을 사용합니다. Lambda@Edge는 컴퓨팅 집약적 작업에 사용해야 합니다. 완료하는 데 시간이 더 오래 걸리거나(밀리초에서 초 단위까지), 외부 타사 라이브러리에 종속성이 존재하거나, 다른 AWS 서비스(예: S3, DynamoDB)와 통합이 필요하거나 데이터 처리를 위해 네트워크 호출이 필요한 컴퓨팅이 이에 해당될 수 있습니다. 널리 사용되는 몇 가지 고급 Lambda@Edge 사용 사례로는, HLS 스트리밍 매니페스트 조작, 서드 파티 권한 부여 및 봇 탐지 서비스와의 통합, 엣지에서 단일 페이지 앱(SPA)의 서버 측 렌더링(SSR) 등이 포함됩니다. 자세한 내용은 Lambda@Edge 사용 사례 페이지를 참조하세요.

Q: AWS에서 CloudFront 함수를 어떻게 보안합니까?

CloudFront 함수는 예상되는 성능, 확장성 및 비용 효율성을 제공하는 동시에, 독특한 보안 모델을 통해 함수 코드 사이에서 엄격한 격리 경계를 제공합니다. 공유 다중 테넌트 컴퓨팅 환경에서 사용자 지정 코드를 실행하는 경우 매우 안전한 실행 환경을 유지하는 것이 핵심입니다. 잘못된 액터가 런타임, 라이브러리 또는 CPU에 존재하는 버그를 악용하여 서버 또는 다른 컴퓨터 함수에서 민감한 데이터를 누출시킬 수 있습니다. 함수 코드 사이에 엄격한 격리 장벽이 없으면 이렇게 악용될 수 있습니다. AWS Lambda 및 Lambda@Edge 모두 Firecracker 기반 VM 격리를 통해 이러한 보안 격리를 이미 구축했습니다. CloudFront 함수를 사용하여 Spectre 및 Meltdown과 같은 사이드 채널 공격, 타이밍 기반 공격 또는 기타 코드 취약성으로부터 보호하는 동일한 보안 수준을 제공하는 프로세스 기반 격리 모델을 개발했습니다. CloudFront 함수는 다른 고객에게 속한 데이터에 액세스하거나 이를 수정할 수 없습니다. 전용 CPU에서 전용 프로세스로 함수를 실행하여 이를 구현합니다. CloudFront 함수는 한 번에 한 명의 고객만 지원하는 프로세스에서 실행되며, 모든 고객 특정 데이터는 실행 사이에서 지워집니다(플러시).

CloudFront 함수는 JavaScript 엔진으로 V8을 사용하지 않습니다. 함수의 보안 모델은 서로 다르지만, 일부 다른 공급자가 제공하는 모델에 따라 v8 격리보다 보안 수준이 높다고 평가됩니다.

Q: CloudFront Functions가 성공적으로 실행되는지 확인하려면 어떻게 해야 합니까?

기본 제공 테스트 기능을 사용하여 함수를 테스트할 수 있습니다. 함수 테스트는 함수가 예상 결과를 반환하는지 검증하기 위해 CloudFront 배포에서 코드를 실행합니다. 코드 실행 검증 외에도, 컴퓨팅 사용률 지표도 함께 제공됩니다. 컴퓨팅 사용률 지표는 함수가 실행 제한 시간에 근접한 정도를 비율로 표시합니다. 예를 들어, 컴퓨팅 사용률이 30이면 함수가 허용 가능한 전체 실행 시간의 30%를 사용하고 있음을 나타냅니다. 테스트 객체는 시각적 편집기를 사용하여 생성할 수 있으며, 이를 통해 각 각체에 대한 쿼리 문자열, 헤더, URL 및 HTTP 요청을 쉽게 추가할 수 있습니다. 또는 요청 또는 응답의 JSON 표현을 사용하여 테스트 객체를 생성할 수 있습니다. 테스트를 실행한 후 결과와 컴퓨팅 사용률 지표는 동일한 시각적 편집기 스타일에서 또는 JSON 응답에서 확인할 수 있습니다. 함수가 성공적으로 실행되고 컴퓨팅 사용률 지표가 100에 근사하지 않으면 CloudFront 배포에 연결될 때 함수가 작동함을 확인할 수 있습니다.

Q: CloudFront 함수를 모니터링하려면 어떻게 해야 합니까?

CloudFront 함수는 지표 및 실행 로그 모두를 출력하여 함수의 사용량과 성능을 모니터링합니다. 지표는 함수가 호출될 때마다 생성되며, CloudFront 또는 CloudWatch 콘솔에서 개별적으로 각 함수의 지표를 확인할 수 있습니다. 지표는 호출 수, 컴퓨팅 사용률, 검증 오류 및 실행 오류를 포함합니다. 함수에서 검증 오류 또는 실행 오류가 발생한 경우 CloudFront 액세스 로그에도 오류 메시지가 표시되어 CloudFront 트래픽에 함수가 미치는 영향을 더 효과적으로 확인할 수 있습니다. 지표 외에도, 함수 코드 내에 console.log() 문을 포함하여 실행 로그를 생성할 수 있습니다. 모든 log 문은 CloudWatch로 전송되는 CloudWatch 로그 항목을 생성합니다. 로그 및 지표는 CloudFront 함수 요금의 일부로 포함됩니다. 

Lambda@Edge

Q: Lambda@Edge란 무엇입니까?

Lambda@Edge는 서버를 프로비저닝하거나 관리하지 않고도 글로벌 엣지 로케이션에서 코드를 실행할 수 있는 AWS Lambda의 확장 기능입니다. Lambda@Edge는 시청자에게 보다 가깝게 전체 애플리케이션 로직 및 복잡한 함수에 대한 강력하면서도 유연한 서버리스 컴퓨팅을 제공합니다. Lambda@Edge 함수는 Node.js 또는 Python 환경에서 실행됩니다. 단일 AWS 리전에 함수를 게시하고, 함수를 CloudFront 배포에 연결하면 Lambda@Edge에서 자동으로 전 세계에 코드를 복제합니다. Lambda@Edge는 하루 몇 건의 요청에서 초당 수천 건까지 자동으로 확장하도록 지원합니다.

Q: Lambda@Edge에서 콘텐츠를 사용자 지정하려면 어떻게 해야 합니까?

Lambda@Edge는 CloudFront에서 특정 캐시 동작에 함수를 연결하여 실행됩니다. 또한, CloudFront 요청 또는 응답 처리 중에 함수가 실행되는 시점(즉, 시청자가 랜드를 요청하는 경우, 요청이 오리진으로 전달되거나 오리진에서 다시 수신되는 경우 또는 최종 시청자에게 다시 응답하기 바로 직전)을 지정할 수도 있습니다. Lambda 콘솔에서 Node.js 또는 Python를 사용하거나 API 또는 서버리스 애플리케이션 모델(SAM)과 같은 프레임워크를 사용하여 코드를 쓸 수 있습니다. 함수를 테스트한 후 선택한 CloudFront 캐시 동작 및 이벤트 트리거에 함수를 연결합니다. 저장이 완료된 후 다음에 CloudFront 배포에 대한 해당 요청이 있을 때 함수가 CloudFront 엣지로 전파되고 필요에 따라 확장 및 실행됩니다. 자세한 내용은 설명서를 참조하세요.

Q: Amazon CloudFront로 어떤 Lambda@Edge 이벤트를 트리거할 수 있습니까?

다음 Amazon CloudFront 이벤트에 대한 응답으로 Lambda@Edge 함수가 자동으로 트리거됩니다.

  • 시청자 요청: 최종 사용자나 인터넷상의 디바이스가 CloudFront에 HTTP 요청을 하고 해당 사용자에게 가장 가까운 엣지 로케이션에 요청이 도착할 때 이 이벤트가 발생합니다.
  • 시청자 응답: 엣지에 있는 CloudFront 서버가 요청한 최종 사용자나 디바이스에 응답할 준비가 될 때 이 이벤트가 발생합니다.
  • 오리진 요청: CloudFront 엣지 서버에 캐시에서 요청된 객체가 아직 없고 백엔드 오리진 웹 서버(예: Amazon EC2, Application Load Balancer 또는 Amazon S3)로 시청자 요청을 보낼 준비가 되어 있을 때 이 이벤트가 발생합니다.
  • 오리진 응답: 엣지에 있는 CloudFront 서버가 백엔드 오리진 웹 서버에서 응답을 수신할 때 이 이벤트가 발생합니다.

지속적 배포

Q: CloudFront에서의 지속적 배포란 무엇인가요?

CloudFront의 지속적 배포는 모든 최종 사용자에게 변경 사항을 배포하기 전에 라이브 트래픽의 일부로 구성 변경 사항을 테스트하고 검증하는 기능을 제공합니다.

CloudFront의 지속적 배포는 높은 수준의 배포 안전성을 제공합니다. 이제 별도지만 동일한 두 개의 환경인 블루 및 그린을 배포하고 도메인 이름 시스템(DNS)을 변경하지 않고도 점진적으로 릴리스를 롤아웃할 수 있는 기능을 통해 지속적 통합 및 전달(CI/CD) 파이프라인에 간단하게 통합할 수 있습니다. 시청자 세션을 동일한 환경에 바인딩하여 세션 고정성을 통해 시청자가 일관된 환경을 확보할 수 있도록 합니다. 또한 표준 및 실시간 로그를 모니터링하여 변경 사항의 성능을 비교하고 변경 사항이 서비스에 부정적인 영향을 주는 경우 빠르게 이전 구성으로 되돌릴 수 있습니다. 

Q: CloudFront에서의 지속적 배포를 설정하려면 어떻게 해야 하나요?

CloudFront 콘솔, SDK, 명령줄 인터페이스(CLI) 또는 CloudFormation 템플릿을 통해 스테이징 배포를 기본 배포에 연결하여 지속적 배포를 설정할 수 있습니다. 그런 다음 클라이언트 헤더를 구성하거나 스테이징 배포로 테스트할 트래픽 비율을 다이얼링하여 트래픽을 분할하는 규칙을 정의할 수 있습니다. 일단 설정되면 원하는 변경 사항으로 스테이징 구성을 업데이트할 수 있습니다. CloudFront는 사용자에 대한 트래픽 분할을 관리하고 배포를 계속할지 또는 롤백할지 결정하는 데 도움이 되는 관련 분석을 제공합니다. 스테이징 배포를 사용한 테스트가 검증되면 변경 사항을 기본 배포에 병합할 수 있습니다.

이 기능에 대해 자세히 알아보려면 설명서를 참조하세요.

Q: 지속적인 배포의 결과를 어떻게 측정하나요?

지속적인 배포를 사용하면 실제 웹 트래픽을 통해 실제 사용자 모니터링이 가능합니다. 사용 가능한 기존 모니터링 방법(CloudFront 콘솔, CloudFront API, CLI 또는 CloudWatch)을 사용하여 기본 및 스테이징 배포의 운영 지표를 개별적으로 측정할 수 있습니다. 두 배포 간의 처리량, 대기 시간 및 가용성 지표를 측정하고 비교하여 특정 애플리케이션의 성공 기준을 측정할 수 있습니다.

Q: 기존 배포를 사용할 수 있나요?

예. 기존 배포를 기준으로 사용하여 스테이징 배포를 생성하고 변경 사항을 도입 및 테스트할 수 있습니다.

Q: CloudFront Functions 및 Lambda@Edge에서 지속적 배포는 어떻게 작동하나요?

지속적 배포를 사용하면 다양한 기능을 기본 및 스테이징 배포와 연결할 수 있습니다. 두 배포에서 동일한 기능을 사용할 수도 있습니다. 두 배포에서 사용되는 함수를 업데이트하면 두 배포 모두 업데이트를 받습니다.

Q: AWS CloudFormation에서 지속적 배포를 사용하려면 어떻게 해야 하나요?

CloudFormation 스택의 각 리소스는 특정 AWS 리소스에 매핑됩니다. 스테이징 배포는 자체 리소스 ID를 가지며 다른 AWS 리소스처럼 작동합니다. CloudFormation을 사용하여 해당 리소스를 생성/업데이트할 수 있습니다.

Q: CloudFront의 지속적 배포는 세션 고정성을 어떻게 지원하나요?

가중치 기반 구성을 사용하여 트래픽을 스테이징 배포로 라우팅할 때 세션 고정성을 활성화할 수도 있습니다. 그러면 CloudFront가 동일한 최종 사용자의 요청을 단일 세션으로 처리하는 데 도움이 됩니다. 세션 고정성을 활성화하면 CloudFront는 쿠키를 설정하여 단일 세션에서 동일한 최종 사용자의 모든 요청이 하나의 배포(기본 또는 스테이징)에서 처리되도록 합니다.

Q: 비용은 얼마인가요?

지속적 배포 기능은 모든 CloudFront 엣지 로케이션에서 추가 비용 없이 사용할 수 있습니다.

IPv6

Q: IPv6란 무엇입니까?

인터넷에 연결된 모든 서버와 디바이스에는 숫자로 구성된 인터넷 프로토콜(IP) 주소가 있어야 합니다. 인터넷과 이를 사용하는 사용자 수가 기하급수적으로 증가함에 따라 IP 주소에 대한 수요 또한 급증하고 있습니다. IPv6는 이전 버전인 IPv4보다 더 큰 주소 공간을 사용하는 새로운 버전의 인터넷 프로토콜입니다. IPv4에서는 모든 IP 주소의 길이가 32비트이므로 43억 개의 고유한 주소를 제공할 수 있습니다. IPv4 주소의 한 예로 192.0.2.1을 들 수 있습니다. 반면에 IPv6 주소는 128비트입니다. 즉, 약 340조 개의 고유한 IP 주소를 제공할 수 있습니다. IPv6 주소의 예로는 2001:0db8:85a3:0:0:8a2e:0370:7334를 들 수 있습니다.

Q: IPv6로 어떤 작업을 할 수 있습니까?

Amazon CloudFront의 IPv6 지원 기능을 사용하면 애플리케이션이 IPv6에서 IPv4로의 변환 소프트웨어나 시스템 없이도 Amazon CloudFront 엣지 로케이션에 연결할 수 있습니다. 미국 연방 정부를 비롯하여 정부에서 정한 IPv6 도입에 대한 요구 사항을 충족하고, IPv6 확장성, 네트워크 관리의 간편성, 보안에 대한 기본 지원을 추가로 활용할 수 있습니다.

Q: IPv6를 사용하면 Amazon CloudFront 성능에 변화가 있습니까?

아니요. Amazon CloudFront에서 IPv4 또는 IPv6 어느 것을 사용하든 성능은 동일합니다.

Q: Amazon CloudFront 기능 중에 IPv6와 연동되지 않는 기능이 있습니까?

모든 Amazon CloudFront의 기존 기능은 IPv6에서도 계속 작동합니다. 다만 배포에 대해 IPv6를 활성화하기 전에 내부 IPv6 주소 처리를 위해 두 가지 항목을 변경해야 할 수도 있습니다.

  1. Amazon CloudFront 액세스 로그 기능을 활성화했다면 "c-ip" 필드에 최종 사용자의 IPv6 주소가 보이기 시작할 것입니다. 로그 처리 시스템이 IPv6에서도 계속 작동하는지 확인해야 할 수도 있습니다.
  2. Amazon CloudFront 배포에 대해 IPv6를 활성화하면 오리진으로 전송된 ‘X-Forwarded-For’ 헤더에 IPv6 주소가 표시됩니다. 오리진 시스템에서 IPv4 주소만 처리할 수 있는 경우에는 오리진 시스템이 IPv6에서도 계속 작동하는지 확인해야 할 수도 있습니다.

또한, 신뢰할 수 있는 서명자용 IP 화이트리스트를 사용하는 경우, IP 화이트리스트의 신뢰할 수 있는 서명자 URL에 대해서는 IPv4 전용 배포를 사용하고 다른 모든 콘텐츠에 대해서는 IPv4/IPv6 배포를 사용해야 합니다. 이 모델은 서명 요청이 IPv4 주소를 통해 전송되고 서명된 경우 발생할 수 있는 문제를 방지합니다. 콘텐츠에 대한 요청이 화이트리스트에 없는 다른 IPv6 주소를 통해 수신되도록 하기만 하면 됩니다.

Amazon CloudFront의 IPv6 지원에 대해 자세히 알아보려면 Amazon CloudFront 개발자 안내서에서 "Amazon CloudFront의 IPv6 지원" 섹션을 참조하십시오.

Q: 그렇다면 IPv6를 사용하려면 IP 화이트리스트의 신뢰할 수 있는 서명자 URL을 사용할 수 없다는 뜻입니까?

IPv6와 IP 화이트리스트의 신뢰할 수 있는 서명자 URL을 사용하려면 두 개의 별도 배포를 사용해야 합니다. IP 화이트리스트의 신뢰할 수 있는 서명자 URL에 대한 전용 배포를 만들고 해당 배포에 대해서는 IPv6를 비활성화해야 합니다. 그런 다음 그 외 모든 콘텐츠에 대해서는 IPv4와 IPv6 둘 다 사용할 수 있는 또 다른 배포를 적용해야 합니다.

Q: IPv6를 활성화하면 IPv6 주소가 액세스 로그에 표시됩니까?

예. Amazon CloudFront 액세스 로그 기능이 활성화한 경우 최종 사용자의 IPv6 주소가 액세스 로그의 "c-ip" 필드에 표시됩니다. 배포에 대해 IPv6를 활성화하기 전에 로그 처리 시스템이 IPv6 주소에서도 계속 작동하는지 확인해야 할 수도 있습니다. IPv6 트래픽 문제가 액세스 로그에서 IPv6 주소를 처리하는 도구 또는 소프트웨어의 기능에 영향을 주는 경우 Developer Support에 문의해 주십시오. 자세한 내용은 Amazon CloudFront 액세스 로그 설명서를 참조하십시오.

Q: 모든 새로운 배포에 대해 IPv6를 비활성화할 수 있습니까?

예. Amazon CloudFront 콘솔 또는 API를 사용하여 기존 및 새로운 배포 모두에 대해 배포별로 IPv6를 활성화하거나 비활성화할 수 있습니다.

Q: IPv6를 비활성화해야 하는 이유가 있습니까?

AWS 고객에 따르면 비활성화해야 하는 일반 사용 사례는 내부 IP 주소 처리의 경우뿐이었습니다. Amazon CloudFront 배포에 대해 IPv6를 활성화하면 IPv6 주소가 상세 액세스 로그에 표시될 뿐만 아니라 오리진으로 전송되는 ‘X-Forwarded-For’ 헤더에도 표시됩니다. 오리진 시스템이 IPv4 주소만 처리할 수 있는 경우에는 배포에 대해 IPv6를 활성화하기 전에 오리진 시스템이 IPv6 주소에서도 계속 작동하는지 확인해야 할 수도 있습니다.

Q: 내 배포에 대해 IPv6를 활성화했지만 DNS 조회가 어떤 IPv6 주소도 반환하지 않습니다. 어떻게 된 겁니까?

Amazon CloudFront는 전 세계에서 매우 다양한 연결을 지원합니다. 하지만 어디에서나 흔히 볼 수 있는 IPv6 연결을 지원하지 않는 네트워크가 여전히 존재합니다. 분명 장기적으로는 IPv6가 인터넷의 미래가 되겠지만, 당분간은 모든 인터넷 엔드포인트에서 IPv4 연결을 사용하게 될 것입니다. IPv6보다 IPv4 연결이 더 잘 지원되는 인터넷을 접하는 경우 IPv4를 선호하게 됩니다.

Q: Route 53을 사용하여 내 DNS 요구 사항을 처리하고 Amazon CloudFront 배포를 가리키는 별칭 레코드를 생성한 경우 IPv6를 활성화하려면 내 별칭 레코드를 업데이트해야 합니까?

예. "A"와 "AAAA" 레코드 유형을 각각 사용하여 IPv4 및 IPv6를 지원하도록 Amazon CloudFront 배포를 가리키는 Route 53 별칭 레코드를 생성할 수 있습니다. IPv4만을 활성화하려면 "A" 유형의 별칭 레코드 하나만 있으면 됩니다. 별칭 리소스 레코드 세트에 대한 자세한 내용은 Amazon Route 53 개발자 안내서를 참조하십시오.

결제

Q: Amazon CloudFront용 AWS 프리 티어에 포함되는 사용 유형은 무엇입니까?

2021년 12월 1일부터 모든 AWS 고객은 매월 1TB의 데이터 전송, 10,000,000개의 HTTP/HTTPS 요청, 2,000,000개의 CloudFront Functions 호출을 무료로 받게 됩니다. 다른 모든 사용 유형(예: 무효화, 프록시 요청, Lambda@edge, 오리진 Shield, 오리진으로 데이터 전송 등)은 프리 티어에서 제외됩니다.

Q: 통합 결제에 가입하면 계정별로 AWS 프리 티어를 받을 수 있습니까?

아니요. 여러 계정의 결제를 통합하기 위해 통합 결제를 사용하는 고객은 조직당 하나의 프리 티어에만 액세스할 수 있습니다.

Q: 사용량이 여러 지역에서 프리 티어를 초과하면 어떻게 됩니까?

1TB 데이터 전송 및 1천만 개의 Get 요청은 모든 엣지 로케이션에서 월간 프리 티어의 한도입니다. 사용량이 월간 프리 티어 한도를 초과하는 경우 각 리전에 대해 표준 온디맨드 AWS 서비스 요금을 지불하기만 하면 됩니다. 전체 요금 내역은 AWS CloudFront 요금 페이지를 참조하십시오.

Q: 얼마나 사용했는지와 프리 티어 한도를 초과했는지를 어떻게 알 수 있습니까?

계정에 로그인하여 결제 및 비용 관리 대시보드로 이동하면 리전별로 현재와 과거의 사용 내역을 확인할 수 있습니다. 거기에서 AWS Budgets을 사용하여 비용 및 사용량을 관리하고, Cost Explorer를 통해 비용 동인과 사용 추세를 시각화하고, 비용 및 사용 보고서를 사용하여 비용을 심층 분석할 수 있습니다. AWS 비용을 관리하는 방법에 대한 자세한 내용은 AWS 비용 관리 10분 자습서를 참조하십시오.

Q: 프리 티어는 CloudFront Security Savings 번들을 구독하는 고객에게 적용됩니까?

CloudFront Security Savings 번들을 구독하는 고객은 프리 티어의 혜택도 누릴 수 있습니다. 프리 티어를 고려하여 CloudFront Security Savings 번들에 대한 약정을 낮출 필요가 있다고 생각되는 경우 고객 서비스에 연락하시면 변경 요청을 평가해 드리겠습니다. 이에 대한 자세한 내용은 며칠 내에 제공할 예정입니다. 계속해서 주목하시기 바랍니다. 

추가 질문은 https://aws.amazon.com/free/free-tier-faqs/를 참조하십시오.

Q: Amazon CloudFront의 사용료는 어떻게 부과됩니까?

Amazon CloudFront 요금은 데이터 전송, HTTP/HTTPS 요청, 무효화 요청, 실시간 로그 요청 및 CloudFront 배포와 연결된 전용 IP 사용자 정의 SSL 인증서의 5가지 영역에서 서비스의 실제 사용량을 기준으로 부과됩니다.

AWS 프리 티어를 사용하면 Amazon CloudFront를 무료로 시작할 수 있으며 사용량이 늘어남에 따라 요금을 낮출 수 있습니다. 모든 CloudFront 고객은 이러한 한도를 초과한 경우에도 1TB의 데이터 전송과 Amazon CloudFront에 대한 10,000,000개의 HTTP 및 HTTPS 요청을 무료로 받습니다.

  • 인터넷으로의 데이터 전송
    Amazon CloudFront 엣지 로케이션에서 전송된 데이터의 양(GB 단위로 측정됨)에 대해 비용이 청구됩니다. Amazon CloudFront에서 인터넷으로의 데이터 전송에 대한 요금은 여기에서 확인할 수 있습니다. 지리적 리전별로 데이터 송신 사용량 총합을 집계한 후 각 지역의 요금 티어를 바탕으로 비용을 계산합니다. 파일 오리진으로 다른 AWS 서비스를 사용하는 경우 스토리지 및 컴퓨팅 시간을 포함한 해당 서비스 사용료가 별도로 부과됩니다. 2014년 12월 1일 당시 유효한 AWS 오리진을 사용하는 경우(Amazon S3, Amazon EC2 등), Amazon CloudFront로의 AWS 데이터 송신 요금을 부과하지 않습니다. 이는 모든 AWS 리전에서 모든 글로벌 CloudFront 엣지 로케이션으로의 데이터 전송에 적용됩니다.
  • 오리진으로의 데이터 송신
    Amazon CloudFront 엣지 로케이션에서 오리진(AWS 오리진 및 기타 오리진 서버 모두)으로 전송된 데이터의 양(GB 단위로 측정됨)에 대해 요금이 부과됩니다. Amazon CloudFront에서 오리진으로의 데이터 전송에 대한 요금은 여기에서 확인할 수 있습니다.
  • HTTP/HTTPS 요청
    Amazon CloudFront에 전송한 콘텐츠의 HTTP/HTTPS 요청 수에 대해 요금이 부과됩니다. 여기에서 HTTP/HTTPS 요청에 대한 요금을 확인할 수 있습니다.
  • 무효화 요청
    무효화 요청의 경로마다 요금이 청구됩니다. 무효화 요청에 기재된 경로는 CloudFront 캐시에서 무효화하려는 객체의 URL(경로에 와일드카드 문자가 포함되어 있는 경우 URL 여러 개)을 나타냅니다. 매달 추가 비용 없이 Amazon CloudFront에서 최대 1,000개 경로를 요청할 수 있습니다. 초기 1,000개 경로를 초과하는 경우 무효화 요청에 기재된 경로당 요금이 청구됩니다. 여기에서 무효화 요청에 대한 요금을 확인할 수 있습니다.
  • 실시간 로그 요청
    실시간 로그 요금은 생성된 로그 줄 수를 기준으로 부과되며 CloudFront가 로그 대상에 게시하는 로그 1,000,000개당 0.01 USD가 부과됩니다.
  • 전용 IP 사용자 지정 SSL
    사용자 정의 SSL 인증 지원의 전용 IP 버전을 사용하여 하나 이상의 CloudFront 배포와 관련된 각 사용자 정의 SSL 인증서에 대해 매월 600 USD를 지불합니다. 이 월별 요금은 시간 단위로 비례 청구됩니다. 예를 들어, 6월에 24시간(즉 1일) 동안 최소 하나의 CloudFront 배포에 연결된 사용자 지정 SSL 인증서를 가진 경우 6월 사용자 지정 SSL 인증서 사용에 대한 전체 비용은 (1일/30일) * 600 USD = 20 USD입니다. 전용 IP 사용자 지정 SSL 인증서 지원을 사용하려면 SSL 인증서를 업로드하고 AWS Management Console을 사용하여 이를 CloudFront 배포에 연결합니다. CloudFront 배포에 사용자 지정 SSL 인증서를 두 개 이상 연결해야 하는 경우 CloudFront 한도 증가 요청 양식에 사용 사례에 대한 세부 정보 및 사용할 사용자 지정 SSL 인증서의 수를 기재하시기 바랍니다.

데이터 전송용 사용량 티어는 각 지리적 리전별로 별도로 측정됩니다. 별도로 언급되지 않는 한 위의 가격은 관련 세금, 요금, 유사한 정부 요금(있는 경우)을 뺀 금액입니다.

Q: 요금에는 세금이 포함됩니까?

명시된 경우를 제외하고 요금에는 VAT 및 해당 판매세를 비롯한 관련 조세 공과가 포함되지 않습니다. 청구지 주소가 일본으로 되어 있는 고객의 경우 AWS 서비스 사용 시 일본 소비세의 적용을 받게 됩니다. 자세히 알아보십시오.

Q: 실시간 로그를 이용하려면 요금이 얼마나 듭니까?
로그 크기 1KB로 초당 1,000건의 요청을 처리하는 배포로, 샤드 2개를 가지고 미국 동부(오하이오)에서 Kinesis Data Stream을 생성하는 경우:

Kinesis Data Stream의 월별 비용: 여기의 Kinesis 계산기를 사용하여 계산했을 때 월 47.74 USD.

CloudFront 실시간 로그의 월별 비용: 월별 요청 수 X 실시간 로그 비용 = 1,000 * (60초 * 60분 *24시간 * 30일) X (0.01 USD / 1,000,000) = 월 25.92 USD

Q: 304 응답 비용은 어떻게 청구됩니까?

304는 조건부 GET 요청에 대한 응답으로서, HTTP/HTTPS 요청 및 인터넷으로의 데이터 전송 요금이 발생하게 됩니다. 304 응답은 메시지 본문을 포함하지 않지만, HTTP 헤더가 일부 대역폭을 사용하므로 표준 CloudFront 데이터 전송 요금이 부과됩니다. 데이터 전송량은 객체와 관련된 헤더에 따라 달라집니다.

Q: 좀 더 저렴한 Amazon CloudFront 리전의 콘텐츠만 전송하도록 선택할 수 있습니까?

예. "가격 등급"은 Amazon CloudFront에서 콘텐츠를 전송하는 비용을 낮출 수 있는 옵션을 제공합니다. 기본적으로 Amazon CloudFront는 엣지의 전체 글로벌 네트워크를 이용해 콘텐츠를 전송함으로써 최종 사용자 지연 시간을 최소화합니다. 그러나 비용이 높은 곳에서는 더 많은 요금을 청구하기 때문에 지역에 따라 지연 시간이 짧은 콘텐츠를 최종 사용자에게 전송할 때 더 많은 요금을 지불해야 할 수 있습니다. 요금 계층을 사용하면 가격이 비싼 Amazon CloudFront 엣지를 Amazon CloudFront 배포에서 제외함으로써 전송 비용을 줄일 수 있습니다. 이러한 경우에 Amazon CloudFront는 고객이 선택한 가격 등급의 리전 내 엣지로부터 콘텐츠를 전송하며 해당 콘텐츠가 전송된 실제 로케이션의 데이터 전송 및 요청 요금을 사용자에게 부과합니다.

성능이 가장 중요하다면 아무것도 할 필요가 없습니다. 콘텐츠는 AWS의 모든 로케이션 네트워크를 통해 전송됩니다. 그러나 다른 가격 등급을 사용하려면 AWS Management Console 또는 Amazon CloudFront API를 통해 배포를 구성할 수 있습니다. 선택한 요금 계층에 일부 로케이션이 포함되어 있지 않은 경우, 최종 사용자 중 일부, 특히 요금 계층에 없는 지리적 로케이션에 있는 최종 사용자는 콘텐츠가 모든 Amazon CloudFront 로케이션에서 제공되는 경우보다 지연 시간이 길어질 수 있습니다.

경우에 따라 Amazon CloudFront가 해당 요금 계층에 포함되어 있지 않은 엣지에서 오는 콘텐츠 요청을 처리할 수도 있습니다. 이 경우에는 해당 가격 등급에서 가장 저렴한 로케이션의 요금만 부과됩니다.

각 가격 등급을 구성하는 로케이션 목록은 여기에서 확인할 수 있습니다.

CloudFront Security Savings Bundle

Q: CloudFront Security Savings Bundle이란 무엇입니까?

CloudFront Security Savings Bundle은 일정 금액의 월 사용 요금(예 월 100 USD)을 1년 약정하는 대신 CloudFront 청구 금액을 최대 30%까지 절약해주는 유연한 셀프 서비스 요금제입니다.  추가 혜택으로, CloudFront 리소스를 보호하기 위한 AWS WAF (AWS 웹 애플리케이션 방화벽) 사용량이 약정된 플랜 금액의 최대 10%까지 추가 비용 없이 제공됩니다.  예를 들어 월 100 USD의 CloudFront 사용 요금을 약정하면 142.86 USD의 CloudFront 사용 요금을 충당할 수 있으므로 표준 요금에 비해 30% 할인을 받는 셈입니다. 또한 CloudFront 리소스를 보호하기 위한 최대 10 USD의 AWS WAF 사용량이 매달 추가 비용 없이 제공됩니다(CloudFront 약정 금액의 최대 10%).  월간 지출 약정 금액을 초과하는 모든 요금에는 표준 CloudFront 및 AWS WAF 요금이 적용됩니다.  사용량이 증가하면 Savings Bundle을 추가로 구입하여 늘어난 사용량에 대한 할인을 받을 수 있습니다. 

Q: 어떤 유형의 사용 요금이 CloudFront Security Savings Bundle로 충당됩니까?

CloudFront Security Savings Bundle을 구입하면 월간 청구서의 CloudFront 서비스 부분에 표시되며, 오리진 안팎으로의 데이터 전송, HTTP/S 요청 요금, 필드 수준 암호화 요청, Origin Shield, 무효화, 전용 IP 사용자 지정 SSL, Lambda@Edge 요금 등 청구되는 모든 CloudFront 사용 유형을 상쇄하는 하는 30%의 절감 혜택을 얻을 수 있습니다.  또한 CloudFront 배포와 관련한 AWS WAF 사용량에 적용되는 추가 혜택도 받을 수 있습니다. 

Q: CloudFront Security Savings Bundle은 어떻게 시작합니까?
CloudFront Security Savings Bundle은 CloudFront 콘솔을 방문하여 과거 CloudFront 및 AWS WAF 사용량을 기준으로 한 약정 금액에 대한 권장 사항을 확인하거나 예상 월 사용량을 입력하는 것으로 시작할 수 있습니다. CloudFront Security Savings Bundle 월별 요금을 온디맨드 비용과 비교하고 예상 절감액을 확인하여 요구 사항에 적합한 플랜을 결정할 수 있습니다.  Savings Bundle에 가입하면 월간 약정 금액이 청구되며 CloudFront 및 WAF 사용 요금을 상쇄하는 크레딧이 표시됩니다.  월간 지출 약정 금액을 초과하는 모든 요금에는 표준 서비스 요금이 적용됩니다. 

Q: 1년 후에 CloudFront Security Savings Bundle이 만료되면 어떻게 됩니까?

CloudFront Security Savings Bundle 기간이 만료되면 CloudFront 및 AWS WAF 사용량에 대해 표준 서비스 요금이 적용됩니다.   월간 Savings Bundle 약정 금액은 더 이상 청구되지 않으며 Savings Bundle 혜택이 더 이상 적용되지 않습니다.  번들 기간이 만료되기 전에 언제든지 CloudFront Security Savings Bundle을 1년 더 자동으로 갱신하도록 선택할 수 있습니다.

Q: CloudFront Security Savings Bundle은 AWS Organizations/통합 결제에 어떻게 적용됩니까?

CloudFront Security Savings Bundle은 AWS Organization/통합 결제 패밀리 내의 모든 계정에서 구입할 수 있습니다.   CloudFront Security Savings Bundle 혜택은 청구서에 크레딧으로 적용됩니다. Savings Bundle에서 제공하는 혜택은 AWS Organizations/통합 결제 패밀리의 모든 계정에 기본적으로 적용되며(크레딧 공유가 활성화됨) 구독 계정이 조직에 참여하거나 이탈하는 시점에 따라 결정됩니다.  단일 계정과 여러 계정에 AWS 크레딧이 어떻게 적용되는지 자세히 알아보려면 AWS 크레딧을 참조하세요.

Q: 여러 CloudFront Security Savings Bundle을 동시에 적용할 수 있습니까?

예. 사용량이 증가하면 추가 CloudFront Security Savings Bundle을 구입하여 증가한 사용량에 대해 할인을 받을 수 있습니다.   AWS 결제 금액을 계산할 때 활성 CloudFront Security Savings Bundle이 모두 반영됩니다.

Q: CloudFront Security Savings Bundle은 청구서에 어떻게 표시됩니까?

청구서의 별도 CloudFront Security Bundle 섹션에 월간 약정 요금이 표시됩니다.  CloudFront Security Savings Bundle로 충당되는 사용량은 청구서의 CloudFront 및 WAF 부분에 표준 사용 요금을 상쇄하는 크레딧으로 표시됩니다.  

Q: 사용량이 CloudFront Security Savings Bundle의 월간 약정 금액을 초과할 경우 알림을 받을 수 있습니까?

예. AWS Budgets를 사용하면 비용 및 사용량 임계값을 설정하고 실제 또는 예상 요금이 임계값을 초과할 경우 이메일 또는 Amazon SNS 주제를 통해 알림을 받을 수 있습니다.  CloudFront Service에 대해 필터링된 사용자 지정 AWS 예산을 생성하고 예산 임계값을 CloudFront Security Savings Bundle로 충당되는 CloudFront 온디맨드 사용 요금으로 설정하여 해당 임계값을 초과할 경우 그에 대한 알림을 받을 수 있습니다.   예산에 대한 자세한 내용은 AWS Billing and Cost Management 사용 설명서에서 AWS Budgets를 통해 비용 관리예산 생성을 참조하세요. 

Q: WAF 청구서의 어느 부분에 CloudFront Security Savings Bundle이 적용됩니까?

CloudFront Security Savings Bundl의 추가 혜택으로, CloudFront 리소스를 보호하기 위한 AWS WAF 사용량이 약정된 플랜 금액의 최대 10%까지 추가 비용 없이 제공됩니다. CloudFront Security Savings Bundle에 포함되지 않는 사용량에 대해서는 표준 CloudFront 및 AWS WAF 요금이 적용됩니다.  AWS Marketplace를 통해 가입한 관리형 WAF 규칙은 CloudFront Security Savings Bundle로 충당되지 않습니다.

Q: CloudFront에 대한 맞춤형 요금 계약을 이미 체결한 경우, CloudFront Security Savings Bundle에도 가입할 수 있습니까?

두 가지 중 하나에만 가입할 수 있습니다.  맞춤형 요금 계약과 관련하여 궁금한 점이 있는 경우 AWS 계정 관리자에게 문의하세요.

Q: API를 통해 CloudFront Security Savings Bundle에 가입할 수 있습니까?

CloudFront 콘솔을 통해서만 CloudFront Security Savings Bundle에 가입할 수 있습니다.  향후 개선 사항으로 API를 통해 이용할 수 있도록 하는 방안을 평가할 계획입니다. 

무료로 Amazon CloudFront를 시작하는 방법 알아보기

시작 페이지로 이동하기
구축할 준비가 되셨습니까?
AWS 콘솔에서 Amazon CloudFront 구축을 시작하십시오.
질문이 있으십니까?
문의하기