개요

Dynamic Image Transformation for Amazon CloudFront(구 서버리스 이미지 핸들러)를 사용하면 Amazon CloudFront의 글로벌 콘텐츠 전송 네트워크(CDN)를 통해 실시간 이미지 처리가 가능합니다. 이 AWS 솔루션은 시각적 콘텐츠 전송을 최적화하는 동시에 운영 비용과 복잡성을 크게 줄이는 데 도움이 됩니다. 단일 소스 이미지를 온디맨드 방식으로 동적으로 변환하여 동일한 이미지의 여러 버전을 저장할 필요가 없으므로 스토리지가 크게 절약됩니다. 또한 이 솔루션은 향상된 캐싱으로 로드 시간을 단축하여 사용자 환경을 개선하는 동시에 URL 서명, 요청 검증, 콘텐츠 조정 기능 등 부적절한 콘텐츠를 방지하는 강력한 보안 제어 기능을 제공합니다.
장점

간단한 API 요청을 통해 실시간으로 이미지를 변환하고 최적화하여 브라우저 기능에 따라 가장 효율적인 형식을 제공하고 최적의 파일 크기와 품질을 보장하는 데 도움이 됩니다.
원본 이미지만 저장하고 필요에 따라 변형 이미지를 생성하므로 동일한 이미지에 대한 여러 버전이 필요 없으며 스토리지 비용이 크게 절감됩니다.
이미지 전송에 대한 세분화된 액세스 제어를 유지하면서 URL 서명, 요청 검증, 콘텐츠 조정 기능으로 시각적 자산을 보호하세요.
서버리스 아키텍처로 다양한 로드를 자동으로 처리하여 인프라 관리 없이도 트래픽이 급증하는 동안 일관된 성능을 유지할 수 있습니다.
기술 세부 정보

구현 가이드 및 함께 제공되는 AWS CloudFormation 템플릿을 사용하여 이 아키텍처를 자동으로 배포할 수 있습니다.
1단계
Amazon CloudFront 배포는 캐싱 계층을 제공하여 이미지 처리 비용을 절감하고 후속 이미지 전송의 지연 시간을 단축합니다. CloudFront 도메인 이름은 이미지 핸들러 API에 대한 캐싱된 액세스를 제공합니다.
2단계
Amazon Simple Storage Service(Amazon S3) 객체 AWS Lambda 액세스 포인트(대규모 객체 배포) 또는 Amazon API Gateway(API Gateway 배포)는 엔드포인트 리소스 역할을 하여 Lambda 함수를 트리거합니다.
3단계
Lambda 함수는 고객의 기존 S3 버킷에서 이미지를 검색하고 sharp를 사용하여 수정된 이미지를 생성합니다.
4단계
솔루션에서 생성한 S3 버킷은 이미지 저장용 S3 버킷과는 별개의 로그 스토리지를 제공합니다. 데모 UI 배포 템플릿 파라미터에 예(기본 항목)를 입력하면 솔루션은 선택적 데모 UI를 저장하기 위해 또 다른 S3 버킷을 배포합니다.
5단계
(선택 사항) 서명 활성화 파라미터에 예를 입력하면 Lambda 함수가 기존 AWS Secrets Manager 시크릿에서 시크릿 값을 검색해서 서명을 인증합니다. 자세한 내용은 스택 시작을 검토하세요.
6단계
(선택 사항) 스마트 자르기 또는 콘텐츠 조정 기능을 사용하는 경우 Lambda 함수는 Amazon Rekognition을 직접적으로 호출하여 이미지를 분석하고 결과를 반환합니다.
7단계
CloudFront 함수는 잘못된 캐시 누락을 방지하기 위해 오리진을 트리거하기 전에 요청을 정규화합니다. 대형 객체 배포에서는 대형 객체 배포가 기존 SIH 인터페이스와 더 유사하도록 응답에 추가 함수를 사용합니다.
관련 콘텐츠


제품 설계 및 소프트웨어 개발 회사인 Perpetual은 신규 스포츠 스타트업 고객과 협업을 시작하면서 유연하면서도 비용 효율적인 이미지 관리 도구가 필요하다는 것을 깨달았습니다. Perpetual은 이 당면 과제를 해결하는 데 Serverless Image Handler가 최적임을 알았습니다.
Serverless Image Handler(SIH)는 콘텐츠에 있는 모든 이미지의 단일 버전을 저장하고 런타임 시 최종 사용자의 디바이스에 따라 서로 다른 버전을 동적으로 제공하는 데 사용할 수 있는 AWS 솔루션 구현입니다.