본문 바로가기
CLOUD/AWS

Amazon CloudFront

by Rainbound-IT 2021. 8. 5.
반응형

Amazon CloudFront는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스입니다.

CloudFront는 네트워크 및 애플리케이션 계층 DDoS 공격을 비롯해 여러 유형의 공격으로부터 보호하기 위해 AWS Shield, AWS Web Application Firewall  Amazon Route 53와 완벽하게 통합되어 필드 수준 암호화 및 HTTPS 지원을 포함한 대부분의 고급 보안 기능을 제공합니다. 이러한 서비스는 엣지 네트워킹 위치에 함께 상주하며, AWS 네트워크 백본을 통해 전 세계적으로 확장 및 연결됩니다. 이를 통해 사용자에게 보다 안전하고 뛰어난 성능과 가용성을 보장하는 경험을 지원할 수 있습니다.

CloudFront는 Amazon S3, Amazon EC2, Elastic Load Balancing과 같은 AWS 오리진 또는 사용자 지정 HTTP 오리진에서 원활하게 작동합니다. 프로그래밍 가능한 보안 및 엣지 컴퓨팅 기능인 CloudFront 함수와 AWS Lambda@Edge를 사용하여 CloudFront를 통해 콘텐츠 전송을 사용자 지정할 수 있습니다.

 

 

장점

빠른 콘텐츠 전송을 위한 글로벌 규모의 네트워크

Amazon CloudFront는 고도로 확장 가능하며 전 세계에 분산되어 있습니다. CloudFront 네트워크에는 225개 이상의 PoP(Point of Presence)가 있습니다. 이는 AWS 백본으로 연결되어 최종 사용자에게 매우 짧은 지연 시간 성능과 높은 가용성을 제공합니다. AWS 백본은 전 세계적으로 대서양, 태평양, 인도양 뿐아니라 지중해, 홍해, 남중국해를 건너는 대양 횡단 케이블로 연결되고 완벽한 중복성을 지원하는 글로벌 병렬 100GbE 메트로 섬유 네트워크에 구축된 프라이빗 네트워크입니다. Amazon CloudFront는 네트워크 조건을 자동으로 매핑하고 사용자 트래픽을 가장 성능이 뛰어난 AWS 엣지 로케이션에 지능적으로 라우팅하여 캐시 또는 동적 콘텐츠를 지원합니다. CloudFront는 기본적으로 다중 티어 캐싱 아키텍처로 제공되므로, 향상된 캐시 폭과 오리진 보호를 이용할 수 있습니다.

엣지 보안

Amazon CloudFront는 네트워크 수준과 애플리케이션 수준의 보안을 둘 다 제공하는 매우 안전한 CDN입니다. 모든 CloudFront 배포는 AWS Shield Standard에서 웹 사이트 또는 애플리케이션을 대상으로 자주 발생하는 네트워크 및 전송 계층 DDoS 공격에 대해 기본적으로 보호됩니다. 보다 복잡한 공격으로부터 보호하기 위해 CloudFront를 AWS Shield Advanced 및 AWS Web Application Firewall(WAF)과 통합하여 유연한 계층별 보안 경계를 추가할 수 있습니다. 공통 CVE 및 OWASP 상위 10개 보안 위험으로부터 보호하기 위해 Amazon 보안 전문가가 엄선하여 관리하는 방화벽 규칙과 AWS WAF용 AWS 관리형 규칙이 제공됩니다. 마지막으로, CloudFront에는 대부분의 고급 보안 규정 준수 인증서(즉, PCI DSS, ISO/IEC, SOC 1/2/3, FedRAMP Moderate, HIPAA 등)도 있습니다.

고도로 프로그래밍 가능한 보안 엣지 컴퓨팅

