[코드잇 풀스택 1기] - AWS S3

2024. 11. 16. 16:10취업 준비 !

AWS S3 

S3 (Simple Storage Service)는 확장 가능하고, 안전하며, 내구성이 뛰어난 객체 스토리지 서비스 입니다.

S3버킷은 데이터를 저장하는 논리적 컨테이너로, 파일 업로드, 관리 및 다운로드 할 수 있습니다.

S3는 데이터 백업, 정적 웹 호스팅, 빅데이터 분석, 머신 러닝 등 다양한 용도로 사용됩니다.

 

사용 사례

1. 백업 및 아카이브 저장소

⭐ 데이터 손시렝 대비해 데이터를 안전하게 백업하고, 장기 보관영 아카이브로 사용합니다.

⭐ S3는 중요한 데이터를 안전하게 저장할 수 있습니다.

 

2. 정적 웹사이트 호스팅

⭐ S3 버킷을 사용해 정적 웹사이트를 호스팅할 수 있습니다.

⭐ Amazon CloudFront와 통합해 전 세계적으로 빠른 콘텐츠 제공이 가능합니다.

⭐ 비용이 효율적이고, 서버를 관리할 필요가 없기 때문에 간편합니다.

 

3. 빅데이터 분석 및 데이터 레이크

⭐ 대용량 비정형 데이터를 저장하고, 데이터 분석 도구와 연동해 데이터 분석에 활요할 수 있습니다.

⭐ S3는 높은 확장성을 제공하므로, 데이터 레이크로서 데이터 집합을 저장하고 관리하는 데 적합합니다.

 

4. 미디어 파일 저장 및 스트리밍

⭐ 이미지, 동영상, 오디오 파일 등 대용량 미디어 파일을 저장하고, 필요 시 스트리밍 서비스를 제공합니다.

⭐ S3와 Elastic Transcoder 또는 MediaConvert를 결합하여 다양한 형식으로 미디어 파일을 변환할 수 있습니다.

 

5. 애플리케이션 로그 저장

⭐ 서버, 애플리케이션, 네트워크 장치에서 생성된 로그 파일을 중앙에서 수집 및 보관합니다.

⭐ AWS CloudWatch Logs 및 Athena와 통합해 로그 데이터를 분석할 수 있습니다.

 

6.  머신 러닝 및 AI 모델 학습

⭐ S3 버킷을 사용해 대용량 데이터 세트를 저장하고, 이를 기반으로 머신 러닝 모델을 학습할 수 있습니다.

⭐ SageMaker와 연동해 모델 훈련, 검증 및 배포에 활요합니다.

 

사용하면서 주의할 점은 어떤게 있을까 ??

1. 보안 설정

⭐ 퍼블릭 접근 제어 : 버킷은 기본적으로 비공개지만, 잘못된 설정으로 인해 퍼블릭 접근이 허용될 수 있습니다.

⭐ IAM 정책 : 최소 권한 원칙을 따르며, 필요한 사용자와 애플리케이션에만 접근 권한을 부여합니다.

⭐ 버킷 암호화 : 민감한 데이터는 서버 측 암호화 또는 고객 관리 키를 사용하여 저장 시 암호화합니다.

 

2. 데이터 손실 방지

⭐ 버전 관리 : 버킷 버전 관리는 활성화하면 파일이 삭제되거나 덮어쓰기 될 때 이전 버전으로 복원할 수 있습니다.

⭐ 객체 잠금 : 중요한 데이터가 실수로 삭제되지 않도록 객체 잠금을 활성화 할 수 있습니다.

⭐ 백업 및 복제 : 다른 리전으로 데이터를 복제하여 재해복구를 위해 이중화 구성을 할 수 있습니다.

 

3. 비용 관리

⭐ 저장 용량, 요청 수, 데이터 전송에 따라 비용이 청구 됩니다.

- 불필요한 파일은 주기적으로 정리하고, Lifecycle Policy를 활용해 저렴한 스토리지 클래스로 이동합니다.

⭐ 스토리지 클래스 : 데이터 접근 빈도에 따라 적절한 스토리지 클래스를 선택 한다.

 

4. 데이터 접근 최적화

⭐ CloudFront와 연동해 전 세계적으로 빠르게 콘텐츠를 제공하고, 대역폭을 절약할 수 있습니다.

대량의 데이터를 업로드할 때는 멀티파트 업로드를 사용해 성능을 최적화 합니다.

 

5. 규제 준수 및 컴플라이언스

⭐ AWS S3는 GDPR, HIPAA, SOC 등 다양한 컴플라이언스 표준을 지원합니다.

⭐ 데이터 접근 로그를 남기기 위해 S3 Access Logs, AWS CloudTrail을 활성화 합니다.