본문 바로가기
AWS/AWS-SAA

세션 12~14 S3기본 , S3고급 , S3섹션

by YoonJong 2024. 1. 14.
728x90

- 버킷과 객체로 구성된다.
  - 객체 : 저장하고자 하는 모든 요소는 하나의 객체로 구성
  - 버킷 : 객체를 담는 곳이 버킷
- 스토리지와 백업으로 사용
- AWS 전역에서 고유한 이름이어야 한다.
- AWS 리전에서 생성
- Key는 풀 경로를 사용 / 를 포함한다 ex) s3://my-bucket/my_file.txt
객체
  - 값의 본문
  - 5TB 가 최대 사이즈
  - 객체URL은 버킷 정책을 수정해야 외부에서 해당 버킷에 접근할 수 있다,
- 객체의 스토리지 클래스 
  - Standard Type : 기본 기폴트, 일반적인 클래스
  - Standard_IA ( Infrequent Access ) : 자주 액세스 하지 안지만, 즉시 액세스할 수 있는 데이터인 경우 ( 3곳의 AZ 에 저장 )
  - OneZone_IA : 1군데에 저장해서 저장요금은 적으나, AZ 가 파괴될 경우 손실가능성 있음
  - Glacier : 검색이 아닌 저장 용도로 사용 ( 검색은 3~5 시간걸림 )
  - Glacier Instant Retrieval : 90일 저장 가능, 검색이 빠름
  - Glacier Flexible Retrieval : 90일 저장 가능 , 3~5 시간 소요 / 벌크는 5 ~ 12 시간
  - Glacier Deep Archive : 10년 이상 저장할 데이터를 저장하는 스토리지
  - Intelligent tiering : 액세스 빈도가 불규칙해서 빈도를 가늠하기 어려운 경우
- 멀티 파트 업로드
  - 객체의 크기가 클경우, 조각내서 병령로 처리해서 개선시크는 방법
- 버전관리
  - 동일한 객체에 대해 여러 버전을 가질 수 있도록 하는 기능 -> 현재 버전을 삭제하면 이전 버전으로 돌아간다.
- S3 복제
  - 교차 리전 복제
  - 같은 리전 복제
- 수명주기 관리
  - S3에 있는 객체를 일정시간 이후, 다른 타입으로 변경하는 것을 의미
  - ex ) 자주 사용하던 Standard Type 의 객체를 60일 이후 더 이상 사용하지 않을 경우 Glacier Type 으로 변환해서 비용을 줄일 수 있다.
- S3 알림
  - S3에서 일어나는 이벤트를 SNS, SQS,  람다 , EventBridge 에 전송해서 이벤트에 반응 가능.
- S3 퍼포먼스
  - multi-part upload : 100MB 이상 추천, 5GB 이상 필수
  - 전송가속화 
- S3 Select & Glacier Select
  - S3 select 를 사용하면 AWS 에서 필터링 ( 400% 빨라지고 80% 비용 절감 )
- S3 Batch Operations
  - 단일 요청으로 S3 객체에서 대량 작업을 수행 

- 정적 휍 사이트 호스팅
  - S3 에서 정적 페이지를 제공할 수 있는 호스팅 기능을 제공
  - 서버를 이용하지 않고 S3를 이용하여 웹 호스팅 가능


# 섹션14: 아마존 S3보안 
- 버킷정책을 통해 암호화를 강제가능
-> 어느 상황에 사용해야 하는지 알아야 한다.
Client Side 와 Server side 로 나뉜다.
- 서버 , 클라이언트 보안 
- KMS ( Key Management System )
  - key 를 관리하는 시스템으로 데이터를 암호화하고 복호화하는 기능을 담당
