1) S3 (Simple Storage Service)의 개념
매우 안전하고 가변적인 객체 저장공간을 제공하며 가변적인 특징이 있어서 스토리지 공간이 무제한이라고 보면 된다.
단, 사용한 만큼 비용을 지불해야한다.
AWS 자체에서 보안을 매우 신경쓰기 때문에 사용자는 보안에 크게 신경 쓸 필요가 없다.
그리고 객체로 저장 공간을 제공하기 때문에 사진이나 동영상같은 다양한 파일을 업로드 할수 있다.
단, 운영체제같은 시스템파일도 업로드는 가능하나 부팅 용도로 사용할수 없으며 계속 업데이트중이다.
2) S3 (Simple Storage Service)의 특징
1) 객체 스토리지 서비스
2) 무제한 용량
3) 관리는 버킷이라는 단위로 구분
버킷:S3의 매우 중요한 개념으로 최상위 폴더라고 생각하면 된다.
즉, 많은 파일을 관리하기 위해서 폴더를 만든다 그래서 최상위 폴더가 있고 그안에 하위 폴더들이나 여러 파일들이 있다. 이때 최상위 폴더를 버킷이라고 하면 된다 그리고 폴더 이름을 주듯이 버킷 이름을 줄 수 있는데 이름은 지역과 무관하며 고유해야 한다 그리고 웹 호스팅할때 도메인과 버켓의 이름이 동일해야 한다
4) 버전 관리가 가능(똑같은 파일을 업로드 하되 다른 내용이 있다면 버전 2로 업로드 할수 있다 혹은 값이 동일해도 다른 버전으로 올릴수 있다 즉 버전을 사용하면 이전 객체를 복원할수 있다 이때 메타 데이터(데이터의 데이터)가 정보를 가지고 있고 객체에 변화가 생기면 메타데이터도 자동으로 변경이 된다
5) 정적 웹사이트 호스팅 서비스 제공이 된다 (S3 를 정적 웹사이트 호스팅하게끔 설정 가능 어차피 Bucket 내 모든 Object 가 웹기반 인터페이스로 제공되기 때문 동적 웹사이트를 위한 스크립팅은 지원하지 않음)
6) 99.99999999999 내구성을 가진다
7) 여러 티어로 구성이 되어 있다
8)암호화 가능 (업로드/다운로드할때 AWS가 알아서 함,S3를 사용할지 않을때 지정해서 사용가능) =>기본적으로 S3는 암호화를 이용해서 객체를 보호한다
9) 암호화 유형
-SSE-S3 : 디폴트로 AWS에서 관리하며 버킷에 저장되어 있는 모든 객체는 고유한 키를 가지고 있다 SSE-S3는 마스터 키를 가지고 있다
-SSE-KMS : AWS에서 관리가 되며 객체를 버킷에 업로드하거나 복제할때 그리고 버킷에 있는 객체를 암호화 할수도 있다 SSE-KMS는 객체에 대한 상세한 정보(누가,언제,어떻게 접근등)를 제공한다는 장점이 있다 그래서 데이터 감시나 디버깅 프로세스를 사용할때 좋다
10) 접근 보안 설정이 가능(버킷 정책(하나의 버킷에 모두 적용)과 접근 제어 리스트(객체나 디렉토리별로(파일) 권한을 적용할수 있다) 사용)=>버킷을 생성하면 기본적으로 생성한 사용자만 접근 권한을 가지고 있다 즉 외부에서는 접근을 할수가 없다 그래서 특정 그룹이나 사용자에게 권한을 허용해줘야 한다
11) 다른 사용자/계정과 공유가 가능
12) 다른 리전으로 복제가 가능 (Cross Region Relpication)
=> 버저닝이 활성화 되어 있어야 함(원본,대상 모두 활성화되어 있어야 함)
동일한 리전으로는 불가능
복제 기능 활성화 전의 데이터는 복제되지 않음
버전 삭제 혹은 파일 삭제는 복제되지 않음
13) MFA 기능 사용가능(삭제 방지 기능)
14) 업로드와 업데이트/삭제의 데이터 일관성 모델이 다르다
15) 수명 주기를 줄 수 있다
3) 일관성 모델의 개념과 종류
1) 일관성 모델의 개념
S3버킷에 오브젝트를 업로드 하거나 변경할 때 아주 짧은 시간의 지연이 발생하는 현상을 일관성 모델이라고 한다
2) 일관성 모델의 종류
-쓰기 후 읽기(Read-after-Write) 일관성 모델
버킷에 오브젝트를 업로드 할때 PUT(새로 생성) API 를 사용해서 업데이트한다 그리고 파일을 업로드하고 성공하면 지연없이 바로 읽기가 가능 즉 사용이 가능하다 그래서 강한 일관성 모델이다라고도 한다
참고적으로 먼저 PUT한 요청이 우선권을 가진다(두 번의 PUT 요청이 같은 Key 에 실행될 경우, 최신 요청이 우선 적용)
-최종 일관성 모델
UPDATE,DELETE를 이용해서 파일을 업데이트하거나 삭제를 한후에 일정 시간이 지난후에 결과가 반영된다 이유는 버킷에 들어있는 객체는 한 지역의 여러 노드로 연결이 되어 있고 객체에 변화가 생기면 모든 노드에 적용이 되어야 한다 근데 이 변화가 한번에 모든 노드에서 일어나지 않고 약간의 딜레이가 생긴다 그래서 사용자가 객체에 접근할때 아직 적용되지 않은 노드에서 데이트를 읽을때 변화전의 결과를 얻을수가 있다
'솔데스크 아마존 AWS 클라우드 > AWS 클라우드' 카테고리의 다른 글
AWS 클라우드 S3 버킷 만들기 (0) | 2023.12.22 |
---|---|
AWS 클라우드 S3 스토리지 클래스 (0) | 2023.12.22 |
AWS 클라우드 스토리지 (0) | 2023.12.22 |
AWS 클라우드 EC2 인스턴스에 httpd 설치하기 (0) | 2023.12.22 |
AWS 클라우드 EC2 인스턴스와 Putty 연동하기 (0) | 2023.12.21 |