1. 업로드 방법
- Mgmt Console
- 최대 160GB: 160GB를 초과하는 파일은 CLI, SDK, Rest API를 이용해야 함
- CLI, SDK
- 단일 작업으로는 최대 5GB 업로드
- 5GB 이상은 멀티파트 업로드해야 함 -> 최대 5TB까지 (업로드 속도 개선, 재업로드 가능)
- 멀티파트 업로드 장점
- 개선된 처리량: 병렬
- 문제발생 시 해당 파트만 재업로드
- 대용량 객체 업로드: 최대 5TB
- 전송 가속화: Transfer Acceleration
- AWS의 글로벌 인프라인 에지 로케이션을 이용해 데이터를 S3로 빠르게 전송하는 방법
- 글로벌 서비스를 할 때 유용함
- S3로 대량의 데이터를 이동할 때
- Snowcone
- 8TB (디바이스당), 작은 용량 & 휴대가 간편 (2.1kg)
- Snowball
- Snowball Edge Compute Optimized
- 저장소 + 전처리 (ML, 데이터분석 등): 42TB
- Snowball Edge Storage Optimized
- 대규모 데이터 마이그레이션, 반복 전송: 80TB
- Snowball Edge Compute Optimized
- Snowmobile
- 컨테이너 트레일러 트럭으로 견인
- Snowmoblie 1대당 최대 100PB
- Snowcone
2. S3 엑세스 제어
- Default
- 소유자만 액세스할 수 있음
- 버킷을 생성했을 때의 기본설정
- Public
- 누구나 접근할 수 있음
- 명시적으로 허용해야 함
- S3 버킷 정책 지정
- 액세스 정책을 직접 지정하는 방법
- 퍼블릭 액세스 차단
- 퍼블릭 액세스를 원천적으로 차단하고자 할 때 지정함
- CORS 정책
- SOP (Same Origin Policy)란?
- 웹 브라우저에서 same origin과의 통신만을 허용하는 브라우저 보안 정책
- CORS란?
- Cross Origin에서의 HTTP 통신을 허용하도록 하기 위한 방법
- Access-Control-Allow-Origin 헤더와 같은 HTTP 헤더를 이용
- S3 버킷이 제공하는 콘텐츠를 다른 정적 웹사이트가 로드할 수 있도록 하려면
- S3 버킷에 정적 웹사이트를 지정해 CORS 정책을 지정해야 함
- SOP (Same Origin Policy)란?
- S3 액세스 포인트
- 버킷에 대해 수백개의 액세스 포인트 생성할 수 있음
- 액세스 포인트마다 개별적인 접근제어 정책을 지정할 수 있음
- 사용자마다 애플리케이션마다 -> 정책의 허점을 예방할 수 있음 -> 관리가 용이해짐
- S3 엑세스 제어
- 미리 서명된 URL (Pre-signed URL)
- 프라이빗한 객채에 대해 일시적으로 짧은 기간 동안만 액세스 할 수 있도록 하고자 할 때 사용
- 사용예: 모바일 앱에서 제한된 객체를 다운로드받을 수 있도록 할 때
- CLI, SDK를 이용해 생성할 수 있음
- 미리 서명된 URL (Pre-signed URL)
3. 암호화 (서버, 애플리케이션)
- 서버측 암호화
- SSE-S3
- S3 관리형 키를 이용한 서버 측 암호화 -> 암호화키를 S3가 관리함
- AES-256을 사용해 암호화함
- SSE-KMS
- KMS (Key Management Service)가 암호화 키를 관리함
- 여러 리전에 걸쳐서 S3 데이터를 이동해야 할 일이 있으면 SSE, KMS를 사용해야
- SSE-C
- 클라이언트로부터 전달된 암호화키를 이용해 데이터를 암호화함
- 암호화 키를 고객이 관
- 암호화키가 데이터와 함께 전달되므로 전송암호화가 반드시 필요
- SSE-S3
- 클라이언트 측 암호화
- 클리아언트 측에서 암호화를 하여 S3로 전송함
- 암호화키가 AWS 측으로 전송되지 않음
- 암호화키, 키의 수명주기 관리를 모두 클라이언트가 해야 함
4. S3 객체 복제
- 복제 방법
- 교차로전복제 (CRR)과 동일리전 복제 (SRR): 새로 업로드된 객체를 복제함
- 버전 관리가 활성화되어 있어야 함
- S3 배치 복제: 기존 객체를 복제함
- 교차로전복제 (CRR)과 동일리전 복제 (SRR): 새로 업로드된 객체를 복제함
- 복제 목적: 데이터 중복성, 사본 유지
5. S3 이벤트 알림
- 이벤트 알림이란?
- 버킷에서 특정 이벤트가 발생할 때 알림을 받을 수 있는 기능
- 지정 가능한 대상: 람다 함수, SNS 주제, SQS 대기열
- application -> put object -> S3 bucket -> trigger -> Lambda function
6. S3 비용
- 비용은 크게 두 가지: 저장비용, 요청비용
- 비용 지불 요소
- 월별 사용 GB
- 다른 리전 또는 인터넷으로 전송
- PUT, COPY, POST, LIST, GET 요청
- 비용 미지불 요소
- S3가 데이터를 수신
- 동일 리전 내 EC2, CloudFront로 전송
7. 사용 사례
- 정적 웹사이트
- 정적 콘텐츠와 미디어 저장 및 배포 (WORM)
- 빅 데이터 분석을 위한 데이터 저장소 (Data Lake)
- Apache Parquet, CSV 형식으로 저장
- Athena와 같은 도구를 이용해 분석
- 백업 저장소
- EBS의 스냅숏
- OnPremise 서버의 백업을 저장할 수 있음
- 장기 아카이브는 S3 Glacier
'정보보안 자격증 > AWS' 카테고리의 다른 글
AWS7. VPC & AWS Networking (1) | 2024.07.17 |
---|---|
AWS6. EFS, FsX (0) | 2024.07.17 |
AWS4. S3 (Simple Stoarge Service) - 1 (1) | 2024.07.17 |
AWS3. 공유 스토리지 (0) | 2024.07.17 |
AWS2. 핵심정리 2 (0) | 2024.07.17 |