728x90
728x90
CloudFront 고급 개념 CloudFront - Pricing 클라우드 프론트 엣지 로케이션이 전 세계에 퍼져 있기 때문에 엣지 로케이션에 따른 데이터 전송 비용도 다르다. 즉, 엣지 로케이션이 위치한 Region 에 따라 요금이 달라지는 것이다. CloudFront - Price Classes 클라우트 프론트에 사용할 엣지 로케이션 개수를 줄여 가격을 낮출 수 있따. 가격 등급에는 총 세 가지가 있다. Price Class All : 모든 지역의 엣지 로케이션을 사용하는 방식으로 최상의 성능을 보여주지만 비싸다. Price Class 200 : 가장 비싼 지역을 제외한 대부분의 지역의 엣지 로케이션을 사용하는 방식이다. Price Class 100 : 가장 저렴한 지역의 엣지 로케이션만 사용하는 ..
Signed URL & Signed Cookies 누가 어떤 클라우드 프론트에 액세스 하는지를 알기 위해서 서명된 URL 이나 서명된 쿠키를 사용할 수 있다. 서명된 URL 이나 쿠키를 생성할 때는 정책을 연결해야 한다. 해당 URL 이나 쿠키가 언제 만료되는지 지정한다. 이 데이터에 액세스할 수 있는 IP 주소 범위는 어디까지 인지를 지정한다. 어떤 AWS 계정이 서명된 URL 을 생성할 수 있는 지, 서명자도 지정해야 한다. 영화나 음악 같은 컨텐츠를 공유할 때는 유효 기간이 분 단위로 좀 짧아도 상관 없을 것이다. 오랫 동안 액세스해야 하는 경우 서명된 URL 이나 쿠키가 수 년 동안 지속되도록 할 수도 있다. 서명된 URL 은 개별 파일에 대한 액세스 권한을 준다. 만약 100 개의 파일이 있다면..
CloudFront 개요 Content Delivery Network, CDN 의 약자로 엣지 로케이션에서 데이터가 분배 및 캐싱되기 때문에 속도가 굉장히 빠르다. 현재 지속석으로 새로운 엣지 로케이션이 추가되고 있다. 클라우드 프론트는 엣지 로케이션에서의 캐싱 외에도 DDoS 공격을 보호해주는 웹 애플리케이션 방화벽을 제공해준다. SSL 인증서를 로드하여 외부 HTTPS 엔드 포인트를 노출하고 해당 트래픽을 암호화해야 하는 경우 내부 HTTPS 애플리케이션에 내부적으로 통신하게끔 한다. 예를 들어, 호주 S3 버킷이 있고 미국의 사용자가 호주 버킷으로 데이터를 액세스하려 하면 미국에서 가까운 엣지 로케이션에 액세스를 한 뒤, 해당 네트워크가 사설 AWS 네트워크를 통해 호주 버킷으로 전송이 된다. 그리..
Glacier Vault Lock WORM(Write One Read Many) 모델을 적용하기 위한 기능이다. 편집 정책을 아예 잠금으로써 더 이상 변경될 수 없도록 하는 것이다. 규정 준수와 데이터 보존을 위해 사용한다. 객체가 Glacier 볼트로 가면 그 후에 볼트 잠금 정책을 추가하여 객체가 지워지거나 정책 자체가 지워지는 것을 방지한다. 누군가가 감사를 할 때 누군가가 '데이터가 수정되거나 지워지지 않았다는 것을 어떻게 확신하죠?' 라고 물어본다면 'Glacier 볼트에 볼트 잠금 정책을 사용했습니다.' 라고 대답하면 된다. 왜냐하면 해당 정책을 사용하면 나를 포함한 그 누구도 객체를 수정할 수 없다는 것을 AWS 가 보증하기 때문이다. S3 Object Lock(versioning must ..
Amazon Athena Amazon Athena 는 아마존 S3 에 저장된 객체에 대해 분석을 수행하는 서버리스 쿼리 서비스이다. 즉, SQL 언어로 파일들에 쿼리문을 날리지만 내 로컬 환경으로 굳이 로드할 필요는 없다. 파일은 S3 에 있고 쿼리한 데이터들을 Amazon Athena 가 알아서 처리 해준다. CSV, JSON, ORC, Avro, Parquet 등 다양한 포맷 형식을 갖는다. Athena 는 Presto 엔진 기반이다. 사용자들이 데이터들을 아마존 S3에 로드하면 Amazon Athena 는 객체에 쿼리문을 날리고 분석한다. 리포팅과 대시보드로 Amazon Athena 를 편하게 살펴보고 싶다면 Amazon QuickSight 서비스를 사용하면 된다. 쿼리문으로 찾은 데이터 TB 당 ..
S3 Requester Pays 일반적으로 버킷 소유자가 버킷과 관련된 모든 Amazon S3 스토리지 및 전송 비용을 지불한다. 예를 들어 버킷 세 개가 있고 그 안에 객체를 보관하고 있다. 그리고 사용자가 버킷으로부터 파일을 다운로드 한다. 그러면 네트워킹 비용 역시 버킷을 만든 사람에게 청구된다. 그러나 Requester Pays 기능을 활성화시키면 버킷을 생성한 사람이 아니라 사용자가 다운로드 비용을 지불한다. 버킷을 생성한 사람은 버킷의 객체 스토리지 비용은 지불하지만 사용자가 다운로드와 관련된 네트워킹 비용을 지불하게 된다. 대량의 데이터 셋을 다른 계정과 공유하려고 할 때 매우 유용하다.