[AWS] S3 #2

DaBeen Yi
2 min readMay 31, 2021

--

More about S3

#1. S3 MFA-Delete

  • Versioning이 활성화 되어있어야 함
  • Root account에서 CLI로만 활성화/비활성화 가능

#2. S3 Access logs

  • Logging용 버켓은 따로 마련할 것. 만일 모니터 하는 버킷과 Logging용 버킷이 같으면 Logging Loop이 발생하여 Bucket 사이즈가 어마무시하게 커질 수 있음

#3. S3 Replication (CRR, SRR)

  • S3 MFA-Delete와 마찬가지로 Versioning이 활성화 되어있어야 함
  • Cross Region Replication:
    - Compliance
    - Low-latency access
  • Same Region Replication:
    - Log 통합
    - Prod 환경과 In-house 환경의 실시간 동기화
  • S3의 Properties → Server access logging 에서 Logging 활성화 여부 결정
  • Replication 적용 후의 Object 부터 replica가 적용됨
  • Replication이 되면 Version ID까지 완전 동일하게 replica 됨
  • Default로 Delete에 대한 replica는 진행되지 않음 (Origin에서 삭제되어도 Replica에서는 삭제 안됨)
  • S3 Management → Replication Rules에서 설정

#4. S3 Pre-signed URLs

  • SDK(Upload 용)혹은 CLI(Download 용)로 생성 가능
  • 사용 예시
    - 특정 시간 동안만 사용자의 접근을 허용할 때
    - 특정 사용자에게만 Objects (예를 들어 Premium Videos 같은거) 다운로드를 허용할 때
  • 생성 예시) aws s3 presign s3://(my-bucket/myobject) --region (region) --expires-in 300

#5. S3 Storage Classes

  • S3 Standard: General Purpose
  • S3 Standard-Infrequent Access: Disaster recovery, backups…
  • S3 One Zone-Infrequent Access: Storing secondary backup copies, Storing data you can recreate…
  • S3 Intelligent Tiering: Move objects from S3 standard to IA
  • Glacier
  • Glacier Deep Archive
  • Life cycle configuration을 통해 각 Classes 간 생명 주기 관리 가능
  • Standard에서 Standard-IA로 Objects를 이동하는 주기를 어떻게 해야하는지 잘 모르겠다면 S3 Analytics 이용 가능

#6. S3 Performance

  • 3,500 PUT/COPY/POST/DELETE (per second, per prefix in a bucket.)
  • 5,500 GET/HEAD (per second, per prefix in a bucket.)
    여기서 prefix란 bucket/folder1/sub1/file --> /folder1/sub1 즉, Bucket과 Object 사이
  • SSE-KMS를 사용하면 S3에서 KMS API를 호출하는 동작으로 인해 제한이 걸릴 수 있음
  • (Write) Multi part upload 혹은 S3 Transfer Acceleration 으로 성능을 높힐 수 있다.
  • (Read) S3 Byte Range Fetches를 통해 성능을 향상 시킬 수 있다.

#7. S3 Select / Glacier Select

  • Server 측에서 Filtering을 하고 싶을 때 사용
  • Low network transfer, less CPU cost client-side

#8. S3 관련 기타 features

  • S3 Event Notifications: SNS, SQS, Lambda 사용 가능
  • S3 Requester pays: Requester가 데이터를 받기 위해 사용하는 네트워크 비용 지불
  • Athena: Serverless, S3로부터 직접적인 쿼리 실행
  • Glacier Vault Lock
  • S3 Object lock: Versioning이 활성화 되어있어야함

--

--

No responses yet