-
S3 Presigned URLAWS 2023. 4. 11. 15:29
https://aws.amazon.com/ko/ Amazon Simple Storage Service (S3)
AWS에서 제공하는 클라우드 기반의 객체 스토리지 서비스로, S3는 인터넷을 통해 어디서든 안전하고 확장 가능한 방식으로 파일을 저장하고 검색할 수 있는 스토리지 서비스이다, 대규모 데이터의 저장, 백업 및 복원, 데이터 아카이빙, 빅 데이터 분석, 웹 사이트 호스팅 등 다양한 용도로 사용된다.
S3의 파일 공유하는 방법
- 모든 파일을 퍼블릭으로 만들기
장점: 별도의 관리가 필요 없음
단점: 아무나 파일 다운로드 가능
- IAM 자젹증명 공유(Access Key Pair)
장점: 지정한 사람만 공유 가능
단점: 자격증명 유출/ 변경 시 공유자 모두에게 다시 부여해야함(자격증명 관리가 어려움)
- IAM 사용자 부여하기
장점: 지정한 사람만 공유 가능
단점
IAM 사용자 숫자 제한(5000개)
모든 유저에게 IAM 사용자를 부여하는 과정 필요
유지보수의 어려움
Presigned URL
제한된 시간 동안만 특정 객체에 접근할 수 있는 URL을 생성하는 것으로 인증 및 권한 부여를 수행하며, 특정 리소스에 대한 임시 액세스를 허용한다. Presigned URL은 인증 및 권한 부여가 필요한 원하는 애플리케이션에서 안전하게 데이터를 업로드, 다운로드 또는 삭제하는 등의 작업을 수행할 수 있다.
- 특징
S3의 파일을 안전하게 공유하고 싶을 때 사용한다.
생성자가 가진 권한으로 파일에 접근 가능한 임시 URl을 생성한다.
URL의 만료 기간 지정 가능
Method(Get, Post 등) 설정 가능
- 장점
지정한 사람만 공유 가능
만료기간 설정 가능
권한 관리 가능
HTTP 기반으로 접근 가능
Presigned URL 콘솔에서 발급
Presigned URL CLI 발급
- S3권한이 있는 IAM 역할 및 인스턴스 생성
- 인스턴스 접속 후 S3 버킷에 접근할 때 가상 호스팅 스타일로 주소를 지정하도록 설정
aws configure set default.s3.addressing_style virtual
S3는 기본적으로 가상 호스팅 스타일 및 경로 스타일 두 가지의 주소 지정 방식을 지원한다.
- 가상 호스팅 스타일은 "bucket-name.s3.amazonaws.com" 형식으로 버킷에 접근하는 방식
- 경로 스타일은 "s3.amazonaws.com/bucket-name" 형식으로 버킷에 접근하는 방식
"default.s3.addressing_style virtual" 명령어는 AWS CLI에서 S3 버킷에 접근할 때 가상 호스팅 스타일로 주소를 지정하도록 설정하는 것으로, 경로 스타일로 접근할 때 발생할 수 있는 일부 문제를 회피할 수 있다.
예를 들어, 버킷 이름에 마침표가 들어가 있는 경우에는 가상 호스팅 스타일을 사용하는 것이 필요할 수 있다. 이 명령어는 특정 AWS CLI 프로필에 대한 설정으로 사용되며, 해당 프로필에서만 가상 호스팅 스타일을 사용하고자 할 때 사용다.
- 버킷 생성 후 파일 업로드 및 접속
엑세스가 없어 접속할 수 없다고 나온다.
- CLI를 통해 PresignURL 신청
aws s3 presign s3://[버킷명]/[파일경로] --region ap-northeast-2 만료 시간 추가 aws s3 presign s3://[버킷명]/[파일경로] --region ap-northeast-2 --expires-in 10
명령어 입력 후 생성된 URL 접속
'AWS' 카테고리의 다른 글
SSM Session Manager로 Private EC2 접속하기 (0) 2023.04.16 EC2의 메모리/디스크 용량 모니터링 방법 (0) 2023.04.04 T-type Instance Burstable and Credit Monitoring (0) 2023.03.02 AWS SAA-C03 합격 후기 (0) 2022.12.04