엣지 컴퓨팅 기능인 CloudFront 함수 및 Lambda@Edge를 사용하면 손쉽게 전 세계 AWS 로케이션에서 코드를 실행할 수 있으므로 개선된 지연 시간으로 최종 사용자에게 응답하고 콘텐츠를 개인화할 수 있습니다. 예를 들어, CloudFront 함수를 사용하여 방문자의 특성에 따라 고유한 콘텐츠를 전송하거나, 사용자 지정 응답을 생성하거나, AWS 인프라에서 실행되는 사용자 지정 코드를 실행하여 A/B 테스트를 시행할 수 있습니다. Lambda@Edge를 사용하면 오리진 서버를 완전히 대체하거나 보완할 수 있습니다. Lambda@Edge를 웹 페이지의 서버 측 렌더링에 사용할 수 있으며, 광고 삽입을 위해 즉시 스트리밍 매니페스트 파일을 조작하거나 보안 토큰을 추가할 수 있습니다. CloudFront 함수 및 Lambda@Edge 모두 기본 제공 보안 격리를 통해 공격으로부터 데이터를 보호합니다.

AWS와 긴밀한 통합

Amazon CloudFront는 간편한 설정을 위해 Amazon S3, Amazon EC2, Elastic Load Balancing, Amazon Route 53 및 AWS Elemental Media Services와 같은 AWS 서비스와 통합됩니다. 개발자는 AWS Management Console 또는 친숙한 개발자 도구(예: CloudFormation 템플릿, AWS Cloud Development Kit 및 API)를 사용할 수 있습니다. Amazon Cloudwatch 및 Kinesis와의 CloudFront 통합을 통해 지표  로그로 실시간 관찰 기능을 지원합니다.

비용 효율성

Amazon CloudFront는 전 세계에서 비용 효율적인 콘텐츠 전송 기능을 제공합니다. AWS와 통합되므로, AWS 오리진에서 오리진 가져오기를 실행하는 데 따른 전송 요금이 없으며 AWS Certificate Manager(ACM)에서 사용자 지정 TLS 인증서를 무료로 제공합니다. CloudFront는 선불 요금 없는 간편한 종량 과금제와 최대 30%까지 비용을 추가로 절감할 수 있는 CloudFront Security Savings Bundle을 비롯한 맞춤형 요금 옵션을 제공합니다. 최소 트래픽 약정(보통 월별 10TB 이상)으로 맞춤형 요금을 이용하면 더 큰 폭으로 할인을 받을 수 있습니다. CDN에 대한 지원은 기존 AWS Support 구독에 포함되어 있습니다. 자세히 알아보세요.

 

 

 

사용 사례

웹 사이트 전송 및 보안

Amazon CloudFront는 전 세계의 시청자에게 웹 사이트에서 정적 객체(예: 이미지, 스타일 시트, JavaScript 등) 또는 동적 콘텐츠(예: 동영상, 오디오, 모션 그래픽 등)를 빠르게 전송할 수 있습니다. CDN은 다중 티어 캐시를 기본적으로 제공하여, 객체가 아직 엣지에 캐시되지 않았을 때 오리진 서버에서 지연 시간을 단축하고 로드를 줄일 수 있습니다. 세분화된 캐시 구성 제어, gzip 및 brotli 압축과 같은 기본 제공 기능, 지리적 위치 헤더에 대한 액세스, 엣지 컴퓨팅 기능을 통해 Amazon.com  Reach plc와 같은 고객은 수백만의 시청자에게 콘텐츠를 전송합니다. AWS Shield 및 WAF와의 통합을 통해 네트워크 및 애플리케이션 계층 공격으로부터 웹 사이트를 보호하고, 동시에 TLS 1.3 및 필드 레벨 암호화와 같은 기능으로 향상된 보안과 성능을 제공합니다.

동적 콘텐츠 및 API 가속화

Amazon CloudFront로 동적 콘텐츠를 가속화하고 보안합니다. Amazon CloudFront는 Tinder  Slack과 같은 고객이 API 호출과 Websocket 연결을 보안하고 가속화하기 위해 사용합니다. CloudFront는 프록시 메서드(POST, PUT, OPTIONS, DELETE, PATCH)를 지원합니다. 클라이언트와의 TLS 연결은 가까운 엣지 로케이션에서 종료되면, CloudFront가 최적화된 네트워크 경로를 사용하여 연결을 재사용해 오리진에 안전하게 도달합니다. AWS 오리진을 사용하는 경우 오리진에 대한 트래픽은 AWS 전용 네트워크 백본으로 이전됩니다. AWS Shield 및 WAF는 CDN 엣지에서 API를 보호합니다. CloudFront의 API 가속화에 대해 자세히 알아보세요.