- 고객 마스터 키 ( CMK - Customer Master Key ) 를 활용
  - AWS 서비스가 암호화를 시작할 때 CMK 의 생성을 요청한 후 데이터 암호화를 시작
  - (순서) CMK 를 생성 -> 데이터 키 생성 -> 데이터 암호화 시작
  - CMK 를 누가 관리하느냐에 따라 유형이 달라진다.

  - SSE-S3 ( 서버 )
    - 서버 측에 암호화 
    - AES-256 사용
    - 고객이 키를 제어할 수 있음
    - 헤더 필수 “x-amz-server-side-encryption”:”AES256”
  - SSE-KMS ( 서버 )
    - 서버 측에서 암호화
    - AWS KMS 으로 키를 관리할 수 있다.
    - 헤더 필수 “x-amz-server-side-encryption”:”aws:kms”
    - 제한 : KMS 키를 사용해야 하기 때문에 KMS API 호출 -> 쓰로틀링 가능
  - SSE-C ( 서버 ) -> 콘솔이 아닌 CLI 에서 설정
    - 고객이 제공하는 키로 암호화를 진행하는 방식
    - 해당 키로 암호화, 해독할 때 등 모든 암호화를 관리
    - S3 에서 저장하지 않음
    - HTTPS 필수, 헤더로 전송
    - CLI 에서 작동
  - Client-Side Encryption ( 클라이언트 )
    - S3로 데이터를 보내기 전의 암호화
    - KMS 에 저장된 고객 마스터키를 사용해서 암호화
    - 클라이언트가 모든 것을 관리
  - SSL / TLS
    - HTTP / HTTPS
- 기본값 암호화는 기본값으로 SSE-S3 로 제공되는데, 버킷 정책을 적용해서 원하는 암호화를 강제할 수 있다.
- CORS : Cross Origin Resource Sharing 
  - 교차 오리진 리소스 공유 
    - 오리진 : 프로토콜 + 도메인 + 포트 -> https://www.example.com
      - 오리진이 같다는 건 위 주소가 같다는 것을 의미 
  - CORS 는 웹 브라우저 보안 메커니즘으로 다른 오리진에서 한 S3 버킷에 들어 있는 검색된 이미지, 파일 등을 요청할 수 있게 한다.
- S3 MFA Delete : 추가 보호 기능, 특정 객체 버전의 영구 삭제를 방지하는 역할
- S3 엑세스 로그
  - S3로 보낸 모든요청은 파일로 기록.
  - 데이터 분석 도구로 분석 가능
  - 대상 로깅 버킷은 같은 aws 리전에 있어야 한다.
  - 로깅 버킷과 모니터링 버킷을 같게 설정하지 말기. -> 무한반복된다.
- Pre-Signed URLs : 미리 서명된 URL
  - 다운로드 또는 업로드를 위해 특정 파일에 임시로 액세스할 때 사용하는 방법
  - 해당 URL 을 private S3 버킷에 전달하고 특정 유저에게 URL 을 보내면 제한 시간동안 S3 버킷에 접근이 가능 
- Glacier 볼트 잠금 ( WORM 모델 : Write Once Read Many )
  - 규정 준수나 데이터 보존 같은 법률적인 사항에 유용
  - 객체가 볼트에 삽입되면 객체를 절대로 삭제할 수 없다.
- S3 Object Lock 
  - 규정 준수 보존 모드 (Compliance) : Glacier 과 비슷 
  - 거버넌스 보존 모드 (Governance) : 유연성, 일부 사용자가 권한을 가지고 변경 가능
  - 객체에 법적 보존 모드 설정 가능 ( 영구적으로 보호 ) , 수동으로 삭제할 수 있는 설정
- S3 Object Lambda
  - Serverless 서비스
  - 서버를 구축, 프로비져닝 등 과정이 필요없이 코드를 실행할 수 있는 서비스
  - CloudWatch, ALB 등에서 트리거로 이용해서 특정 상황에 코드를 실행시킬 수 있다.
  - 애플리에케이션에 도착하기 전에 객체를 수정하려는 경우 사용 
  - 람다의 엑세스 포인트에 접근해서 업데이트 된 객체를 받을 수 있다.

728x90

'AWS > AWS-SAA' 카테고리의 다른 글

ExamTopics_21~40  (0) 2024.01.27
ExamTopics_1~20  (1) 2024.01.27
세션10: Route53  (1) 2024.01.07
세션 9: AWS 기초: RDS + Aurora + ElasticCache  (0) 2024.01.06
섹션8: 고가용성 및 스케일링성: ELB 및 ASG  (1) 2023.12.19

댓글