클라우드/AWS

AWS S3

박다큐 2022. 2. 2. 23:54

AWS에서 가장 중요한 빌딩블록 중 하나

특징

1. 저장공간이 무한하다.

2. 많은 웹사이트 들이 아마존 S3를 중추로 사용함

3. 오브젝트를 저장할 수 있게 해주는 서비스

4. 반드시 고유한 이름을 사용해야 한다.

5. S3는 글로벌 서비스, 버킷은 지역 리소스

 

S3

1. 오브텍트를 담을려면 반드시 키를 가져야함. 키 - 파일의 전체 경로

2. 최대 크기는 5TB 까지 가능

3. 단, 한번에 5GB 이상 업로드 할 수 없다.

4. 5GB 이상을 업로드 하고 싶다면 조각으로 나누어야하고 멀티 부분 업로드에다 독립적으로 업로드를 해야 함.

5. 메타데이터를 가질 수 있다.

6. List of text key/value pairs 이며 시스템 또는 유저 metadata일 수 있다. 태그 추가 가능

7. 버전관리

 

S3 - Versioning

1. S3의 파일은 변형 될 수 있다.

2. 방지 : 버킷 수준에서 활성화 시켜야함.

3. 파일 버전을 동일한 키로 업로드하면 덮어씌우지만 덮어쓰지 않고 새로운 버전을 생성함.

- 버전1, 버전2, ... 

4. 모든 파일의 버전을 가질 수 있게 버킷 버전을 지정하는것이 좋다. - 의도치않은 삭제를 방지 및 이전 버전 복구 

5. 버전 관리를 하기 이전에 버전이 정해지지 않은 파일들은 null 버전이 된다.

6. 버전 관리를 일시 중단해도 이전 버전은 삭제되지 않는다.

 

S3 - 암호화

1. SSE S3 - AWS에서 처리 및 관리하는 키를 사용하여 S3 개체를 암호화\

- 데이터를 암호화 하기 위해 사용된 키들이 S3에서 처리되고 관리되는 암호화

- Object는 서버측에서 암호화 함

- SSE = 서버측 암호화 라는 뜻, AES-256 암호화 유형

- SSE S3 암호화를 설정하기 위핸 X-amz~~ 헤더를 설정해야 함

2. SSE-KMS - AWS Key Management Service를 활용하여 암호화 키를 관리

- KMS = 키 관리 서비스

- 누가 어떤키에 접근했는지 알 수 있고 통제 가능함

- 헤더가 X-amz~~ 암호화가 kms가 되도록 설정 해야함

- 오브젝트는 서버사이드 에서 암호화 됨

- 정의된 키와 오브젝트는 암호화를 하게되고 그 파일은 s3 버킷에 저장됨

3. SSE-C - 자체 암호화 키를 관리하려는 경우

- 서버측 암호화를 의미

- AWS 외부에서 고객이 완벽하게 관리하는 데이터 키를 사용하여 서버측 암호화를 수행

- Amazon S3는 사용자가 제공한 암호화 키를 저장하지 않음

- 암호화를 위해 HTTPS를 사용.

- 암호화 키는 모든 HTTP 요청에 대해 HTTP 헤더로 제공되어야함.

- 암호화 키는 클라이언트 측에서 관리하기 때문에 클라이언트 측에서 키 교체와 같은 추가적인 보안 조치를 관리

- 암호화 키가 없어지면 암호화 키를 사용하지 않은 객체에 대한 모든 GET 요청이 실패하고 객체도 잃게됨

4. 고객측면의 암호화
- s3에 오브젝트를 업로드 하기전에 암호화 하는 것

- 서버측 암호화가 아닌 고객측 암호화 이기 때문에 s3에선 어떠한 암호화도 수행하지 않음

- 업로드 되기 전에 암호화를 하고 업로드를 진행함

 

암호화 전송
Amazon S3는 다음을 노출합니다.
- HTTP 끝점: 암호화되지 않았습니다.
- HTTPS 끝점: 암호화 실행 중입니다.
- 원하는 엔드포인트를 자유롭게 사용할 수 있지만 HTTPS를 사용하는 것이 좋습니다.
- 대부분의 클라이언트는 기본적으로 HTTPS 끝점을 사용합니다.
- SSE-C의 경우 HTTPS는 필수 사항입니다.
- 전송 중인 암호화를 SSL/TLS라고도 합니다.

 

S3 보안 및 버킷 정책

- 유저가 IAM 정책을 통해 S3 버킷에 접근할 권한을 부여받아야 접근 가능

'클라우드 > AWS' 카테고리의 다른 글

AWS EC2 생성 및 mremoteNG SSH 접속  (0) 2022.08.06
CDN - CloudFront, GlobalAccerator  (0) 2022.02.08
Route53 정책  (0) 2022.02.02
AWS - VPC CloudFormation 생성 방법  (0) 2021.10.20
AWS - IGW 와 NAT  (0) 2021.10.20