실시간 및 온디맨드 동영상 스트리밍

CloudFront는 실시간 및 온디맨드 동영상 워크로드를 처리하기 위해 설계되었습니다. 전 세계적으로 확장된 뛰어난 성능의 AWS 네트워크, AWS 오리진에 대한 프라이빗 백본 연결, AWS 및 Elemental Media Services와의 통합을 활용할 수 있습니다. 기본 중간 티어 캐싱, Origin Shield 아키텍처 및 실시간 모니터링으로 콘텐츠 전송을 한층 더 최적화할 수 있습니다. CloudFront는 모든 종류의 디바이스에 대해 Microsoft Smooth, HLS, HDS 또는 MPEG-DASH를 포함하여 여러 스트리밍 형식을 지원합니다. 또한, Elemental MediaStore와의 통합으로 다양한 스포츠, 게임 스트리밍 사용 사례에 대해 짧은 지연 시간의 스트리밍을 제공합니다. 미디어 및 엔터테인먼트 기능을 위한 CloudFront에 대해 자세히 알아보세요.

소프트웨어 배포, 게임 전송 및 IoT OTA

Amazon CloudFront는 전 세계에 배포된 클라이언트가 소프트웨어 업데이트를 다운로드함에 따라 자동으로 확장됩니다. 소프트웨어는 콘텐츠 전송 네트워크를 통해 최종 사용자와 가까운 엣지에서 바로 사용할 수 있습니다. CloudFront의 빠른 데이터 전송 속도를 기반으로 바이너리 전송, 게임 패치, 사물 인터넷(IoT), 무선(OTA) 업데이트를 가속화하여 비용 효율적인 방식을 통해 고객 경험을 대규모로 개선할 수 있습니다.

 

여기부터는 DOCS

정적 웹 사이트 콘텐츠 전송 속도 향상

CloudFront는 전 세계 최종 사용자에게 제공되는 정적 콘텐츠(이미지, 스타일 시트, JavaScript 등)의 전송 속도를 높일 수 있습니다. CloudFront를 사용하면 AWS 백본 네트워크와 CloudFront 엣지 서버의 장점을 활용하여 해당 웹 사이트를 방문하는 뷰어에게 빠르고 안전하며 신뢰할 수 있는 환경을 제공할 수 있습니다.

정적 콘텐츠를 저장하고 전송하기 위한 간단한 방법은 Amazon S3 버킷을 사용하는 것입니다. S3와 CloudFront를 함께 사용하면 OAI(원본 액세스 ID)를 통해 S3 콘텐츠에 대한 액세스를 쉽게 제한할 수 있으며 이외에도 다양한 장점이 있습니다.

빠른 시작을 도와주는 AWS CloudFormation 템플릿을 비롯해 CloudFront와 S3를 함께 사용하는 방법에 대한 자세한 내용은 Amazon S3 + Amazon CloudFront: A Match Made in the Cloud 섹션을 참조하세요.

온디맨드 비디오 또는 라이브 스트리밍 비디오 제공

CloudFront는 전 세계 최종 사용자에게 미디어(녹화 파일 및 라이브 이벤트)를 스트리밍하기 위한 몇 가지 옵션을 제공합니다.

  • 온디맨드 비디오(VOD) 스트리밍의 경우 CloudFront를 사용하면 MPEG DASH, Apple HLS, Microsoft Smooth Streaming, CMAF 등과 같은 일반적인 포맷으로 디바이스에 상관없이 스트리밍할 수 있습니다.
  • 라이브 스트림 방송의 경우에는, 엣지에 미디어 조각을 캐싱하여 해당 조각을 올바른 순서로 전송하는 매니페스트 파일에 대한 여러 요청을 결합함으로써 오리진 서버의 부하를 줄일 수 있습니다.

