jaymin_e.log
로그인
jaymin_e.log
로그인
[AWS SAA-C03] Amazon S3 소개
이재민
·
2024년 6월 3일
팔로우
0
0
AWS SAA-C03
목록 보기
10/22
S3
S3는 파일을 버킷에 저장한다.
버킷은 상위 레벨 디렉토리로 표시된다. 사실 S3 그 자체는 디렉토리의 개념은 없다.
S3 버킷의 파일은 객체라고 하며, 이 버킷은 계정 안에 생성된다. 즉 객체란 S3 저장소에 저장되는 데이터를 의미한다.
버킷 이름은 계정에 있는 모든 리전과 AWS에 존재하는 모든 계정에서 유니크해야 한다.
버킷은 리전 수준에서 정의되므로, 반드시 특정 AWS 리전에서 정의되어야 한다.
객체나 파일에는 키가 있으며, 키는 Amazon S3 키는 파일의 전체 경로다.
키는 접두사와 객체 이름으로 구성되며, 키는 길이가 굉장히 긴 이름으로 슬래시를 포함하며, 키는 접두사와 객체 이름으로 만들어진다.
파일 등 원하는 것은 뭐든지 업로드 가능하며, 최대 객체 크기는 5TB이다.
업로드하는 것이 5TB 보다 크다면 이때는 멀티 파트 업로드를 사용해서 해당 파일을 여러 부분으로 나눠 업로드한다.
보통 100MB가 넘는 경우에는 멀티파트 업로드를 권장한다.
객체에는 메타 데이터가 있는데, 객체의 키-값 쌍 리스트를 말한다.
메타데이터 시스템이나 사용자에 의해 설정되어 파일에 관한 요소나 메타데이터를 나타낼 수 있다.
태그는 가령 유니코드 키-값 쌍은 최대 10개까지 가능하며, 태그는 보안과 수명 주기에 유용하다.
S3 사용 용도
백업과 스토리지
재해 복구 용도
아카이브
하이브리드 클라우드 스토리지
애플리케이션 호스팅, 미디어 호스팅
데이터 레이크, 빅데이터 분석
정적 웹사이트 호스팅
S3 보안
사용자 기반
사용자에게 IAM 정책이 주어진다.
참고로 IAM 정책 내의 DENY은 S3 버킷 정책보다 우선적으로 고려된다.
리소스 기반
S3 버킷 정책
이 정책은 S3 콘솔에서 직접 할당할 수 있는 전체 버킷 규칙이다.
특정 사용자가 들어올 수 있게 하거나 다른 계정의 사용자를 허용할 수 있다.
이를 S3 버킷에 액세스할 수 있는 교차 계정이라고 한다.
객체 액세스 제어 목록(ACL)
이 목록은 보다 세밀한 보안이며 비활성화할 수 있다.
버킷 액세스 제어 목록
버킷이 퍼블릭으로 오픈되어있어도 해당 설정이 안되어있으면 버킷은 공개되지 않는다.
버킷 수준에서 살펴보면 버킷 ACL이 있는데 훨씬 덜 일반적. 비활성화가 가능하다.
암호 키를 사용한 객체 암호화
S3 버전 관리
Amazon S3에서는 파일을 버전 관리할 수 있다.
해당 설정은 버킷에서 허용을 해야 한다.
사용자가 파일을 업로드할 때마다 선택 키에서 해당 파일의 버전이 생성된다.
동일한 키를 업로드하고 해당 파일을 덮어쓰는 경우 버전 2, 버전 3 등을 생성하게 된다.
버킷을 버전 관리하는 것이 좋다. 이 방법은 의도하지 않게 삭제하지 않도록 보호해주기 때문이다.
이전 버전으로 복구 가능하다. 버전을 제거하면 삭제 마커가 붙게 되는데, 삭제 마커를 제거하면 이전 버전으로 복구 가능하다.
버전 관리를 활성화하기 전에 버전 관리가 적용되지 않은 모든 파일은 널(null) 버전을 갖게 된다.
버전 관리를 중단해도 이전 버전을 삭제하지 않는다.
S3 복제
교차 리전 복제 CPR: 두 리전이 다를 때 사용한다.
같은 리전 복제 SRR: 두 리전이 같을 때 사용한다.
버킷은 서로 다른 AWS 계정간에도 사용할 수 있다. 복제는 비동기식으로 이루어진다. 복제 과정은 백그라운드에서 이루어진다.
복제 기능이 정상적으로 실행되려면, S3에 올바른 IAM 권한, 즉 읽기, 쓰기 권한을 S3에 부여해야 한다.
복제를 활성화한 후에는 보셨다시피 새로운 객체만 복제 대상이 된다.
기존의 객체를 복제하려면 S3 배치 복제 기능을 사용해야 한다.
기존 객체부터 복제에 실패한 객체까지 복제할 수 있는 기능이다.
체이닝 복제는 불가능하다.
ex) A Bucket -> B Bucket 복제 설정, B Bucket -> C Bucket 복제 설정을 했을때, A Bucket의 내용이 C Bucket 내용으로 복제되지 않는다.
스토리지 클래스
S3 standard - General Purpose
제일 기본 클래스
99.99% 가용성
자주 액세스하는 데이터에 사용한다.
지연 시간이 짧고 처리량이 높다.
AWS에서 두 개의 기능 장애를 동시에 버틸 수 있다.
사용 사례는 빅데이터 분삭, 모바일, 게임 애플리케이션, 그리고 콘텐츠 배포다.
S3 standard-Infrequent Access (IA)
자주 액세스하지는 않지만 필요한 경우 빠르게 액세스해야하는 데이터에서 사용한다.
99.9% 가용성
스탠다드보다는 비용이 적게 들지만 검색 비용이 발생한다.
재해 복구와 백업에서 많이 사용한다.
S3 One Zone-Infrequent Access
단일 AZ 내에서는 높은 내구성을 갖지만 AZ가 파괴된 경우 데이터를 잃는다.
가용성은 99.5%
온프레미스 데이터를 2차 백업하거나 재생성 가능한 데이터를 저장하는데 사용하는 경우가 있다.
s3 Glacier Instant Retrieval
밀리초 단위로 검색이 가능하다.
분기에 한 번 액세스하는 데이터에 아주 적합하다.
최소 보관기간이 90일. 백업이지만 밀리초 이내에 액세스해야하는 경우 적합하다.
s3 Glacier Flexible Retrieval
Flexible는 데이터를 검색하는 데 최대 12시간까지 기다려야 한다는 의미다.
3가지 옵션이 있다. 최소 보관 기간은 역시 90일
Expedited: 데이터를
1 ~ 5분
이내에 받을 수 있다.
Standard: 데이터를 돌려 받는데
3 ~ 5시간
이 걸린다.
Bulk: 무료지만
5 ~ 12시간
이 소요된다.
s3 Glacier Deep Archive
장기 보관을 위한 스토리지 클래스. 두 가지 검색 티어가 있다.
Standard: 12시간
Bulk: 48시간
최소 보관기간도 180일, 오래 걸리지만 가장 저렴하다.
글래시어 스토리지 클래스는 아카이빙과 백업을 위한 저비용 객체 스토리지다.
비용은 스토리지 비용과 검색 비용이 들어간다.
S3 Intelligent Tiering
사용 패턴에 따라 액세스된 티어 간에 객체를 이동할 수 있게 해준다.
소액의 월별 모니터링 비용과 티어링 비용이 발생하지만 검색 비용이 없다.
FrequentAccess 티어는 자동이고 기본 티어다.
Infrequent Access 티어는 30일 동안 액세스하지 않는 객체 전용 티어
Archive Instant Access 티어도 자동이지만 90일 동안 액세스하지 않는 티어 전용
Archive Access 티어는 선택 사항이며 90일에서 700일 이상까지 구성할 수 있고
선택 사항인 Deep Archive Access 티어는 180일에서 700일 이상 액세스하지 않는 객체에 구성할 수 있다.
S3 Intelligent Tiering은 알아서 객체를 이동시켜 주기 때문에 편하게 스토리지를 관리할 수 있다.
이재민
문제 해결과 개선 과제를 수행하며 성장을 추구하는 것을 좋아합니다.
팔로우
이전 포스트
[AWS SAA-C03] Route 53
다음 포스트
[AWS SAA-C03] CloudFront & Global Accelerator
0개의 댓글
댓글 작성