728x90
728x90
S3 pre-signed URLs 사전 서명된 URL 을 사용하려면 SDK 또는 CLI 를 사용해야 한다. 애플리케이션을 개발할 때 SDK 를 사용하여 입력받은 사진 파일을 업로드하고 로컬 환경에서 CLI 를 사용해서 이미지를 다운로드 받을 수 있다. 만료 시간은 기본적으로 3600초, 1시간이다. 만료 시간을 변경하고 싶으면 --expires-in XX초 를 입력하면 된다. 사전 서명된 URL 이 사용자에게 제공될 때는 기본적으로 객체를 만든 이의 권한이 상속된다. 따라서 사용자들은 상황에 따라 GET 이나 PUT 권한을 사용할 수 있다. 예시 1) 로그인 한 사용자만 S3 버킷의 프리미엄 영상을 15분 동안 다운받도록 할 수 있따. 예시 2) 파일을 다운로드 하는 사용자들의 목록이 계속해서 변경되는 ..
S3 복제 Amazon S3 복제인 리전 간 복제(CRR)과 동일 리전 복제(SRR)에 대해 살펴보자. 한 리전에 S3 버킷이 있고, 그 버킷을 비동기적으로 다른 리전의 버킷에 복제하려고 한다. 이를 위해서는 우선 출발지 버킷과 도착지 버킷에서 버저닝을 활성화해야 한다. 두 개의 버킷이 서로 다른 리전에 있는 경우에는 리전 간 복제(CRR)를, 두 버킷이 같은 리전에 있다면 동일 리전 복제(SRR)을 설정할 수 있다. 버킷이 서로 다른 계정에 있을 수도 있다. S3 복제를 통해 버킷의 객체들을을 또 다른 계정에 저장할 수 있다. 복제는 비동기적으로 발생하고 아주 빠르게 복제가 이뤄진다. 또한 복제를 하기 위해서는 IAM 역할을 생성해야 한다. IAM 역할은 A 라는 버킷을 B 라는 버킷으로 복제할 권한을..
S3 액세스 로그 감시 목적으로 S3 버킷에 모든 액세스를 버킷에 로깅하는 경우 Amazon S3 로 보내지는 모든 요청은 계정과 승인 여부에 상관 없이 다른 S3 버킷에 로깅되어 이후에 분석이 가능하다. 데이터 분석 도구를 이용해서 분석하거나 Amazon Athena 를 사용해 분석할 수도 있다. 사용자가 버킷에 요청을 보낸다. 이 버킷에는 다른 버킷 즉, 로깅이 활성화 되어 있는 로깅 버킷이다. 따라서 S3 액세스 로그를 활성화하면 로깅 버킷으로 모든 요청이 로깅될 것이다. S3 Access Logs : Warning 모니터링 중인 버킷을 로깅 버킷으로 설정하면 절대 안된다. 만약, 모니터링 버킷을 로깅 버킷으로 사용하게 되면 로깅 루프가 발생하고 버킷의 크기가 기하급수적으로 커진다. 예를 들어, 애..
S3 기본 암호화 S3 버킷에 객체를 푸시하고 객체가 암호화되도록 하기 위해서는 버킷 정책을 사용해서 객체 암호화를 강제할 수 있다. 암호화에 대한 버킷 정책을 사용할 시 헤더에 암호화에 대한 설정값이 없으면 Amazon S3 가 객체를 저장하지 않는다. 위와 같은 방식말고도 Amazon S3 의 기본 암호화 옵션을 사용하는 방법도 존재한다. 암호화되지 않은 객체를 S3 버킷에 업로드하면 기본 암호화 옵션을 통해 암호화가 이뤄지는 방식이다. 기본 암호화 방식을 사용할 때, 똑같은 객체를 업로드 할 때 재암호화가 되지는 않는다. 기본 암호화 방식을 사용할 때는 버킷 정책을 설정하지 않아도 SSE-S3 나, AES256, SSE-KMS 등 을 사용하여 객체를 암호화 한 후에 업로드 할 수 있다.(버킷 정책이..
S3 CORS 교차 출처 리소스 공유(Cross Origin Resource Sharing)에 대해 살펴보자. origin : 웹 컨텐츠의 출처(origin)는 접근할 때 사용하는 URL 의 스킴(프로토콜, 호스트(도메인), 포트)로 정의 된다. 그래서 두 객체의 스킴, 호스트, 포트가 모두 일치하는 경우 같은 출처를 가졌다고 말한다. 동일 출처는 다음과 같다. 다른 출처는 다음과 같다. 보안 상의 이유로, 웹 브라우저는 기본적으로 다른 출처의 리소스를 가져오지 못한다. CORS 를 사용할 경우 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에게 알려주는 체제이다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 ..
S3 웹사이트 S3 는 정적 웹사이트를 호스팅할 수 있고 www 에서 접근이 가능하며 웹사이트 URL 도 매우 간단하다. 보통은 .s3-website-.amazonaws.com 으로 끝난다. 설정된 버킷 정책이 없을 경우 해당 정적 웹사이트에 퍼블릭 액세스가 가능하지만 403 오류가 발생한다. 퍼블릭 액세스가 허용되도록 설정하고 버킷 정책에 퍼블릭 액세스를 허용하는 정책을 작성해야 정적 웹사이트에 정상적으로 접속할 수 있다. 즉, S3 버킷 자체를 웹사이트로 만들 수 있고 버킷 정책이 없을 경우에도 웹사이트에 퍼블릭 액세스가 가능하지만 403 오류가 발생한다.