CloudFront를 사용하여 스트리밍 콘텐츠를 전송하는 방법에 대한 자세한 내용은 CloudFront를 사용한 온디맨드 비디오 및 라이브 스트리밍 비디오 단원을 참조하십시오.

시스템 처리를 통해 특정 필드 암호화 

CloudFront에서 HTTPS를 구성할 경우 오리진 서버에 대한 종단 간 연결의 보안이 보장됩니다. 파일 수준 암호화를 추가하는 경우, HTTPS 보안뿐 아니라 시스템 처리 전체에서 특정 데이터를 보호함으로써 오리진의 특정 애플리케이션만 데이터를 보게 할 수 있습니다.

필드 레벨 암호화를 설정하려면 CloudFront에 퍼블릭 키를 추가한 후 이 키를 사용하여 암호화하려는 필드 세트를 지정합니다. 자세한 내용은 필드 레벨 암호화 사용으로 민감한 데이터 보호 단원을 참조하세요.

엣지에서의 사용자 지정

엣지에서 서버리스 코드를 실행하면 지연 시간을 최소화하면서 다양한 방식으로 최종 사용자에 대한 콘텐츠와 환경을 사용자 지정할 수 있습니다. 예를 들어 오리진 서버가 유지보수를 위해 다운된 경우 최종 사용자에게 일반 HTTP 오류 메시지를 표시하는 대신 사용자 지정 오류 메시지를 표시할 수 있습니다. 또는 함수를 사용하여 CloudFront가 오리진으로 요청을 전송하기 전에 사용자를 인증하고 콘텐츠에 대한 액세스를 제어할 수 있습니다.

CloudFront에서 LLambda@Edge를 사용하면 CloudFront가 제공하는 콘텐츠를 다양한 방법으로 사용자 지정할 수 있습니다. Lambda@Edge에 대한 자세한 내용과 CloudFront를 사용하여 함수를 생성하고 배포하는 방법을 알아보려면 Lambda@Edge를 사용하여 엣지에서 사용자 지정 단원을 참조하십시오. 해당 솔루션에 맞게 사용자 지정할 수 있는 다양한 코드 샘플을 보려면 Lambda@Edge 함수 예제 단원을 참조하십시오.

Lambda@Edge 사용자 지정을 사용하여 프라이빗 콘텐츠 제공

Lambda@Edge를 사용하면 서명된 URL 또는 서명된 쿠키 사용 옵션으로, 자체 사용자 지정 오리진에서 프라이빗 콘텐츠를 제공하도록 CloudFront 배포를 구성할 수 있습니다.

오리진에 대한 액세스를 CloudFront 전용으로 제한하는 방법에는 몇 가지가 있으며, 방화벽에 CloudFront IP 화이트리스트 사용하거나, 공유 암호를 전달하는 사용자 지정 헤더를 사용하는 방법 등이 있습니다.

샘플 코드를 비롯한 추가 정보와 단계별 지침에 대한 자세한 내용은 Amazon CloudFront 및 AWS Lambda@Edge를 사용한 프라이빗 콘텐츠 제공을 참조하세요.

 

 

 

 

 

 

 

Reference

https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/Introduction.html

 

Amazon CloudFront란 무엇입니까? - Amazon CloudFront

Amazon CloudFront란 무엇입니까? Amazon CloudFront는 .html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스입니다. CloudFront는 엣지 로케이션

docs.aws.amazon.com

 

반응형

'CLOUD > AWS' 카테고리의 다른 글

AWS 자습서 사이트  (0) 2021.08.06
Amazon CloudFront 에서 콘텐츠 제공하는 방법  (0) 2021.08.06
Amazon ElastiCache  (0) 2021.08.05
캐싱서비스 (AWS)  (0) 2021.08.05
AWS MLOps Framework  (0) 2021.07.28

댓글